Miscellaneous#
RAM Modem Reconfiguration#
RAILtest can dynamically change the modem configuration allowing for a quick evaluation of different protocols or settings without the need to compile or flash the chip. This is enabled through the writeRmrStructure, updateConfigurationPointer and reconfigureModem commands. These commands are intended to be used only by Simplicity Studio and not directly from the CLI.
Register/Memory Access#
Note: These commands provide direct access to the chip's address space. Writing a value to an address can change RAM and register values, and even reading from an address can change the operation of the chip. Any action taken with these commands will potentially conflict with the running program, possibly leading to unexpected behavior or a system crash. Only use these commands when instructed to do so by your Silicon Labs support contact.
To modify any memory on the system, use the getmemw and setmemw commands. To use getmemw, specify the starting address and the number of 32bit words you want to read. Using setmemw is slightly different in that you specify the starting address and the 32bit words to write starting at the specified address. These commands operate on 32bit words so all addresses must be 32bit aligned.
Debug#
To output a tone on the current channel (or overridden frequency) use the
setTxTonecommand.To output a PN9 or 101010 stream on the current channel on a certain antenna, TX_ANTENNA0 or TX_ANTENNA1, use the
setTxStreamcommand.
Full Help Text#
RAILtest 2.14 (GSDK 4.2) Help Text#
Note: Each command is displayed (on the left) with its corresponding arguments and associated datatypes (on the right). Required command arguments and their datatypes are listed first (such as
uint32) with potential optional arguments and their datatypes listed afterwards (such asuint32opt). The list of required command argument datatypes includesuint8,uint16,uint32,int8,int16,int32, andstring. The list of optional command argument datatypes includesuint8opt,uint16opt,uint32opt,int8opt,int16opt,int32opt, andstringopt.
> help config2p4Ghz802154 _________________________________ ____Application_Configuration____ setEventConfig Control RAIL events. [uint32] eventsMask<31:0> [uint32] eventsValues<31:0> [uint32opt] eventsMask<63:32> [uint32opt] eventsValues<63:32> resetCounters Resets the TX and RX counters. setPeripheralEnable Control LEDs and LCD peripherals. [uint8] [0=Disable] 1=Enable setNotifications Control asynchronous status prints (rxPacket,txEnd,txError). [uint8] 0=Disable [1=Enable] getLogLevels Show whether notifications or peripherals are enabled. getVersion Get version information. getVersionVerbose Get verbose version information. setPtiProtocol Set PTI protocol for Network Analyzer. [uint8] 0=Custom 2=Thread 3=BLE 4=Connect 5=Zigbee 6=Z-Wave getPti Get PTI configuration. setPrintingEnable Control all printing in RAILtest, except CLI. [uint8] 0=Disable [1=Enable] ____________________________ ____Receive_and_Transmit____ rx Control receive mode. [uint8] 0=Disable [1=Enable] rxAt Configure scheduled receive. [uint32] startTimeUs [string] 'rel'=Relative 'abs'=Absolute [uint32] endTimeUs [string] 'rel'=Relative 'abs'=Absolute [uint8opt] rxTransEndSched: [0]/1 [uint8opt] hardEnd: [0]/1 setRxOptions Show/Configure receive options (RAIL_RX_OPTIONs). [uint32opt] rxOptionsValues: bitmask of enabled options tx Transmit packets with current TX options. [uint32] number of packets, 0=continuous until next 'tx 0' txWithOptions Same tx command. This command is deprecated. [uint32] number of packets, 0=continuous until next 'tx 0' txAfterRx Schedule a TX with specified delay after each RX. [uint32] delayUs: 0=Disable configTxOptions Show/Configure transmit options (RAIL_TX_OPTIONs). [uint32opt] txOptionsValues: bitmask of enabled options setFixedLength Configure fixed length packet operation. [uint16] fixedLength: payload bytes setPower Set the transmit power. The radio must be IDLE. [int32] power: deci-dBm unless 'raw' is added [stringopt] 'raw'=units are raw power level getPower Get the transmit power in deci-dBm. setPowerConfig Set transmit PA configuration. Must use setpower afterwards. [uint8] paMode [uint16] millivolts [uint16] rampTimeUs getPowerConfig Get the transmit PA configuration. getPowerLimits Get min and max powerLevel for a power mode. [uint8opt] powerMode enablePaAutoMode Control automatic PA selection based on the TX power level. [uint8] 0=Disable 1=Enable configPaAutoMode Configure entries in the default PA Auto Mode plugin. [uint8] start Index [int32opt] min max mode band: PA auto config entries sweepTxPower Sweep TX power for the current PA by toning at each level. offsetLqi Adjust the hardware's LQI value for received packets. [int32] offset: signed value to ad The resulting LQI is capped within 0..255 range. getRssi Get RSSI in dBm. It'll be invalid if receiver isn't ready. [uint32opt] [0=don't wait] 1=wait for valid RSSI if possible sweepPower Sweep power by toning low/high in a square wave fashion. [int32] lowPower: deci-dBm [int32] hiPower: deci-dBm [uint32] periodUs startAvgRssi Start AGC RSSI averaging. [uint32] averageTimeUs [uint16opt] channel: if different than current channel getAvgRssi Get AGC RSSI averaging result. setTxTone Control tone transmission. [uint32] 0=Disable 1=Enable [uint32opt] antenna: [0]/1 [uint32opt] mode: [0]/1=phaseNoise setTxStream Control stream transmission. [uint32] 0=Disable 1=Enable [uint32opt] streamMode: [1=PN9] 2=1010 3=phaseNoise 0=tone [uint32opt] antenna: [0]/1 status Print the current status counters. fifoStatus Print the current FIFO-related counters. setTxHoldOff Control transmit hold-off (blocking of transmits). [uint32] 0=Disable 1=Enable setTxDelay Set the inter-packet delay for repeated TX. [uint32] delayMilliseconds getTxDelay Get the inter-packet millisecond delay for repeated TX. setTxPayload Set TX packet payload bytes for future transmits. [uint16] offset [uint8opt] byte0 byte1 ... setTxRandom Set a specified range of bytes in the Tx packet payload to a random value. Call setTxRandom again to stop randomizing the payload. [uint16opt] Start Index [uint16opt] End Index setTxPayloadQuiet Like setTxPayload, but less verbose. [uint16] offset [uint8opt] byte0 byte1 ... setTxLength Set how much data to load into the TX FIFO for transmitting. Actual packet length may vary based on radio configuration. [uint16] lengthBytes printTxPacket Print the current TX payload data and byte length. peek Peek at the start of the receive buffer. [uint16] bytes: 1-10 [uint16opt] offset: [0] getTime Get the current RAIL time in microseconds. setTime Set the current RAIL time. [uint32] timeUs dataConfig Control the data methods for TX and RX. [string] txMethod: 'pkt'/'fifo' [string] rxMethod: 'pkt'/'fifo' [uint8opt] RAIL_RxDataSource_t (>0 needs fifo mode) [uint8opt] RAIL_TxDataSource_t (>0 needs ping-pong buffer) setRxFifo Set the receive buffer length. [uint16] lengthBytes: range 64-RX_BUFFER_SIZE setTxFifoThreshold Set the TX FIFO Almost Empty threshold. [uint16] thresholdBytes: below which the event triggers setRxFifoThreshold Set the RX FIFO Almost Full threshold. [uint16] thresholdBytes: above which the event triggers fifoModeTestOptions Manual control over RAILtest FIFO actions. [uint8] txFifo: 1=Manual 0=Automatic [uint8] rxFifo: 1=Manual 0=Automatic rxFifoManualRead Read and print bytes from receive FIFO when in manual mode. [uint8] appendedInfo: 1=include packet metadata [uint16] bytesToRead [uint8opt] [0=don't] 1=show timestamps with appendedInfo txFifoManualLoad Try to load data into available TX FIFO space. fifoReset Reset the transmit and/or receive FIFO. [uint8] tx: 1=reset TX FIFO [uint8] rx: 1=reset RX FIFO abortRxPacket Idle the radio shortly after RX sync word detection. [uint32] abortOffsetUs printTxAcks Control printing of TX ACK packets. [uint8] [0=Disable] 1=Enable configRxHopping Configure an RX Channel Hopping sequence. [uint32opt] channel hopMode param delayUs: a hop's config, repeat for additional hops ... Use no arguments to get Z-Wave radio config defaults. enableRxHopping Control RX channel hopping previously configured. [uint8] [0=Disable] 1=Enable [uint8opt] [0=Continue] 1=Restart sequence configRxHoppingOpts Configure options for a hop. Use configRxHopping after. [uint8] hopIndex [uint8] options [int8opt] rssiThreshold: dBm for the threshold option configRxMultiHop Configure multi-sense for a hop. Use configRxHopping after. [uint8] hopIndex [uint32] syncDetectUs [uint32] preambleSenseUs [uint32] timingSenseUs [uint32] timingReSenseUs getRxHoppingRssi Get the latest RSSI for a hopping channel. [uint8] hopIndex spectrumAnalyzer Hop across a channel range to see the RSSI distribution. [uint8] 1=Show ASCII-Art graph (non-parseable output) [uint16opt] minChannel: [0]-65535 [uint16opt] maxChannel: 0-[65535] Channel range is limited by the PHY and by hopping's MAX_NUMBER_CHANNELS. configRxDutyCycle Configure RX Duty Cycling of the receiver. [uint32] hopMode [int32] parameter(s) {syncUs preamUs timingUs retimingUs} [int32] delayUs [int32opt] options [int32opt] rssiThreshold: dBm for the threshold option enableRxDutyCycle Control RX duty cycling previously configured. [uint8] DutyCycling: 0=Disable 1=Enable [uint8opt] ScheduledWakeup: [0=Disable] 1=Enable getDefaultRxDutyCycleConfig Get the default RX duty cycle configuration. setTxAltPreambleLen Set alternate TX preamble length, enabled via txOptions. [uint16] preambleBits configSyncWords Set sync words and their length. The radio must be off. [uint8] bits: 2-32 [uint32] syncWord1 [uint32opt] syncWord2: [same as syncWord1] getSyncWords Get the sync word length in bits and value(s). printRxErrors Control printing of RX error packets. [uint8] [0=Disable] 1=Enable printRxFreqOffsets Control printing of RX frequency offsets. [uint8] [0=Disable] 1=Enable printDataRates Print the data rates of the current PHY. stopInfinitePream Stops an infinite preamble transmission. ___________________________________ ____Energy_Modes_and_RF_Sensing____ sleep Sleep until UART input or RF Sensed (if either configured). [string] energyMode: 0-4[hs], for EM1P use 2 with radio on [uint32opt] Legacy: RfSenseUs RfBand: 0=none,1=GHz,2=MHz,3=both or Selective: SyncwordBytes Syncword RfBand rfsense Start RfSensing. [uint32] Legacy: RfSenseUs; Selective: SyncwordBytes [uint32opt] Legacy: RfBand: 0=none,1=GHz,2=MHz,3=both or Selective: Syncword RfBand: as above configRfSenseWakeup Configure RFSense Selective Wakeup PHY for transmitting. setRfSenseTxPayload Load TX FIFO with RfSense Selective(OOK) Mode wake packet. [uint8] syncwordNumBytes: 1-4 [uint32] syncWord: sent from least to most significant byte _________________________ ____Address_Filtering____ configAddressFilter Configure the addresss filter. [uint32] matchTable [uint8opt] offset0 size0 offset1 size1 ... Enter more offsets and sizes if required. setAddressFiltering Control address filtering. [uint8] 0=Disable 1=Enable getAddressFiltering Get the current state of address filtering. printAddresses Print the current address filtering addresses. setAddress Set a specific filtering address value. [uint8] field: 0-1 [uint8] filterIndex: 0-3 [uint8opt] addrByte0 addrByte1 ... addrByte7 setAddressMask Set a specific filtering address mask. [uint8] field: 0-1 [uint8opt] bitMask setAddressEnable Control address filtering for a specific address. [uint8] field: 0-1 [uint8] filterIndex: 0-3 [uint8] 0=Disable 1=Enable __________________________ ____Error_Rate_Testing____ perRx Start a Packet Error Rate test. 'perRx 0 0' stops test. [uint32] number of packets [uint32] delayUs perStatus Get the PER test results. Also see status command. setBerConfig Set number of bytes to receive in BER mode. [uint32] number of bytes: 0=maximum (536870911) berRx Control BER receive mode. [uint8] 0=Disable 1=Enable berStatus Get status of current or last BER test. Status is reset by setBerConfig and berRx enable. ______________________________ ____Listen_Before_Talk_LBT____ setLbtMode Show/Set the LBT mode for transmits. [stringopt] 'off'/'csma'/'lbt' getLbtParams Get the current LBT parameters. setLbtParams Set LBT parameters. [uint8] minBo [uint8] maxBo [uint8] tries [int32] ccaThreshold [uint16] backoffUs [uint16] durationUs [uint32] timeoutUs set802154CcaMode Set 802.15.4 CCA Mode [uint8] ccaMode 0=RSSI 1=Signal 2=RSSI|Signal 3=RSSI&Signal 4=Always transmit _____________________ ____802_15_4_Mode____ enable802154 Configure and enable 802.15.4 mode. [string] defaultState: 'idle'/'rx' [uint16] idleToRxUs [uint16] turnaroundTimeUs [int16] ackTimeoutUs: to ACK's sync-detect [uint8opt] defaultFP: [0]/1 Frame Pending for poll ACKs config2p4GHz802154 Configure the radio for 2.4 GHz 802.15.4. Use with enable802154. [uint8opt] antDiv: [0=Disable] 1=Enable [uint8opt] coex: [0=Disable] 1=Enable [uint8opt] fem: [0=Disable] 1=Enable [uint8opt] custom: [0=None] 1=Custom1 config863MHz802154 Configure the radio for 863 MHz 802.15.4 GB868. Use with enable802154. config915MHz802154 Configure the radio for 915 MHz 802.15.4 GB868. Use with enable802154. set802154e Configure 802.15.4E options. [uint32] RAIL_IEEE802154_EOptions_t set802154g Configure 802.15.4G options. [uint32] RAIL_IEEE802154_GOptions_t set802154FpMode Control early and data frame pending lookup. [uint8] early: [0=Disable] 1=Enable [uint8] dataframes:[0=Disable] 1=Enable acceptFrames Control 802.15.4 frame type acceptance. [uint8] command: 0=Reject [1=Accept] [uint8] ack: [0=Reject] 1=Accept [uint8] data: 0=Reject [1=Accept] [uint8] beacon: 0=Reject [1=Accept] [uint8opt] multipurpose: [0=Reject] 1=Accept setPromiscuousMode Control promiscuous mode. [uint8] 0=Disable 1=Enable setPanCoordinator Control whether node is a PAN coordinator. [uint8] 1=Yes 0=No setPanId802154 Set the PAN ID for a filtering index. [uint16] panId [uint8opt] filterIndex: [0]-2 setShortAddr802154 Set the short address for a filtering index. [uint16] shortAddr [uint8opt] filterIndex: [0]-2 setLongAddr802154 Set the long address for a filtering index. [uint8] longAddr_0 [uint8] longAddr_1 [uint8] longAddr_2 [uint8] longAddr_3 [uint8] longAddr_4 [uint8] longAddr_5 [uint8] longAddr_6 [uint8] longAddr_7 [uint8opt] filterIndex: [0]-2 setAddresses802154 Set all 802.15.4 address information. [uint16] panId0 [uint16] shortAddr0 [stringopt] longAddr0 [stringopt] panId1 shortAddr1 longAddr1 ... setDataReqLatency Set data request event processing latency. [uint32] latencyUs set802154PHR Set PHR (first 1, 2 or 4 bytes) in Tx buffer according to the 'format' input parameter. PHR 'frameLength' field is derived from TxLength set previously with 'setTxLength' For PHR fields info, refer to 802.15.4 specification. [uint8] PHR format : 0=misc IEEE802154 modulations, PHR 1byte 1=SUN FSK, PHR 2bytes 2=SUN OFDM, PHR 4bytes 3=SUN OQPSK, PHR 4bytes [uint8opt] For SUN_OFDM : rate For SUN_OQPSK: spreadingMode For SUN_FSK : fcsTtype For LEG_OQPSK: none [uint8opt] For SUN_OFDM : scrambler For SUN_OQPSK: rateMode For SUN_FSK : whitening For LEG_OQPSK: none trigModeSwitchTx Transmit a Mode Switch packet then transmit packets on the new PHY with current TX options Depending on modeSwitchLife configuration, after all iterations are done, it either stays on the new PHY or returns to the base PHY. [uint8] new PhyModeId, i.e. ID of the PHYMode we are switching to [uint8] number of packets transmitted on the new PHY [uint32opt] number of times the sequence -mode switch packet followed by data packets- is repeated, default is 1 if argument is absent [uint32opt] delayMilliseconds before switching back to base PHY after all packets have been transmitted on the new PHY, default is 0 if argument is absent. Multitimer is used for delay greater than 0. modeSwitchLife Return to the base PHY after all data packets transmission for TX or after MODE_SWITCH_START event and multitimer expiration after first data packet reception on new phy for RX. [uint8] 0=stay on new PHY (normal Wi-SUN FAN behaviour) 1=return to base PHY (special test mode) configRxChannelSwitching802154 Configure RX channel switching for 2.4 GHz 802.15.4. [uint16] First radio channel [uint16] Second radio channel ________________ ____BLE_Mode____ setBleMode Control BLE mode. [uint8] 0=Disable 1=Enable getBleMode Get the current BLE mode. setBleChannelParams Configure channel parameters related to BLE. [uint8] logicalChannel [uint32opt] accessAddr crcInit disableWhiten setBlePhySwitchToRx Configure BLE PhySwitchToRx parameters. RX is entered timeDeltaUs after sync word of received packet. [uint8] 0=Disable 1=Enable [uint32opt] phy timeDelta physicalChannel [uint32opt] logicalChannel accessAddr crcInit [uint32opt] disableWhiten [uint32opt] extraDelayUs setBleAdvertising Configure for BLE advertising. [uint8] advChannel: 37-39 setBle1Mbps Switch to the 1Mbps BLE PHY. [uint8opt] 0=Legacy 1=Viterbi [chip default] setBle2Mbps Switch to the 2Mbps BLE PHY. [uint8opt] 0=Legacy 1=Viterbi [chip default] setBleCoding Switch to a BLE coded PHY. [uint8] RAIL_BLE_Coding_t value setBleSimulscan Switch to a BLE simulscan PHY. ___________________ ____Z_Wave_Mode____ setZWaveMode Show/Control Z-Wave mode. [uint8opt] 0=Disable 1=Enable [uint8opt] optionsBitmask getZWaveMode Get the current Z-Wave mode. setZWaveRegion Set the Z-Wave region. [uint8] region: see listZWaveRegions performZwaveIrcal Perform IRCAL across all channels of the current Z-Wave region. [uint8opt] [0=Use cached IRCAL values], 1=Force IRCAL getZWaveRegion Get the current Z-Wave region. listZWaveRegions List supported Z-Wave regions. getZWaveBaudRate Get the baudrate of the current Z-Wave channel. setZWaveNodeId Sets Z-Wave NodeId. [uint16] nodeId setZWaveHomeId Sets Z-Wave HomeId and its hash. [uint32] homeId [uint8] hash setZWaveOptions Configure Z-Wave options. [uint8opt] optionsBitmask setZWaveLowPower Set the transmit power for low-power ACKing. [int32] power: deci-dBm unless 'raw' is added [stringopt] 'raw'=units are raw power level getZWaveLowPower Get the low power values (deci-dBm and raw). zwaveReceiveBeam Run the Z-Wave beam detection algorithm. setMfmMode Set MFM mode to enabled or disabled [uint8] 0=Disable 1=Enable getMfmMode Get the current MFM mod __________________ ____RAIL_Timer____ setTimer Set the RAIL timer timeout. [uint32] timeout: per mode [string] 'rel'=Relative 'abs'=Absolute timerCancel Cancel the RAIL timer if it is active. printTimerStats Print current timer configuration. enableMultiTimer Control the multiTimer API. [uint8] 0=Disable 1=Enable setMultiTimer Set a specific timer timeout. [uint8] timer: 0..(NUM_MULTI_TIMERS-1) [uint32] timeout: per mode [string] 'rel'=Relative 'abs'=Absolute multiTimerCancel Cancel a specific timer if it is active. [uint8] timer: 0..(NUM_MULTI_TIMERS-1) getMultiTimerStats Get information about a specific timer. [uint8] timer: 0..(NUM_MULTI_TIMERS-1) delayUs Do a blocking delay for a specified time. [uint32] delayUs ____________________ ____Auto_ACK_ing____ autoAckConfig Configure and enable auto-ACK functionality. [string] defaultState: 'idle'/'rx' [uint16] idleToRxUs [uint16] turnaroundTimeUs [uint16] ackTimeoutUs: to ACK's sync-detect autoAckDisable Disable auto-ACK. Use autoAckConfig to reenable. setAckPayload Set the ACK payload to transmit. [uint16] offset [uint8opt] byte0 byte1 ... setAckLength Set how much data to load into the TXACK FIFO. [uint16] lengthBytes printAckPacket Print the current TXACK payload data and byte length. getAutoAck Get the current state of auto-ACKing. autoAckPause Pause or Resume auto-ACKing [uint8] 1=PauseRx 0=ResumeRx [uint8] 1=PauseTx 0=ResumeTx setTxAckOptions Control auto-ACK response for just the next receive. [uint8] 1=cancelAck 0=sendAck [uint8] 1=useTxBuf 0=useTxAckBuf ______________________ ____GPIO_Functions____ setGpioOutPin Set a GPIO pin data out bit. [string] gpioPort: start from '0' or 'a' or 'A' [uint8] gpioPin [uint8] state: 0/1 ___________________________ ____Diagnostic_and_Test____ getConfigIndex Get the index of the current multi-PHY radio config. See the entries in *channelConfigs[]. Start with index 0. setConfigIndex Activate a multi-PHY radio configuration. See the entries in *channelConfigs[]. Start with index 0. [uint8] multiPhyIndex setCtune Set the value of HFXO CTUNE. The radio must be IDLE. [uint16] ctune getCtune Get the value of HFXO CTUNE setCtuneDelta Set the value of HFXO CTUNE delta [uint16] delta getCtuneDelta Get the value of HFXO CTUNE delta setPaCtune Set the PACTUNE value for TX and RX. [uint8] txPaCtune [uint8] rxPaCtune enablePaCal Control PA power calibration. [uint8] 0=Disable 1=Enable setDebugSignal Configure chip specific debug output. Use 'setDebugSignal help me' for more details. [string] pin [string] signal [uint16opt] signalOptions setDebugMode Control Debug mode which allows freqOverride. [uint32] 0=Disable 1=Enable freqOverride Set the radio frequency. Requires debug mode. [uint32] freqHz: Only small deviations from the current configuration are supported. configDirectMode Configure direct mode [uint8] syncRx: 0=Disable 1=Enable [uint8] syncTx: 0=Disable 1=Enable [uint8] doutPort [uint8] doutPin [uint8] dclkPort [uint8] dclkPin [uint8] dinPort [uint8] dinPin [uint8opt] doutLoc [uint8opt] dclkLoc [uint8opt] dinLoc directMode Control direct mode. [uint8] 0=Disable 1=Enable directTx Control TX in direct mode. [uint8] 0=Disable 1=Enable txCancel Start a TX that will be cancelled. [int32] delayUs: when to cancel it [uint8opt] stopMode: [0=RAIL_Idle] >0=RAIL_StopMode_t configHFXOThermistor Configures the thermistor pin and the HFXO compensation parameters. configHFXOCompensation Configure the temperature parameters for HFXO compensation. [int8opt] Arg1: enableCompensation Arg2: zoneTemperatureC Arg3: deltaNominal Arg4: deltaCritical startThermistor Starts a thermistor measurement. getThermistor Gets the thermistor impedance. getHFXOPPMError Compute the HFXO PPM deviation. Must be called after a complete thermistor measurement ie after getThermistor. compensateHFXO Starts the compensation process on the HFXO. Must be called after a complete thermistor measurement ie after getThermistor. [uint8opt] 1=restore the initial frequency not compensated configThermalProtection Enable thermal protection, configure temperature threshold and cool down [uint8opt] Enable protection New temperature threshold in Celsius degrees New cool down getTemperature Show chip, FEM, XTAL temperatures in Celsius (255=invalid) [uint8opt] 1=reset temperature values after reading getRandom Get random data from the radio. [uint16] lengthBytes [uint8opt] [0=show them] 1=hide them setTxUnderflow Control TX underflows by not loading the TX FIFO. [uint8] 1=Force underflows 0=Disable setRxOverflow Control RX overflows by delaying in the event handler. [uint8] 0=Disable 1=Enable [uint32opt] delayUs: [0] setCalibrations Control calibrations. [uint8] 0=Disable 1=Enable setTxTransitions Set the TX state transitions. [string] txSuccess: 'idle'/'rx' [string] txError: 'idle'/'rx' setRxTransitions Set the RX state transitions. [string] rxSuccess: 'idle'/'rx'/'tx' [string] rxError: 'idle'/'rx'/'tx' getTxTransitions Get the TX state transitions. getRxTransitions Get the RX state transitions. setNextTxRepeat Set next transmit's automatic repeat count. [uint16] number of auto-repeated transmits after the first [uint32opt] delayUs inter-transmit or hop delay [uint32opt] channel (if hopping) repeat delayUs and channel for additional hops. setNextBleTxRepeat Set next transmit's automatic repeat count. [uint16] number of auto-repeated transmits after the first [uint32opt] delayUs inter-transmit or hop delay [uint32opt] phy railChannel logicalChannel accessAddress (a hop's config, repeat from delayUs for additional hops) setTxTimePos Set desired TX timestamp position. [uint8] RAIL_PacketTimePosition_t setRxTimePos Set desired RX timestamp position. [uint8] RAIL_PacketTimePosition_t setTimings Set RAIL state transition timings (use -1 to keep same). [int32] idleToRxUs [int32] txToRxUs [int32] idleToTxUs [int32opt] rxToTxUs [0] [int32opt] rxSearchTimeoutUs [0] [int32opt] txToRxSearchTimeout [0] [int32opt] txToTx [0] forceAssert Force a RAIL assert with the given error code. [uint32] RAIL_AssertErrorCodes_t getAppMode Get the current RAILtest AppMode_t mode. getRadioState Get the current RAIL_RadioState_t radio state. verifyRadio Verify radio memory contents. [uint32] durationUs: time limit [uint8] 0=Resume if previously didn't finish 1=Restart [uint8] 0=current radio config 1=external radio config [uint8] 0=No callback 1=Use RAILCb_ConfigVerification getChannel Get the current radio channel. setChannel Set the radio channel. [uint16] channel reset Perform a reboot of the chip. writeRmrStructure Reserved for Simplicity Studio use only. [uint8] [uint16] [uint8] [uint32opt] updateConfigPtr Reserved for Simplicity Studio use only. [uint8] [uint16] [uint8] reconfigureModem Reserved for Simplicity Studio use only. setRfPath Set the RF path. [uint32] 0=Path0 1=Path1 printEvents Show/Configure printing of RAIL events as they occur. [uint32opt] printEvents<31:0> printEvents<63:32> [uint32opt] mask<31:0> mask<63:32> printChipFeatures Display RAIL features supported at compile and runtime. getmemw Read count 32-bit words starting at address. [uint32] address [uint32opt] count setmemw Write 32-bit values starting at address. [uint32] address [uint32opt] value0 value1 ... throughput Throughput test. [uint32] number of packets setRssiOffset Sets the RSSI offset. [int32] offsetDbm getRssiOffset Gets the RSSI offset(s) in dBm. [uint8opt] [0=radio and protocol-specific] 1=radio only setRssiDetectThresholdSets the RSSI detect threshold. [int8] RSSI detect threshold (in dBm). (-128 disables detection) getRssiDetectThresholdGets the RSSI detect threshold(in dBm). txAt Transmit a packet at a certain time. [uint32] time: per mode [stringopt] ['abs'=Absolute] 'rel'=Relative [stringopt] 'abort' RX if TX occurs during packet RX otherwise TX is delayed to end of RX setFreqOffset Get/Set the frequency offset adjustment. [int32opt] RAIL_FrequencyOffset_t holdRx Control holding of received packets. [uint8] [0=Process packets immediately] 1=Hold packets wait Suspend processing of CLI input for a while. [uint32] waitTimeUs [stringopt] ['rel'=Relative] 'abs'=Absolute clearScript Clear the script entered via enterScript. [uint8opt] [0=RAM] 1=Flash printScript Print the script entered via enterScript. [uint8opt] [0=RAM] 1=Flash enterScript Enter script entry mode. Conclude entry mode with text 'endScript'. [uint8opt] [0=RAM] 1=Flash-script will run on boot runScript Run the script entered via enterScript. [uint8opt] [0=RAM] 1=Flash-script will run on boot setRetimeOption Control retime options. [uint8] optionBitMask: 1=HFXO | 2=HFRCO | 4=DCDC | 8=LCD enable802154SignalIdentifier Enable Signal Identifier 2.4Ghz 802.15.4 signal detection [uint8] 0=Disable 1=Enable enableBleSignalIdentifier Enable Signal Identifier for BLE signal detection [uint8] Mode 0=Disable 1=BLE1Mbps 2=BLE2Mbps getChannelConfigEntry Get the maximum valid channelConfig index, the maximum valid channelConfigEntry index in the selected channelConfig and parameters of the selected channelConfigEntry [uint8] channelConfig index [uint8] channelConfigEntry index deinitProtocol Deinit the current protocol (BLE, 802.15.4, Z-Wave)
RAILtest 2.8 (GSDK 2.7.x) Help Text#
> help <command> <args> <help text> u=uint8, v=uint16, w=uint32, s=int32, b=string, ?=Anything, *=0 or more of previous --- Application Configuration --- setEventConfig www* [mask<31:0> events<31:0> [mask<63:32> events<63:32>]] Modify RAIL_ConfigEvents with the given mask and events printDataRates Print the data rates of the current PHY resetCounters Resets the Tx and Rx counters setPeripheralEnable u [enable] Enable(1) or Disable(0) LEDs and LCD peripherals setNotifications u [enable] Enable(1) or Disable(0) status prints that happen asynchronously (rxPacket, txEnd, txError) getLogLevels Get whether notifications are set or peripherals are enabled getVersion Get version information. getVersionVerbose Get verbose version information. setPtiProtocol u [protocol] Set PTI protocol for Network Analyzer (0=Custom 2=Thread 3=BLE 4=Connect 5=Zigbee 6=Z-Wave) setPrintingEnable u [enable] Universally enable or disable all printing in railtest. Enabled by default. --- Receive and Transmit --- rx w [enable] Enable(1) or Disable(0) receive mode rxAt wbwbu* [start mode end mode rxTransEndSched hardEnd] Configure scheduled receive. setRxOptions w* [rxOptionsBitField] Configure receive options, based on RAIL_RX_OPTION defines. If called without any parameters, prints the current state of these options. tx w [n] Transmit n packets with tx options. If n is 0 transmit infinitely. Defaults are don't wait for ack, send CRC, use sync word 0. txWithOptions w [n] Same functionality as tx. This command is deprecated txAt wb* [time mode (abort)] Transmit a packet at the time and mode specified. If the string 'abort' is specified and the TX tries to go out during packet reception, the TX will abort, as opposed to being postponed until the RX completes. txAfterRx w [time] Schedule a TX for a delay in us after each receive. 0 to disable configTxOptions w* [txOptionsBitfield] Sets the bitmask to be used as the tx options. See #defines starting with "RAIL_TX_OPTION_" in rail_types.h. Can be called without any parameters to print the current state of these options. setFixedLength v [fixedLength] Configure fixed length setchannel v [channel] Set the current radio channel getchannel Get the current radio channel setFreqOffset s* [(offset)] Sets the frequency offset adjustment. With no argument dis plays the current offset setting. setPower sb* [power raw] Set the current transmit power in deci dBm, or raw units if 'raw' is specified. The radio must be IDLE for setPower to succeed. getPower Get the current transmit power in deci dBm setPowerConfig uvv [mode voltage rampTime] Set the current transmit power config. getPowerConfig Get the current transmit power config. enablePaAutoMode u [enable] Enable automatic configuration of PA's when setting dBm power levels. configPaAutoMode ussu [index min max mode] Configure the entries of default PA Auto Mode configuration provided by the PA Auto Mode plugin. sweepTxPower Sweep power levels for the current PA and stream at each level. offsetLqi s [offset] Add this offset value to the hardware's 8-bit hardware LQI value before being made available to the application. getRssi w* [wait] Get RSSI in dBm if the receiver is turned on. Optionally specify whether or not to wait for a valid value in case it is initially invalid. sweepPower ssw [lowPower] [hiPower] [period] Sweep power in square wave fashion. Specify power in deci dBm, period in microseconds. startAvgRssi wu* [averageTimeUs] [channel] Start AGC RSSI averaging getAvgRssi Get AGC RSSI averaging result. setRssiOffset s Sets the RSSI offset in dBm. getRssiOffset Gets the RSSI offset. setTxTone ww* [enable (antenna)] Enable(1) or Disable(0) a tone from the radio with option of selecting antenna setTxStream ww* [enable (streamMode) (antenna)] Enable(1) or Disable(0) a stream from the radio based on selection of RAIL_StreamMode_t and antenna.(Option : Unspecified - Any, 0 - TX_ANTENNA0, 1 - TX_ANTENNA1). Default settings for streamMode is RAIL_STREAM_PN9_STREAM and for antenna is RAIL_TX_OPTIONS_DEFAULT. status Print the current status counters fifoStatus Print the current fifo related counters setTxHoldOff w [enable] Enable(1) or Disable(0) transmit hold-off (blocking of transmits) setTxDelay w [delay] Set the inter-packet delay in milliseconds for repeated Tx getTxDelay Get the inter-packet delay in milliseconds for repeated Tx setTxPayload vu* [offset byte0 byte1 ...] Set the packet bytes to be sent setRfSenseTxPayload uw [syncwordNumBytes syncWord] Set the RfSense Wakeup Syncword (1-4 bytes) in TX FIFO to wake up a receiving node configured for Selective(OOK) RFSENSE. setTxPayloadQuiet vu* [offset byte0 byte1 ...] Functions like 'setTxPayload', but outputs less information setTxLength v [length] Set the number of bytes to load into the FIFO before transmitting. Actual packet length may vary based on radio configuration printTxPacket Print the current Tx data and length peek v* [number of bytes] [offset] Peek at the start of receive buffer. getTime Get the current time from the RAIL timebase in microseconds setTime w Set the current time in the RAIL timebase in microseconds dataConfig bb [txMethod rxMethod] Choose between 'pkt' and 'fifo' data methods for RAIL Tx and Rx setRxFifo v [length] Set the receive buffer's length, which is used in both packet mode and FIFO mode. The length cannot be set above RX_BUFFER_SIZE. setTxFifoThreshold v [txFifoThreshold] Set the Tx Fifo Almost Emtpy threshold setRxFifoThreshold v [rxFifoThreshold] Set the Rx Fifo Almost Emtpy threshold fifoModeTestOptions uu [txFifoManual rxFifoManual] Manual control over RAILTEST fifo actions rxFifoManualRead uvu* [appendedInfo bytesToRead printTiming] Read bytes out of receive fifo and print txFifoManualLoad Will attempt to load data into the fifo if there is space fifoReset uu [tx rx] Reset the transmit or receive fifo abortRxPacket w [abortOffset] Delay after sync word before idling radio. printTxAcks w [printTxAcks] Enable printing of tx ack packets as they happen. configRxChannelHopping w* [(channel mode parameter delay)...] Configure RX Channel Hopping to hop in the sequence provided, for the given RAIL_RxChannelHoppingMode_t mode, parameter, and interchannel delay. One mode and parameter must be provided per channel. enableRxChannelHopping uu* [enable (reset)] Enable/disable rx channel hopping. The channel hopping will start again from the first member of the sequence is reset is true. configChannelHoppingOptions uu [index options] Configure channel hopping options for the entry of specified index. Must call configRxChannelHopping after this, for options to take effect. getChannelHoppingRssi u [channelIndex] Get the latest RSSI for the channel at the index of the hopping sequence specified. spectrumAnalyzer uv* [(graphics min max)]Emulate spectrum analyzer functionality to get the power across min and max channels (number of channels limited by MAX_NUMBER_CHANNELS) of the current PHY using channel hopping. Specify graphics = 1 for an ASCII-Art graph, which will break out of the standard RAILTest response format. configRxDutyCycle www [mode parameter delay] Configure RX Duty Cycle mode to cycle the receiver with the given parameters. enableRxDutyCycle u [enable] Enable/disable rx duty cycle mode. setTxAltPreambleLen w [length] Set an alternate preable length for transmit, which can be enabled in txOptions. configSyncWords uw* [bits sync1 (sync2)] Set the sync word bit length and value(s). It can be only set when radio is off. getSyncWords Get the sync word length(in bits) and value(s). printRxErrors w [enable] Enable (1) or Disable (0) printing of Rx error packets. Defaults to disabled. stopInfinitePreambleTx Stops the infinite preamble transmission --- Energy Modes and RF Sense --- sleep uw* [EM# [RfSenseUs RfBand] or [SyncwordSize(bytes) Syncword RfBand]] Sleep in EM# with RFSenseUs on RfBand (0=none,1=2.4GHz,2=SubGHz,3=both) (and UART input) for Legacy Mode or SyncwordSize(bytes) and Syncword on RfBand for Selective(OOK) Mode. To enter EM1P if supported, request EM2 with the radio on. rfsense ww* [[RfSenseUs RfBand] or [SyncwordSize(bytes) Syncword RfBand]] Start RfSensing with RSenseUs on RfBand for Legacy Mode or SyncwordSize(bytes) and Syncword on RfBand for Selective(OOK) Mode. configRfSenseWakeupPhy Configure the transmitting node with RFSense Selective(OOK) Wakeup PHY. --- Address Filtering --- configAddressFilter wu* [matchTable offset0 size0 offset1 size1] Configure the addresss filter. setAddressFiltering u [enable] Enable(1) or Disable(0) address filtering. getAddressFiltering Print the current state of address filtering. printAddresses Print the current address filtering addresses. setAddress uuu* [field index value...] Set the address value at (field, index) to value. setAddressEnable uuu [field index enable] Enable address filtering for the given address. --- Error Rate Testing --- perRx ww [packets delayUs] Start a Packet Error Rate test. 'perRx 0 0' will disable ongoing test. perStatus Output the results of the PER test. Also see 'status' command setBerConfig w [number bytes] Set number of bytes to receive in BER mode; 536870911 = max number of bytes to test; 0 = set max number of bytes to test berRx w [enable] Enable(1) or Disable(0) BER receive mode berStatus Get status of last BER test or of current running test; status information is reset for commands setBerConfig and berRx enable --- Listen Before Talk (LBT) --- setLbtMode b* [modeStr] Set LBT mode off, csma, lbt getLbtParams Get the current LBT parameters setLbtParams uuusvvw [minBo maxBo tries thresh backoff duration timeout] Set LBT parameters --- 802.15.4 Mode --- enable802154 bvvvu [defaultState idleTime turnaroundTime ackTimeout (defaultFramePending)] Enable 802.15.4 mode config2p4GHz802154 u* [antDiv coex] Configure the radio for 2.4 GHz 802.15.4. This should be called in addition to 'enable802154'. config863MHz802154 Configure the radio for 863 MHz 802.15.4 GB868. This should be called in addition to 'enable802154'. config915MHz802154 Configure the radio for 915 MHz 802.15.4 GB868. This should be called in addition to 'enable802154'. set802154e w [EOptionsBitfield] Configure 802.15.4E options, based on RAIL_IEEE802154_E_OPTION_ defines. set802154g w [GOptionsBitfield] Configure 802.15.4G options, based on RAIL_IEEE802154_G_OPTION_ defines. set802154fpmode uu [early dataframes] Enable(1) or Disable(0) early frame pending lookup and data frame pending lookup. Default settings are 0 0 acceptFrames uuuu* [command ack data beacon (multipurpose)] Enable(1) or Disable(0) 802.15.4 frame acceptance. Default settings for 802.15.4 are 1 0 1 1 0. setPromiscuousMode u [enable] Enable(1) or Disable(0) promiscuous mode setPanCoordinator u [enable] Enable(1) or Disable(0) the node acting as a PAN coordinator setPanId802154 vu* [panId index] Set the PAN ID for the given index. Index defaults to 0 if not given setShortAddr802154 vu* [shortAddr index] Set the short address(es) for the given index. Index defaults to 0 if not given setLongAddr802154 uuuuuuuuu* [longAddr_0 ... longAddr_7 index] Set the long address for the given index. Index defaults to 0 if not given setAddresses802154 vvb* [panId0 shortAddr0 longAddr0 panId1 ... ] Set all 802.15.4 address information. setDataReqLatency w [us] Set data request event processing latency. --- BLE Mode --- setBleMode u [enable] Set BLE mode to enabled or disabled getBleMode Get the current BLE mode setBleChannelParams uw* [logicalChannel accessAddr crcInit disableWhiten] Configure channel parameters related to BLE setBlePhySwitchToRx uw* [enable phy timeDelta physicalChannel logicalChannel accessAddr crcInit disableWhiten] Configure parameters for BLE PhySwitchToRx. RX is entered timeDelta us after sync word of received packet. setBleAdvertising u [advChannel] Configure for BLE advertising on channel 37, 38, or 39 setBle1Mbps u* [isViterbi] Switch to the 1Mbps BLE PHY setBle2Mbps u* [isViterbi] Switch to the 2Mbps BLE PHY setBleCoding u [coding] Switch to the given RAIL_BLE_Coding_t value --- Z-Wave Mode --- setZWaveMode u* [enable [options]] Set Z-Wave mode to enabled or disabled getZWaveMode Get the current Z-Wave mode setZWaveRegion u [region] Set Z-Wave region getZWaveRegion Get the current Z-Wave region listZWaveRegions List supported Z-Wave regions getZWaveBaudRate Get the baudrate of the current Z-Wave channel setZWaveNodeId u [nodeId] Sets Z-Wave NodeId setZWaveHomeId wu [homeId hash] Sets Z-Wave HomeId and its hash setZWaveOptions u* [options] Enable/Disable Z-Wave options setZWaveLowPower sb* [power raw] Set the low transmit power in deci dBm, or raw units if 'raw' is specified. This will be used during Low Power ACKing. getZWaveLowPower Get the deci dBm value and raw value of the Low transmit power zwaveReceiveBeam Do the beam detection algorithm to receive Z-Wave beams. --- RAIL Timer --- setTimer wb [timeout mode] Set the RAIL timer timeout. You can use either an absolute (abs) or relative (rel) timer mode. timerCancel Cancel the RAIL timer if it's active. printTimerStats Print current timer configuration. enableMultiTimer u [enable] Enable (1) or disable (0) the multiTimer API for use. By default the multiTimer is disabled for single protocol RAIL and enabled for multiprotocol RAIL. setMultiTimer uwb [timer timeout mode] Set a specific timer's timeout, starting with timer 0. You can use either an absolute (abs) or relative (rel) timer mode. multiTimerCancel u [timer] Cancel a specific timer if it's active, starting with timer 0. printMultiTimerStats u [timer] Print a specific timer's configuration, starting with timer 0. delayUs w [delay] Blocking delay for specified number of microseconds. --- Auto Acking --- autoAckConfig bvvv [defaultState idleTime turnaroundTime ackTimeout] Configure and enable auto ack functionality in RAIL. autoAckDisable Disable auto ack. Use autoAckConfig to reenable. setAckPayload vu* [offset byte0 byte1 ...] Set the ack bytes to be sent. setAckLength v [length] Set the number of bytes to transmit for ack payloads printAckPacket Print the current ack data and length getAutoAck Print the current state of auto acking. autoAckPause uu [RxPause TxPause] Pause(1) or Resume(0) Auto Acking setTxAckOptions uu [cancelAck useTxBuf] Enable(1) or Disable(0) feature for one receive --- GPIO Functions --- setGpioOutPin buu [port pin state] Set a GPIO pin's data out bit. --- Diagnostic and Test --- getConfigIndex Get the index of the current radio configuration selected for use. See the entries in *channelConfigs[]. Start with index 0. setConfigIndex u [index] Set the index of the current radio configuration selected for use, and associate this new configuration to the current railHandle. See the entries in *channelConfigs[]. Start with index 0. getmemw ww* [address count] Read count 32bit words starting at address setmemw ww* [address value...] Write as many 32bit values as specified starting at address setCtune v [ctune] Set the value of CTUNE in the CMU->HFXOSTEADYSTATECTRL register. The radio must be IDLE for setCtune to succeed. getCtune Get the value of CTUNE in the CMU->HFXOSTEADYSTATECTRL register setPaCtune uu [txPaCtune] [rxPaCtune] Set the value of PACTUNE for TX and RX mode enablePaCal u [enable] Enable(1) or Disable(0) PA power calibration setDebugSignal ? Configure chip specific debug output. Use 'setDebugSignal help' for more details. setDebugMode w [mode] 1 = Frequency Override. 0 = Disable debug mode freqOverride w [freq] Change to freq specified in Hz. Requires debug mode to be enabled. Only small frequency deviations from the current configuration are supported. directMode u [enable] Enable(1) or Disable(0) direct mode directTx u [enable] Enable(1) or Disable(0) TX in direct mode txCancel su* [delay (stopmode)] Start a single TX that will be cancelled in delay microseconds using stopmode 0=RAIL_Idle(default) or >0=RAIL_StopMode_t. startThermistorMeasurement Configures the thermistor pin and starts a thermistor measurement. getThermistorImpedance Gets the thermistor impedance. getRandom vu* [len hidden] Get len bytes of random data from the radio. Only print them to the screen if hidden is 0 (default). setTxUnderflow w [enable] Enable(1) or Disable(0) TX underflows setRxOverflow w* [enable delayUs] Enable(1) or Disable(0) RX overflows. The overflow will be caused by hanging in the interrupt handler for delayUs setCalibrations w [enable] Enable(1) or Disable(0) RAIL calibrations setTxTransitions bb [txSuccess txError] Set each RAIL TX state transition value to r(x) or i(dle) setRxTransitions bb [rxSuccess rxError] Set each RAIL RX state transition value to t(x), r(x), or i(dle). getTxTransitions Get the RAIL TX state transitions for success and error. getRxTransitions Get the RAIL RX state transitions for success and error. setTxTimePos u [RAIL_PacketTimePosition_t] Set desired Tx timestamp position. setRxTimePos u [RAIL_PacketTimePosition_t] Set desired Rx timestamp position. setTimings vvvv* [idleToRx txToRx idleToTx rxToTx rxSearch txToRxSearch] Set RAIL state transition timings in microseconds forceAssert w [errorCode] Force a RAIL assert with the given error code. printEvents w* [printEvents<31:0> [printEvents<63:32>] [mask<31:0>] [mask<63:32>]] Configure printing of RAIL events in chronological order as they occur. Pass no parameters to see a list of all available event enum names and values. printChipFeatures Display RAIL features supported at compile and runtime on the chip. getAppMode Print the current app mode of RAILTEST. Values printed are those to be found in AppMode_t. getRadioState Get the RAIL radio state. Values returned correspond to RAIL_RadioState_t. verifyRadio wuuu [durationUs restart override callback] Verify radio memory contents and return after duration in microseconds. Restart (1) or resume (0) from last run. enterScript u* [(flash)] Enter script entry mode. Conclude entry mode with text 'end Script'. Specify if script is saved to RAM (0, default) or RAM and flash (1). If saved to flash, script will run on boot. runScript u* [(flash)] Run the script entered via enterScript. Run the script in RAM (0, default) or in flash (1). printScript u* [(flash)] Print the script entered via enterScript. Display the script in RAM (0, default) or in flash (1). clearScript u* [(flash)] Clear the script entered via enterScript. Clear the script in RAM (0, default) or in flash (1). wait wb* [time (mode)] Suspend processing of any input until time in the future. Optionally specify whether the time is relative (rel) (default) or absolute (abs). holdRx u [enable] Enable/Disable holding of received packets instead of instantly processing them. reset Perform a reboot of the chip --- Antenna Commands --- setRfPath w [rfPath] 0=Path0, 1=Path1 --- RAM Modem Reconfiguration Commands --- writeRmrStructure uvuw* This command should only be called by Simplicity Studio and not directly from the CI. updateConfigurationPointer uvu This command should only be called by Simplicity Studio and not directly from the CI. reconfigureModem This command should only be called by Simplicity Studio and not directly from the CI.