New satnogs-flowgraphs parameters
The improved gr-soapy exposes a lot of new stuff to parameterize the device and the activated channel. In addition, now is possible to set the device specific gains. I have updated satnogs-flowgraphs accordingly to support these new features.
So before describing the new fields, let see a typical output of the SoapySDRUtil probing a device, in this case the LimeSDR-mini.
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=FT601
hardware=LimeSDR-Mini
boardSerialNumber=0x1d42574f558c9f
firmwareVersion=5
gatewareVersion=1.24
hardwareVersion=64
protocolVersion=1
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 1 Tx
Timestamps: YES
Sensors: clock_locked, lms7_temp
Registers: BBIC
Other Settings:
* SAVE_CONFIG - Save LMS settings to file
[key=SAVE_CONFIG, type=string]
* LOAD_CONFIG - Load LMS settings from file
[key=LOAD_CONFIG, type=string]
* OVERSAMPLING - oversampling ratio (0 - auto)
[key=OVERSAMPLING, type=int, options=(0, 1, 2, 4, 8, 16, 32)]
GPIOs: MAIN
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: YES
Supports AGC: NO
Stream formats: CF32, CS12, CS16
Native format: CS16 [full-scale=32767]
Stream args:
* Buffer Length - The buffer transfer size over the link.
[key=bufferLength, units=samples, default=0, type=int]
* Link Format - The format of the samples over the link.
[key=linkFormat, default=CS16, type=string, options=(CS16, CS12)]
* Skip Calibration - Skip automatic activation calibration.
[key=skipCal, default=false, type=bool]
* align phase - Attempt to align phase of Rx channels.
[key=alignPhase, default=false, type=bool]
Antennas: NONE, LNAH, LNAL_NC, LNAW, Auto
Corrections: DC removal, DC offset, IQ balance
Full gain range: [-12, 61] dB
TIA gain range: [0, 12] dB
LNA gain range: [0, 30] dB
PGA gain range: [-12, 19] dB
Full freq range: [0, 3800] MHz
RF freq range: [30, 3800] MHz
BB freq range: [-7.68, 7.68] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-7.68e+06, 7.68e+06]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-7.68e+06, 7.68e+06], options=(DEFAULT, IGNORE)]
Sample rates: [0.1, 65] MSps
Filter bandwidths: [1.4001, 130] MHz
Sensors: lo_locked
Other Settings:
* TSP_CONST - Digital DC test signal level in LMS7002M TSP chain.
[key=TSP_CONST, default=16383, type=int, range=[0, 32767]]
* CALIBRATE - DC/IQ calibration bandwidth
[key=CALIBRATE, type=float, range=[2.5e+06, 1.2e+08]]
* ENABLE_GFIR_LPF - LPF bandwidth (must be set after sample rate)
[key=ENABLE_GFIR_LPF, type=float]
* TSG_NCO - Enable NCO test signal
[key=TSG_NCO, default=4, type=int, options=(-1, 4, 8)]
-
As you can see, there are the device specific settings section. Eg
SAVE_CONFIG,LOAD_CONFIG. These parameters should be set in the--dev-argsfield. In addition, this field also supports theserialkeyword for specifying a specific device, in setups with multiple SDR devices of the same type. There was a discussion in #373 (closed) about depreciation of theSATNOGS_DEV_ARGSwhich sets this parameter. Please do not remove it! -
The
--stream-argseg.bufferLength=xx, SkipCal=xxxspecifies the stream arguments of the enabled channels. From the output ofSoapySDRUtilit may seems that these arguments can be applied for every channel. Unfortunately, the API does not support per stream arguments, so this field applies the stream arguments to all enabled streams. -
The
--gain-modespecified which gain mode will be used. For gr-soapy 3 different mode are supported.'Overall','Specific','Settings Field'.
For the usage in SatNOGS we care only for 'Overall' or 'Settings Field'. If the 'Overall' is set, the --gain value is taken into account. If 'Settings Field', the user can specify device specific gains in the --other_settings.
-
--tune-argssets the tuning arguments for a specific channel. EgOFFSET=xxxx. -
--other-settingsspecifies channel specific settings. EgENABLE_GFIR_LPF=xxx. If--gain-modeis set to'Settings field'it also accepts device specific gain settings. For exampleENABLE_GFIR_LPF=xxx,TIA=xxx,LNA=xxx,PGA=xxx.
