Documentation
¶
Overview ¶
sdrplay è un package che permette di usare la RSP, la SDR di SDRplay, in un programma Go. Il package maschera però l'API originale, comunque usata attraverso cgo, ma cerca di esporne una più immediata.
Index ¶
- Variables
- func AGCCallback(grdB C.uint, lnagrdB C.uint, cbContext unsafe.Pointer)
- func StreamCallback(xi *C.short, xq *C.short, firstSampleNum C.uint, grChanged C.int, ...)
- type AGCmode
- type Amplifier
- type B
- type Connector
- type Decimation
- type IFmode
- type LOfrequency
- type OffsetMode
- type Option
- func AGC(mode AGCmode, dBFS int) Option
- func Bandwidth(bw B) Option
- func DCmode(mode OffsetMode) Option
- func DCoffset(enabled bool) Option
- func DCtrackTime(trackTime int) Option
- func Debug(enabled bool) Option
- func Decimate(enabled bool, factor Decimation) Option
- func FS(hz float64) Option
- func IF(ifreq IFmode) Option
- func IQimbalance(enabled bool) Option
- func InitialGR(dB int) Option
- func InitialRF(frequency float64) Option
- func LNA(enabled bool) Option
- func LOmode(loMode LOfrequency) Option
- func LOppm(ppm float64) Option
- type Receiver
- type Tuner
Constants ¶
This section is empty.
Variables ¶
var ( // DeactivatedReceiverError indica che il ricevitore, sul quale è stata // invocata l'operazione che ha prodotto tale errore, è stato disattivato a // causa della creazione di un nuovo ricevitore operata dalla funzione RSP. DeactivatedReceiverError = errors.New("Deactivated Receiver Error") // UnpluggedConnectorError indica che non è stato fornito un connettore alla // funzione RSP. UnpluggedConnectorError = errors.New("Unplugged Connector Error") )
Functions ¶
Types ¶
type AGCmode ¶
type AGCmode int
AGCmode specifica il modo di controllo del AGC.
func (AGCmode) C ¶
func (agc AGCmode) C() C.mir_sdr_AgcControlT
C traduce il valore di agc nel formato compreso dall'API SDRplay.
type Amplifier ¶
type Amplifier interface { // Gain permette di impostare un valore di guadagno. In particolare, da // quanto descritto in http://www.sdrplay.com/docs/SDRplay_AGC_technote_r2p2.pdf, // l'API RSP permette di impostare dei valori di gain reduction rispetto // al valore massimo di guadagno possibile nella RSP. Gain(reduction int) error }
Amplifier è l'interfaccia che rappresenta un amplificatore.
type B ¶
type B int
B enumera tutte le larghezze di banda ammesse.
const ( // BW200 indica una larghezza di banda pari a 200kHz. BW200 B = 200 // BW300 indica una larghezza di banda pari a 300kHz. BW300 B = 300 // BW600 indica una larghezza di banda pari a 600kHz. BW600 B = 600 // BW1536 indica una larghezza di bada pari a 1536kHz. BW1536 B = 1536 // BW5000 indica una larghezza di banda pari a 5MHz. BW5000 B = 5000 // BW6000 indica una larghezza di banda pari a 6MHz. BW6000 B = 6000 // BW7000 indica una larghezza di banda pari a 7MHz. BW7000 B = 7000 // BW8000 indica una larghezza di banda pari a 8MHz. BW8000 B = 8000 )
func (B) C ¶
func (bw B) C() C.mir_sdr_Bw_MHzT
C traduce il valore di bw nel formato compreso dall'API SDRplay.
type Connector ¶
type Connector interface { // Propagate permette alla sorgente di un segnale, di cui Connector è il // connettore verso i possibili utilizzatori, di propagare il segnale // stesso. In particolare il segnale propagato è la rappresentazione in // banda base del segnale ricevuto dalla RSP. Tale segnale ha le due // componenti in fase (I) e in quadratura (Q) tipiche di tale // rappresentazione. Queste due componenti sono di tipo []int16 perchè // quanto propagato è un frame di campioni castati al tipo Go più vicino // allo short del C generato dalla RSP. Propagate(I []int16, Q []int16) }
Connector è l'interfaccia che descrive un connettore, ossia il mezzo attraverso il quale si possono propagare i segnali prodotti dalla relativa sorgente.
type Decimation ¶
type Decimation int
Decimation enumera il fattore di decimazione.
const ( // Factor0 indica nessuna decimazione. Factor0 Decimation = 0 // Factor2 indica un fattore di decimazione pari a 2. Factor2 Decimation = 1 << (iota + 1) // Factor4 indica un fattore di decimazione pari a 4. Factor4 // Factor8 indica un fattore di decimazione pari a 8. Factor8 // Factor16 indica un fattore di decimazione pari a 16. Factor16 // Factor32 indica un fattore di decimazione pari a 32. Factor32 // Factor64 indica un fattore di decimazione pari a 64. Factor64 )
func (Decimation) C ¶
func (df Decimation) C() C.uint
C traduce il valore di df nel formato compreso dall'API SDRplay.
type IFmode ¶
type IFmode int
IFmode enumera tutti i valori ammessi di frequenza intermedia.
func (IFmode) C ¶
func (ifm IFmode) C() C.mir_sdr_If_kHzT
C traduce il valore di ifm nel formato compreso dall'API SDRplay.
type LOfrequency ¶
type LOfrequency int
LOfrequency specifica la frequenza dell'OL (oscillatore locale) del up-converter usato quando si sintonizzano frequenze inferiori ai 60MHz oppure per quelle comprese tra 250 e 420 MHz.
const ( // LOundefined è il valore di default che indica che nessuna impostazione è // stata eseguita. LOundefined LOfrequency = iota // LOauto seleziona automaticamente la frequenza del OL fornendo un'appropriata // copertura in tutta la gamma di frequenze RF. LOauto // LO120MHz imposta la frequenza del OL a 120MHz ottenendo la copertura per // il range di frequenze 370-420MHz. LO120MHz // LO144MHz imposta la frequenza del OL a 144MHz ottenendo la copertura per // il range di frequenze 250-255MHz e 400-420MHz. LO144MHz // LO168MHz imposta la frequenza del OL a 168MHz ottenendo la copertura per // il range di frequenze 250-265MHz. LO168MHz )
func (LOfrequency) C ¶
func (olf LOfrequency) C() C.mir_sdr_LoModeT
C traduce il valore di olf nel formato compreso dall'API SDRplay.
type OffsetMode ¶
type OffsetMode int
OffsetMode descrive il metodo di correzione dell'offset DC.
const ( // None è il valore di default che indica che nessuna impostazione è stata // eseguita. Essendo tale valore pari a 0, quelli a seguire sono aumentati // di una unità rispetto ai valori presenti nella API SDRplay. Usando la // funzione mir_sdr_SetDcMode al parametro OffsetMode, se diverso da 0, // dovrà essere sottratto 1: questo è automaticamente fatto dal metodo C. None OffsetMode = iota // Static non esegue nessuna correzione dell'offset DC. Static // Periodic6ms applica la correzione periodicamente ogni 6ms Periodic6ms // Periodic12ms applica la correzione periodicamente ogni 12ms Periodic12ms // Periodic24ms applica la correzione periodicamente ogni 24ms Periodic24ms // OneShot applica la correzione ogni volta che viene aggiornato il guadagno OneShot // Continuous applica continuamente la correzione. Continuous )
func (OffsetMode) C ¶
func (om OffsetMode) C() C.int
C traduce il valore di om nel formato compreso dall'API SDRplay.
type Option ¶
type Option struct {
// contains filtered or unexported fields
}
Option rappresenta un'opzione di configurazione di RSP.
func AGC ¶
AGC permette di abilitare o meno il controllo automatico del guadagne e di impostare il valore desiderato dell'intensità del segnale RF espresso in dBFS. (dBFS è un valore di misura di potenza di un segnale relativo al fondo scala, quindi il valore massimo è pari a 0dBFS. Quindi il parametro passato alla funzione deve essere minore, o al più uguale, a 0).
func DCmode ¶
func DCmode(mode OffsetMode) Option
DCmode imposta il metodo di correzione dell'offset DC del ricevitore.
func DCtrackTime ¶
DCtrakTime imposta il periodo di tempo nel quale viene monitorato il DC offset quando il DC mode è impostato a OneShot. Valori ammessi nell'intervallo 1-63 i quali corrispondono ad una durata di monitoraggio di 3*trackTime us. Il valore trackTime passato viene riportato all'intervallo ammesso nel seguente modo:
DCtrackTime = 1 se trackTime < 1 DCtrackTime = 63 se trackTime > 63
func Decimate ¶
func Decimate(enabled bool, factor Decimation) Option
Decimate permette di abilitare o meno la decimazione e specifica il fattore di decimazione.
func IQimbalance ¶
IQimbalance permette di abilitare o meno la correzione del IQ imbalance.
func InitialRF ¶
InitialRF imposta il valore iniziale della frequenza sintonizzata. Il valore frequency viene considerato espresso in MHz.
func LOmode ¶
func LOmode(loMode LOfrequency) Option
LOmode imposta la frequenza del up-converter, oppure indica all'API di determinare il valore più appropriato della frequenza del OL.
type Receiver ¶
Receiver è l'interfaccia che descrive un semplice ricevitore radio.
func RSP ¶
RSP permette di ottenere un ricevitore con le caratteristiche desiderate (opts) fornendo la rappresentazione in banda base del segnale desiderato al Connector fornito. Ad ogni invocazione, se presente, il precedente receiver verrà disattivato ed ogni suo metodo fornirà l'errore DeactivatedReceiverError. Il baseband connector deve essere non nil altrimenti viene restituito l'errore UnpluggedConnectorError. Le opzioni opts sono facoltative, se non presenti verrà usata una configurazione di default.
type Tuner ¶
type Tuner interface { // Tune permette di sintonizzare una desiderata frequenza. In particolare // imposta come frequenza centrale del sintonizzatore interno alla RSP il // valore frequency espresso in Hz. Tune(frequency float64) error }
Tuner è l'interfaccia che descrive un sintonizzatore radio.