Skip to content

RF Explorer UART API interface specification

Ariel Rocholl edited this page Jun 23, 2020 · 16 revisions

Introduction

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 list

These are commands available from PC to RF Explorer Any Model

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

These are commands available from PC to RF Explorer Spectrum Analyzer only

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

These are commands available from PC to RF Explorer Signal Generator only

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

These are messages sent from Any Model RF Explorer to PC

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

These are messages sent from RF Explorer Spectrum Analyzer only to PC

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

These are messages sent from RF Explorer Signal Generator only to PC

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

Data field list

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.