SmartSDR Status Responses - flexradio/smartsdr-api-docs GitHub Wiki
Slice receiver responses always start with the standard status header and are followed by the word 'slice' and the slice number that corresponds to the update. Each status line will only contain updates for a single slice. Here is the format for a slice update:
S<client>|slice <slice_rx> <field_value_pair> ...
<client> = the hexadecimal client that precipitated the change to the value
<slice_rx> = the slice receiver being updated
<field_value_pair> = a field name and its new value, may occur one or more times
Not all field-value-pairs are required in an update and in many situations only one field will be provided. For example, when tuning only the frequency is likely to be emitted. The field-value-pairs are available in this list:
Field Name | Value Type | Example | Field Description |
---|---|---|---|
in_use | 0 or 1 | in_use=0 | A boolean (0=False) indicating if the slice receiver is in use. If no clients are using the slice, this value will be false |
RF_frequency | double | RF_frequency=14.2012 | The current carrier frequency of the slice receiver in MHz |
antenna_id | unsigned int | antenna_id=1 | The current antenna in use by the slice receiver. A list of antenna ports vs. the numbers provided here is available ***here*** |
mode | string | mode=USB | The demodulation mode for the slice receiver. |
wide | 0 or 1 | wide=1 | Indicates if the underlying SCU is in wideband mode (no preselectors, wide=1) or narrowband mode (preselectors on, wide=0) |
filter_lo | double | filter_lo=0.0003 | Lower frequency of final filter in the demodulator in MHz (in this example 300Hz) |
filter_hi | double | filter_hi=0.0024 | Upper frequency of final filter in the demodulator in MHz (in this example 2.4kHz) |
Example slice status response:
SA4E3D1C9|slice 2 in_use=1 RF_frequency=1.44 antenna_id=5 mode=USB wide=1 filter_lo=0.0003 filter_hi=0.0024
Mode Name | Mode Description |
---|---|
USB | Upper Sideband |
LSB | Lower Sideband |
CW | CW (sideband) |
AM | Amplitude Modulation |
Panadapter responses always start with the standard status header and are followed by the words 'display pan' and the output stream that corresponds to the panadapter. This stream identification number is provided on creation of the panadapter and is the unique handle for manipulating and receiving status on the panadapter. Each status line will only contain updates for a single panadapter. Here is the format for a panadapter update:
S<client>|display pan <stream_id> <field_value_pair> ...
<client> = the hexadecimal client that precipitated the change to the value
<stream_id> = the 32-bit hexadecimal stream ID for the panadapter, such as 0x11223344
<field_value_pair> = a field name and its new value, may occur one or more times
Not all field-value-pairs are required in an update and in many situations only one field will be provided. The field-value-pairs are available in this list:
Field Name | Value Type | Example | Field Description |
---|---|---|---|
center | double | center=14.2051 | A double precision frequency that is the center of the panadapter in MHz |
bandwidth | double | bandwidth=0.200 | The bandwidth to be displayed in MHz |
x-pixels | unsigned int | x-pixels=500 | Width of the panadapter display in pixels |
y-pixels | unsigned int | y-pixels=200 | Height of the panadapter display in pixels |
fps | unsigned int | fps=20 | Frame rate in frames per second |
Example slice status response:
SA4E3D1C9|display pan 0x40000000 center=1.3 bandwidth=0.384 x_pixels=300 y_pixels=200 fps=20
The FLEX-6000 uses an interlock model that prevents the transmitter from keying unless interlock conditions are met. The status of the interlock and the transmitter are sent to the client to assist in displaying the status and helping the operator troubleshoot the interlock status. Here is the format for a interlock update:
S0|interlock state=<state> [reason=<reason>] [source=<source>] [timeout=<timeout_ms>]
[acc_txreq_enable=<T|F>] [rca_txreq_enable=<T|F>] [acc_txreq_polarity=<T|F>] [rca_txreq_polarity=<T|F>]
<state> = the current interlock state. Always shown
<reason> = if the radio is unable to transmit, a reason why it cannot. Only shown when there is an interlock problem
<source> = if the radio is transmitting, the source of the PTT. Only shown when the radio is transmitting
<T|F> = 'T' for TRUE or 'F' for FALSE when used with enables. For TXREQ line polarity, 'T' indicates that it is OK to transmit when this line is +V and 'F' when 0 V.
Interlock State | Meaning |
---|---|
RECEIVE | The radio is either receive only or no slice has been designated as the transmitter |
READY | The radio is ready to transmit |
NOT_READY | The radio has an assigned transmitter, but cannot transmit because of an interlock problem |
PTT_REQUESTED | PTT has been pressed and the radio has engaged the transmitter, but waiting on hardware interlocks before sending RF |
TRANSMITTING | The radio transmitter is engaged |
TX_FAULT | An interlock condition occurred during transmit and the transmitter has been shut off |
TIMEOUT | The transmitter was running, but stopped because the timeout timer was exceeded |
STUCK_INPUT | An input is stuck in the "on" position and the transmitter has been disabled |
See the Interlock State Transition Diagram for details on state transitions
PTT Source | Meaning |
---|---|
SW | Software PTT such as a MOX button on a client or CAT |
MIC | The front-panel microphone connector (foster) |
ACC | The PTT pin on the accessory connector on the rear of the radio |
RCA | The PTT foot-switch connector on the read of the radio |
Interlock Reasons | Meaning |
---|---|
RCA_TXREQ | The TXREQ line on the rear of the radio (RCA connector) is asserted. Check the polarity and enabled state |
ACC_TXREQ | The TXREQ line on the accessory connector (DB15 connector) is asserted. Check the polarity and enabled state |
BAD_MODE | The transmit antenna, receive antenna and SCU combination is invalid for transmit |
TOO_FAR | While using the PA, the transmitter was tuned outside of the current PA filter range |
PA_RANGE | The PA cannot transmit on this frequency |
Example slice status response:
S0|interlock state=TRANSMITTING source=RCA