Info |
---|
This section refers to the following sample application(s):
|
Info |
---|
This application is new to OCSDK 1.2.0 |
The OCSDK stack provides APIs for testing the radio - they are typically used for top-level assembly testing and radio certification testing.
The 03-radioTest Sample Application
The 03-radioTest application largely emulates the testing functions built into the stock mote firmware. See the SmartMesh IP Mote CLI Guide for the meaning of the various arguments. Unlike the stock firmware, the sample does not require putting the mote into an explicit radiotest mode (via radiotest on
) before issuing test commands.
The application provides 3 CLI functions (available by typing help
) for radio testing:
testTx
- start a transmit test (analogous to mote CLI commandradiotest tx
)testRx
- start a receive test (analogous to mote CLI commandradiotest rx
)stat
- print out the results of a completed receive test (analogous to mote CLI commandradiotest stat
)
It also provides a reset
command for easily resetting the part.
No Format |
---|
radioTest app, ver 1.2.0.1
SmartMesh IP stack, ver 1.4.1.8
> testtx
Usage: testtx <testType> <chanMask> <power> <stationId> <repeatCnt> ...
... <numSubtests> {<pkLen> <delay> ...}
> testtx 0 0x0001 8 255 100 1 100 1000
Test started...
>Tx completed
> testrx
Usage: testrx <chanMask> <time (s)> <stationId>
Channel mask is in hex, e.g. 0x0001 selects channel 0 (IEEE ch 11)
>testrx 0x0001 100 255
Starting rx on channel 0
Rx completed
> stat
Radio Test Statistics:
OkCnt : 99
FailCnt : 1
> mshow rstat
OkCnt : 99
FailCnt : 1
AveRSSI : -55
AveLQI : 0
|
Info |
---|
In addition to the |
Implementation Details
The 03-radioTest
sample application uses the Helper Modules to initialize the CLI Module and for interaction with the local interface. It passes JOIN_NO
in the fJoin
flag when initializing the local module in the loc_task_init()
to prevent the local module from attempting to join, as the radio can only be tested when the mote is in either the idle or radioTest state. It has a single dummy task that does nothing but wait. The CLI command handlers parse the command arguments and call helper functions to run the receive and transmit tests. It contains a function to check if the mote is idle - all radiotest functions will return an error if called while the mote is in an incorrect state, so errors can be handled inline if desired.