-
Notifications
You must be signed in to change notification settings - Fork 1
RF Explorer UART API interface specification
This page describes the specification of supported remote commands from/to RF Explorer device.
The commands are split into "Any Model" so are valid to all RF Explorer device models. Some others are split in specific tables for Signal Generator or Spectrum Analyzer models.
Note different versions of the firmware may support different commands.
For real-life examples, check this simple article with direct interaction with RealTerm
For robust communication and advanced use, we suggest our Python, .NET and C libraries.
Command | Syntax | Comment / Description | Firmware Version |
---|---|---|---|
Request_Config |
#<Size>C0 |
Request RF Explorer to send Current_Config where <Size>=4 bytes
|
1.05 |
Request_Shutdown |
#<Size>S |
Shutdown RF Explorer unit where <Size>=3 bytes
|
1.11 |
Request_Hold |
#<Size>CH |
Stop spectrum analyzer data dump where <Size>=4 bytes
|
1.06 |
Request_Reboot |
#<Size>r |
Restart RF Explorer unit where <Size>=3 bytes
|
1.11 |
Change_baudrate |
#<Size>c <baudrate_code> |
Switch RF Explorer communication baudrate where <Size>=4 bytes . The switch is immediate and it is lost after a reset. Reliable and recommended communication baudrates are 2400bps and 500Kbps only, other modes can be used but may not be reliable in the whole temperature range. Note 'c' is lowercase. |
1.06 |
Disable_LCD |
#<Size>L0 |
Request RF Explorer to switch LCD OFF and stop all draw activity <Size>=4 bytes
|
1.08 |
Enable_LCD |
#<Size>L1 |
Request RF Explorer to switch LCD back ON and resume all draw activity <Size>=4 bytes
|
1.08 |
Enable_DumpScreen |
#<Size>D1 |
Request RF Explorer to dump all screen data where <Size>=4 bytes . It will remain active until Disable_DumpScreen is sent. |
1.06 |
Disable_DumpScreen |
#<Size>D0 |
Request RF Explorer to stop dump screen data where <Size>=4 bytes
|
1.06 |
Request_SN |
#<Size>Cn |
Request Serial Number from RF Explorer device where <Size>=4 bytes
|
1.12 |
Command | Syntax | Comment / Description | Firmware Version |
---|---|---|---|
AnalyzerConfig |
#<Size>C2-F: <Start_Freq>, <End_Freq>, <Amp_Top>, <Amp_Bottom> |
It will change current configuration for RF Explorer where <Size>=32 bytes and send current Spectrum Analyzer configuration data back to PC. |
1.06 |
SwitchModuleMain |
#<Size>CM<0> |
Request RF Explorer to enable Mainboard module where <0> is a binary 0 byte and <Size>=5 bytes
|
1.11 |
SwitchModuleExp |
#<Size>CM<1> |
Request RF Explorer to enable Expansion module (if available) <1> is a binary 1 byte and <Size>=5 bytes
|
1.11 |
SetWifiMode |
#<Size>CW<0 1 2> |
Request RF Explorer to enable WiFi mode (if available) where 1=2.4GHz, 2=5GHz and 0=Disable Wifi Analyzer and <Size>=5 bytes
|
1.31 and 3.16 |
SetCalculator |
#<Size>C+<CalcMode> |
Request RF Explorer to set onboard calculator mode <Size>=5 bytes
|
1.11 |
Request_Tracking |
#<Size>C3-K: <Start_Freq>, <Freq_Step_KHZ> |
Request RF Explorer to enter tracking mode to work with Signal Generator baseline <Size>=22 bytes
|
1.12 |
Tracking_Step |
#<Size>k <TrackingStep> |
Request RF Explorer to jump over the tracking step frequency and measure it immediately <Size>=5 bytes
|
1.12 |
SetDSP |
#<Size>Cp <DSP_Mode> |
Request RF Explorer to set onboard DSP mode <Size>=5 bytes
|
1.12 |
SetOffsetDB |
#<Size>CO <OffsetDB> |
Request RF Explorer to set onboard Amplitude Offset in dB <Size>=5 bytes
|
1.18 |
SetInputStage |
#<Size>a <InputStage> |
Request RF Explorer to set onboard input stage mode, available in WSUB1G+ and IoT models only <Size>=4 bytes
|
|
SetSweepPoints |
#<Size>CJ <Sample_points_ext> |
Request RF Explorer to change to new data point sweep size <Size>=5 bytes - this mode support sweep sizes up to 4096 data points |
|
SetSweepPointsLarge |
#<Size>Cj <Sample_points_large> |
Request RF Explorer to change to new data point sweep size <Size>=6 bytes - this mode support sweep sizes up to 65536 data points |
Note: when enabling RF power in the signal generator with any command, use a RF load in the RF port (antenna, dummy load, etc).
Command | Syntax | Comment / Description | Firmware Version |
---|---|---|---|
EnableCW |
#<Size>C3-F: <CW_Freq>, <HighPowerSW>, <PowerLevel> |
Request Signal Generator baseline to enable CW signal at frequency and power level specified <Size>=18 bytes
|
1.12 |
StartFreqSweep |
#<Size>C3-F: <Start_Freq>, <HighPowerSW>, <PowerLevel>, <Sweep_Steps>, <Freq_Step_KHZ>, <StepDelay> |
Request Signal Generator baseline to start a frequency sweep <Size>=37 bytes
|
1.15 |
StartTracking |
#<Size>C3-T: <Start_Freq>, <HighPowerSW>, <PowerLevel>, <Sweep_Steps>, <Freq_Step_KHZ> |
Request Signal Generator baseline to enable Tracking mode <Size>=31 bytes
|
1.15 |
StartAmpSweep |
#<Size>C3-A: <CW_Freq>, <HighPowerSW>, <PowerLevel>, <HighPowerSW>, <PowerLevel>, <StepDelay> |
Request Signal Generator baseline to amplitude sweep at CW frequency <Size>=30 bytes
|
1.15 |
EnableCWExp |
#<Size>C5-F: <CW_Freq>, <GenPowerExpansion> |
Request Signal Generator Combo to enable CW signal at frequency and power level specified | 1.31 |
StartFreqSweepExp |
#<Size>C5-F: <Start_Freq>, <GenPowerExpansion>, <Sweep_Steps>, <Freq_Step_KHZ>, <StepDelay> |
Request Signal Generator Combo to start a frequency sweep | 1.33 |
StartTrackingExp |
#<Size>C5-T: <Start_Freq>, <GenPowerExpansion>, <Sweep_Steps>, <Freq_Step_KHZ> |
Request Signal Generator Combo to enable Tracking mode | 1.31 |
StartAmpSweepExp |
#<Size>C5-A: <CW_Freq>, <StartGenPowerExpansion>, <StepGenPowerExpansion>, <StopGenPowerExpansion>, <StepDelay> |
Request Signal Generator Combo to amplitude sweep at CW frequency | 1.33 |
EnableRFPower |
#<Size>CP1 |
Enable RF power with current power level and CW frequency configuration <Size>=5 bytes
|
1.12 |
DisableRFPower |
#<Size>CP0 |
Disable RF power <Size>=5 bytes
|
1.12 |
Tracking_Step |
#<Size>k <TrackingStep> |
Request Signal Generator baseline to jump to the specific tracking step frequency <Size>=5 bytes
|
1.12 |
Command | Syntax | Comment / Description | Firmware Version |
---|---|---|---|
Screen_data |
$D<Byte><Byte>..<Byte><EOL> |
Dump all 128*8 screen bytes to PC client. The memory is organized as 8 consecutive rows of 128 bytes each. Organized top to bottom. Every bit within the byte represents a pixel ON(1) or OFF(0) being the MSB the upper pixel and the LSB the bottom pixel within the row. | 1.06 |
Serial_Number |
#Sn<SerialNumber> |
Send device serial number to PC | 1.12 |
Command | Syntax | Comment / Description | Firmware Version |
---|---|---|---|
Current_Setup |
#C2-M:<Main_Model>, <Expansion_Model>, <Firmware_Version> <EOL> |
Send current Spectrum Analyzer model setup and firmware version | 1.06 |
Current_Config 1.12 |
#C2-F:<Start_Freq>, <Freq_Step>, <Amp_Top>, <Amp_Bottom>, <Sweep_points>, <ExpModuleActive>, <CurrentMode>, <Min_Freq>, <Max_Freq>, <Max_Span>, <RBW>, <AmpOffset>, <CalculatorMode> <EOL> |
Send current Spectrum Analyzer configuration data. From RFE to PC, will be used by the PC to control PC client GUI. Note this has been updated in v1.12 | 1.12+ |
Current_Config 1.11 |
#C2-F:<Start_Freq>, <Freq_Step>, <Amp_Top>, <Amp_Bottom>, <Sweep_points>, <ExpModuleActive>, <CurrentMode>, <Min_Freq>, <Max_Freq>, <Max_Span>, <RBW> <EOL> |
Send current Spectrum Analyzer configuration data. From RFE to PC, will be used by the PC to control PC client GUI. Note this has been updated in v1.09+ to include RBW, so the client software must check for string length to know if the RBW is included or not. | 1.09-1.11 |
Current_Config 1.08 |
#C2-F:<Start_Freq>, <Freq_Step>, <Amp_Top>, <Amp_Bottom>, <Sweep_points>, <ExpModuleActive>, <CurrentMode>, <Min_Freq>, <Max_Freq>, <Max_Span> <EOL> |
Send current Spectrum Analyzer configuration data. From RFE to PC, will be used by the PC to control PC client GUI | 1.06-1.08 |
Sweep_data |
$S<Sample_points> <AdBm>… <AdBm> <EOL> |
Send all dBm sample points to PC client, in binary | 1.05 |
Sweep_data_ext |
$s<Sample_points_ext> <AdBm>… <AdBm> <EOL> |
Send all dBm sample points to PC client, in binary | WSUB3G 1.15 - PLUS 3.03 |
Sweep_data_large |
$z<Sample_points_large> <AdBm>… <AdBm> <EOL> |
Send all dBm sample points to PC client, in binary | WSUB3G 1.16 - PLUS 3.05 |
Tracking_status |
#K<0 1> |
Indicates whether tracking mode was enabled '1' or disabled '0' | 1.12 |
DSP_Mode |
DSP:<DSP_Mode> |
Send current DSP mode to PC. Note not all DSP modes may be enabled for certain analyzer models | 1.12 |
Command | Syntax | Comment / Description | Firmware Version |
---|---|---|---|
Current_Setup |
#C3-M: <Main_Model>, <Expansion_Model>, <Firmware_Version> <EOL> |
Send current model setup and firmware version | 1.12 |
Current_Config_CW |
#C3-G: <CW_Freq>, <CW_Freq>, <TotalSteps>, <Freq_Step_KHZ>, <HighPowerSW>, <PowerLevel>, <RFPowerON> <EOL> |
Send current Signal Generator baseline configuration data in CW mode. Note: <CW_Freq> is sent twice just to keep compatibility with older messages sent in early beta versions | 1.12+ |
Current_Config_FreqSweep |
#C3-F: <Start_Freq>, <TotalSteps>, <Freq_Step_KHZ>, <HighPowerSW>, <PowerLevel>, <RFPowerON>, <StepDelay> <EOL> |
Send current Signal Generator baseline configuration data in frequency sweep mode. | 1.15 |
Current_Config_AmpSweep |
#C3-A: <CW_Freq>, <PowerStep_Reserved>, <StartHighPowerSW>, <StartPowerLevel>, <StopHighPowerSW>, <StopPowerLevel>, <RFPowerON>, <StepDelay> <EOL> |
Send current Signal Generator baseline configuration data in amplitude sweep mode. | 1.15 |
Current_Config |
#C3-*: <Start_Freq>, <CW_Freq>, <TotalSteps>, <Freq_Step_KHZ>, <HighPowerSW>, <PowerLevel>, <PowerStep_Reserved>, <StartHighPowerSW>, <StartPowerLevel>, <StopHighPowerSW>, <StopPowerLevel>, <RFPowerON>, <StepDelay> <EOL> |
Send global configuration settings independently of current working mode. | 1.15 |
Current_Config_CW_Exp |
#C5-G: <CW_Freq>, <GenPowerExpansion>, <RFPowerON> <EOL> |
Send current Signal Generator configuration data in CW mode with expansion board installed | 1.31 |
Current_Config_FreqSweep_Exp |
#C5-F: <Start_Freq>, <TotalSteps>, <Freq_Step_KHZ>, <GenPowerExpansion>, <RFPowerON>, <StepDelay> <EOL> |
Send current Signal Generator configuration data in frequency sweep mode with expansion board installed | 1.33 |
Current_Config_AmpSweep_Exp |
#C5-A: <CW_Freq>, <StartGenPowerExpansion>, <StepGenPowerExpansion>, <StopGenPowerExpansion>, <StepDelay> <EOL> |
Send current Signal Generator configuration data in amplitude sweep mode with expansion board installed | 1.33 |
Current_Config_Exp |
#C5-*: <Start_Freq>, <CW_Freq>, <TotalSteps>, <Freq_Step_KHZ>, <GenPowerExpansion>, <StepGenPowerExpansion>, <StartGenPowerExpansion>, <StopGenPowerExpansion>, <RFPowerON>, <StepDelay> <EOL> |
Send global configuration settings independently of current working mode with expansion board installed | 1.31 |
TemperatureDevice |
#T: <TemperatureCode> |
Send internal device temperature code | 1.31 |
Field | Syntax | Units | Comment / Description | Firmware Version |
---|---|---|---|---|
<Size> |
Binary byte |
Bytes | Total size of the message in bytes. Size is limited to max 64 bytes. | 1.05 |
<Start_Freq> |
7 ASCII digits, decimal |
KHZ | Value of frequency span start (lower) | 1.06 |
<End_Freq> |
7 ASCII digits, decimal |
KHZ | Value of frequency span end (higher) | 1.06 |
<Freq_Step> |
7 ASCII digits, decimal |
HZ | Value of frequency of sample step | 1.06 |
<Amp_Top> |
4 ASCII digits, decimal |
dBm | Highest value of amplitude for GUI | 1.05 |
<Amp_Bottom> |
4 ASCII digits, decimal |
dBm | Lowest value of amplitude for GUI | 1.05 |
<EOL> |
0x0A, 0x0D |
- | End of line, standard CR + LF | 1.05 |
<AdBm> |
Binary byte |
dBm | Sampled value in dBm, repeated n times one per sample. To get the real value in dBm, consider this an unsigned byte, divide it by two and change sign to negative. For instance a byte=0x11 (17 decimal) will be -17/2= -8.5dBm. This is now normalized and consistent for all modules and setups | 1.06 |
<baudrate_code> |
1 ASCII digit, decimal |
- | Codified values are: 0-500Kbps, 1-1200bps, 2-2400bps, 3-4800bps, 4-9600bps, 5-19200bps, 6-38400bps, 7-57600bps, 8-115200bps | 1.06 |
<Main_Model> |
3 ASCII digits, decimal |
- | Codified values are 433M:0, 868M:1, 915M:2, WSUB1G:3, 2.4G:4, WSUB3G:5, 6G:6, WSUB1G_PLUS:10, RFEGEN:60 | 1.15 |
<Expansion_Model> |
3 ASCII digits, decimal |
- | Codified values are 2.4G:4, WSUB3G:5, NONE:255 | 1.15 |
<Firmware_Version> |
5 ASCII chars |
- | Standard format xx.yy, may change format for betas or custom versions | 1.06 |
<Sweep_Steps> |
4 ASCII digits, decimal |
Steps | Number of sweep steps in the current configuration, used for generator tracking or frequency sweep steps (1-9999) | 1.06 |
<Sweep_points> |
4 ASCII digits, decimal |
Data Points | Number of sweep Data Points in the current configuration, used for analyzer. For values larger than 9999, it uses 5 ASCII digits. | 1.06 |
<Sample_points> |
Binary byte |
Data Points | Number of sweep Data Points in the current configuration, used for analyzer. The value must be increased by one and multiplied by 16 to get the real number of sweep data points. A value of 0 resolves to 16 sweep points, and 255 is 4096 | |
<Sample_points_ext> |
Binary byte |
Data Points | Number of sweep Data Points in the current configuration, used for analyzer. The value must be increased by one and multiplied by 16 to get the real number of sweep data points. A value of 0 resolves to 16 sweep points, and 255 is 4096 | |
<Sample_points_large> |
Bynary word 16 bits |
Data Points | Number of sweep Data Points in the current configuration, used for analyzer. The value MSB comes first, and LSB comes next, to combine into a 16bits integer. | |
<ExpModuleActive> |
1 ASCII digit, binary |
- | 1 if the Expansion module is the active circuit, 0 otherwise (the main board is active) | 1.06 |
<CurrentMode> |
3 ASCII digits, decimal |
- | Codified values are SPECTRUM_ANALYZER:0, RF_GENERATOR:1, WIFI_ANALYZER:2, ANALYZER_TRACKING:5, RF_SNIFFER:6, CW_TRANSMITTER:60, SWEEP_FREQUENCY:61, SWEEP_AMPLITUDE:62, GENERATOR_TRACKING:63, UNKNOWN:255 | 1.15 |
<Min_Freq> |
7 ASCII digits, decimal |
KHZ | Min supported frequency value for the selected RF circuit and mode | 1.06 |
<Max_Freq> |
7 ASCII digits, decimal |
KHZ | Max supported frequency value for the selected RF circuit and mode | 1.06 |
<Max_Span> |
7 ASCII digits, decimal |
KHZ | Max supported Span value for the selected RF circuit and mode | 1.06 |
<RBW> |
5 ASCII digits, decimal |
KHZ | Resolution Bandwidth currently selected | 1.09 |
<CalcMode> |
Binary byte |
- | 0=NORMAL, 1=MAX, 2=AVG, 3=OVERWRITE, 4=MAX_HOLD | 1.11 |
<DSP_Mode> |
1 ASCII digit, decimal |
- | 0=DSP Auto, 1=DSP Filter, 2=DSP Fast | 1.12 |
<Freq_Step_KHZ> |
7 ASCII digits, decimal |
KHZ | Value of frequency sweep/tracking step | 1.12 |
<TrackingStep> |
Bynary word 16 bits |
Steps | Number of scan step being used for tracking or sweep mode | 1.12 |
<AmpOffset> |
4 ASCII digits, decimal |
dB | OffsetDB manually specified in the unit, including sign | 1.12 |
<OffsetDB> |
Binary byte |
dB | Signed byte for OffsetDB manually specified in the unit | 1.18 |
<CalculatorMode> |
3 ASCII digits, decimal |
- | Active calculator mode in the unit, see <CalcMode> for values |
1.12 |
<CW_Freq> |
7 ASCII digits, decimal |
KHZ | Value of CW frequency for generator, as well as start frequency for Sweep or tracking | 1.12 |
<RFPowerON> |
1 ASCII digit, decimal |
- | 0=RF Power is ON (a RF load MUST be connected), 1=RF Power is OFF | 1.12 |
<SerialNumber> |
16 ASCII digit |
- | Device serial number without slash or other decorations | 1.12 |
<StepDelay> |
5 ASCII digits, decimal |
ms | Time in millisec used by a sweep or tracking step to remain in same frequency or amplitude value | 1.15 |
<PowerLevel> |
1 ASCII digit, decimal |
- | 0-3=Increasing power level from 0..3 representing nominal 3dB increase power | 1.12 |
<HighPowerSW> |
1 ASCII digit, decimal |
- | 0=Low Power (attenuator ON), 1=High Power (attenuator OFF) | 1.12 |
<StartHighPowerSW> |
1 ASCII digit, decimal |
- | Same as <HighPowerSW> for Sweep start |
1.15 |
<StartPowerLevel> |
1 ASCII digit, decimal |
- | Same as <PowerLevel> for Sweep stop |
1.15 |
<StopHighPowerSW> |
1 ASCII digit, decimal |
- | Same as <HighPowerSW> for Sweep stop |
1.15 |
<StopPowerLevel> |
1 ASCII digit, decimal |
- | Same as <PowerLevel> for Sweep stop |
1.15 |
<GenPowerExpansion> |
3 signed ASCII digit, float |
dBm | Value range between "-60.0" and "+15.0", sign and decimal digit required | 1.31 |
<StartGenPowerExpansion> |
3 signed ASCII digit, float |
dBm | Same as <GenPowerExpansion> for Sweep start |
1.31 |
<StopGenPowerExpansion> |
3 signed ASCII digit, float |
dBm | Same as <GenPowerExpansion> for Sweep stop |
1.31 |
<StepGenPowerExpansion> |
3 signed ASCII digit, float |
dB | Power step in dB | 1.33 |
<InputStage> |
1 ASCII digit, decimal |
- | '0' for Bypass mode, '1' for Attenuator 30dB and '2' for LNA 25dB | - |
<TemperatureCode> |
1 ASCII digit, decimal |
- | '0'-'6' coded centigrade temperature where 0 means range -10..0C, 1 means 0..10C, etc | 1.31 |
Note: All information while believe to be accurate is not guaranteed, please contact us if you find any typo or missing data.