See https://lupyuen.github.io/articles/pinedio2
nsh> ?
help usage: help [-v] [<cmd>]
? cat help ls uname
Builtin Apps:
bas lorawan_test spi_test
bl602_adc_test lvgldemo spi_test2
getprime lvgltest sx1262_test
gpio nsh timer
hello sensortest tinycbor_test
ikea_air_quality_sensor sh
nsh> uname -a
NuttX 10.2.0-RC0 4ea16dc Apr 5 2022 18:25:59 risc-v bl602evbnsh>
nsh> hello
Hello, World!!
nsh> bl602_adc_test
offset = 2228
temperature = 29.021025 Celsius
Internal Temperature: 29.021025 deg C
offset = 2228
temperature = 29.278988 Celsius
Internal Temperature: 29.278988 deg C
offset = 2228
temperature = 28.892042 Celsius
Internal Temperature: 28.892042 deg C
offset = 2228
temperature = 27.860184 Celsius
Internal Temperature: 27.860184 deg C
offset = 2228
temperature = 29.794918 Celsius
Internal Temperature: 29.794918 deg C
offset = 2228
temperature = 29.665936 Celsius
Internal Temperature: 29.665936 deg C
offset = 2228
temperature = 32.116600 Celsius
Internal Temperature: 32.116600 deg C
offset = 2228
temperature = 30.052883 Celsius
Internal Temperature: 30.052883 deg C
offset = 2228
temperature = 32.245583 Celsius
Internal Temperature: 32.245583 deg C
offset = 2228
temperature = 29.021025 Celsius
Internal Temperature: 29.021025 deg C
nsh> bas
bas 2.4
Copyright 1999-2014 Michael Haardt.
This is free software with ABSOLUTELY NO WARRANTY.
> list
> sleep 10
> 10 print "hello"
> 20 sleep 5
> 30 goto 10
> list
10 print "hello"
20 sleep 5
30 goto 10
> run
hello
hello
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 2300 msec
nsh> gpio
ERROR: Missing required arguments
USAGE: gpio [-t <pintype>] [-w <signo>] [-o <value>] <driver-path>
gpio -h
Where:
<driver-path>: The full path to the GPIO pin driver.
-t <pintype>: Change the pin to this pintype (0-10):
-w <signo>: Wait for a signal if this is an interrupt pin.
-o <value>: Write this value (0 or 1) if this is an output pin.
-h: Print this usage information and exit.
Pintypes:
0: GPIO_INPUT_PIN
1: GPIO_INPUT_PIN_PULLUP
2: GPIO_INPUT_PIN_PULLDOWN
3: GPIO_OUTPUT_PIN
4: GPIO_OUTPUT_PIN_OPENDRAIN
5: GPIO_INTERRUPT_PIN
6: GPIO_INTERRUPT_HIGH_PIN
7: GPIO_INTERRUPT_LOW_PIN
8: GPIO_INTERRUPT_RISING_PIN
9: GPIO_INTERRUPT_FALLING_PIN
10: GPIO_INTERRUPT_BOTH_PIN
nsh> spi_test2
Get Status: received
a2 22
SX1262 Status is 2
Read Register 8: received
a2 a2 a2 a2 80
SX1262 Register 8 is 0x80
nsh>
nsh> sx1262_test
libsx1262 OK!
TODO: create_task
init_driver
TODO: SX126xReset
init_event_queue
init_gpio
DIO1 pintype before=5
init_gpio: change DIO1 to Trigger GPIO Interrupt on Rising Edge
gpio_ioctl: Requested pintype 8, but actual pintype 5
DIO1 pintype after=5
Starting process_dio1
process_dio1 started
process_dio1: event=0x420254d8
init_spi
SX126xSetTxParams: power=22, rampTime=7
SX126xSetPaConfig: paDutyCycle=4, hpMax=7, deviceSel=0, paLut=1
TimerInit: 0x420254b0
callout_handler: lock
TimerInit: 0x4202541c
RadioSetChannel: freq=923000000
RadioSetTxConfig: modem=1, power=14, fdev=0, bandwidth=0, datarate=7, coderate=1, preambleLen=8, fixLen=0, crcOn=1, freqHopOn=0, hopPeriod=0, iqInverted=0, timeout=3000
RadioSetTxConfig: SpreadingFactor=7, Bandwidth=4, CodingRate=1, LowDatarateOptimize=0, PreambleLength=8, HeaderType=0, PayloadLength=255, CrcMode=1, InvertIQ=0
RadioStandby
RadioSetModem
SX126xSetTxParams: power=14, rampTime=7
SX126xSetPaConfig: paDutyCycle=4, hpMax=7, deviceSel=0, paLut=1
RadioSetRxConfig
RadioStandby
RadioSetModem
RadioSetRxConfig done
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
receive_message
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 10000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
Done!
NuttShell (NSH) NuttX-10.2.0-RC0
nsh> timer
Open /dev/timer0
flags: 4202b168 timeout: 4294967295 timeleft: 4294967295 nsignals: 0
Set timer interval to 1000000
flags: 000f4240 timeout: 1000000 timeleft: 1000000 nsignals: 0
Attach timer handler
flags: 000f4000 timeout: 1000000 timeleft: 1000000 nsignals: 0
Start the timer
flags: 000f4000 timeout: 1000000 timeleft: 1000000 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 896607 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 786645 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 676641 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 566645 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 456638 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 346645 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 236641 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 126645 nsignals: 0
flags: 000f4000 timeout: 1000000 timeleft: 16641 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 999706 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 896636 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 786649 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 676645 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 566649 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 456643 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 346649 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 236645 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 126649 nsignals: 1
flags: 000f4000 timeout: 1000000 timeleft: 16643 nsignals: 2
Stop the timer
flags: 00000000 timeout: 1000000 timeleft: 999796 nsignals: 2
Finished
nsh>
nsh> tinycbor_test
test_cbor: Encoding { "t": 1234 }
CBOR Output: 6 bytes
0xa1
0x61
0x74
0x19
0x04
0xd2
test_cbor2: Encoding { "t": 1234, "l": 2345 }
CBOR Output: 11 bytes
0xa2
0x61
0x74
0x19
0x04
0xd2
0x61
0x6c
0x19
0x09
0x29
nsh>
nsh> lorawan_test
init_entropy_pool
offset = 2228
temperature = 31.342707 Celsius
offset = 2228
temperature = 31.600670 Celsius
offset = 2228
temperature = 32.374565 Celsius
offset = 2228
temperature = 30.568811 Celsius
###### ===================================== ######
Application name : lorawan_test
Application version: 1.2.0
GitHub base version: 5.0.0
###### ===================================== ######
init_event_queue
TimerInit: 0x420263b0
callout_handler: lock
TimerInit: 0x420263cc
TimerInit: 0x420263e8
TimerInit: 0x42026464
TimerInit: 0x42026518
TimerInit: 0x42026534
TimerInit: 0x42026550
TimerInit: 0x4202656c
TODO: RtcGetCalendarTime
TODO: SX126xReset
init_gpio
DIO1 pintype before=5
init_gpio: change DIO1 to Trigger GPIO Interrupt on Rising Edge
gpio_ioctl: Requested pintype 8, but actual pintype 5
DIO1 pintype after=5
Starting process_dio1
process_dio1 started
process_dio1: event=0x420254d8
init_spi
SX126xSetTxParams: power=22, rampTime=7
SX126xSetPaConfig: paDutyCycle=4, hpMax=7, deviceSel=0, paLut=1
TimerInit: 0x420254b0
TimerInit: 0x4202541c
RadioSetModem
RadioSetModem
RadioSetPublicNetwork: public syncword=3444
RadioSleep
DIO1 add event
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
TODO: EepromMcuReadBuffer
RadioSetModem
RadioSetPublicNetwork: public syncword=3444
DevEui : 4B-C1-5E-E7-37-7B-B1-5B
JoinEui : 00-00-00-00-00-00-00-00
Pin : 00-00-00-00
TimerInit: 0x42026008
TimerInit: 0x42026024
TimerInit: 0x42025ee8
TODO: RtcGetCalendarTime
TODO: RtcBkupRead
TODO: RtcBkupRead
RadioSetChannel: freq=923200000
RadioSetTxConfig: modem=1, power=13, fdev=0, bandwidth=0, datarate=10, coderate=1, preambleLen=8, fixLen=0, crcOn=1, freqHopOn=0, hopPeriod=0, iqInverted=0, timeout=4000
RadioSetTxConfig: SpreadingFactor=10, Bandwidth=4, CodingRate=1, LowDatarateOptimize=0, PreambleLength=8, HeaderType=0, PayloadLength=255, CrcMode=1, InvertIQ=0
RadioStandby
RadioSetModem
SX126xSetTxParams: power=13, rampTime=7
SX126xSetPaConfig: paDutyCycle=4, hpMax=7, deviceSel=0, paLut=1
SecureElementRandomNumber: 0x4cf3f475
RadioSend: size=23
00 00 00 00 00 00 00 00 00 5b b1 7b 37 e7 5e c1 4b 75 f4 25 8f fe 96
RadioSend: PreambleLength=8, HeaderType=0, PayloadLength=23, CrcMode=1, InvertIQ=0
TimerStop: 0x420254b0
TimerStart2: 0x420254b0, 4000 ms
callout_reset: evq=0x42013264, ev=0x420254b0
###### =========== MLME-Request ============ ######
###### MLME_JOIN ######
###### ===================================== ######
STATUS : OK
StartTxProcess
TimerInit: 0x42015b9c
TimerSetValue: 0x42015b9c, 42249 ms
OnTxTimerEvent: timeout in 42249 ms, event=0
TimerStop: 0x42015b9c
TimerSetValue: 0x42015b9c, 42249 ms
TimerStart: 0x42015b9c
TimerStop: 0x42015b9c
TimerStart2: 0x42015b9c, 42249 ms
callout_reset: evq=0x42013264, ev=0x42015b9c
handle_event_queue
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_TX_DONE
TimerStop: 0x420254b0
TODO: RtcGetCalendarTime
TODO: RtcBkupRead
RadioOnDioIrq
RadioIrqProcess
RadioSleep
DIO1 add event
TimerSetValue: 0x420263cc, 4988 ms
TimerStart: 0x420263cc
TimerStop: 0x420263cc
TimerStart2: 0x420263cc, 4988 ms
callout_reset: evq=0x42013264, ev=0x420263cc
TimerSetValue: 0x420263e8, 5988 ms
TimerStart: 0x420263e8
TimerStop: 0x420263e8
TimerStart2: 0x420263e8, 5988 ms
callout_reset: evq=0x42013264, ev=0x420263e8
TODO: RtcGetCalendarTime
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
callout_handler: unlock
callout_handler: evq=0x42013264, ev=0x420263cc
callout_handler: lock
handle_event_queue: ev=0x420263cc
TimerStop: 0x420263cc
RadioStandby
RadioSetChannel: freq=923200000
RadioSetRxConfig
RadioStandby
RadioSetModem
RadioSetRxConfig done
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 3000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_PREAMBLE_DETECTED
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_HEADER_VALID
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_RX_DONE
TimerStop: 0x4202541c
RadioOnDioIrq
RadioIrqProcess
RadioSleep
DIO1 add event
TimerStop: 0x420263e8
OnTxData
###### =========== MLME-Confirm ============ ######
STATUS : OK
OnJoinRequest
###### =========== JOINED ============ ######
OTAA
DevAddr : 01E1E60D
DATA RATE : DR_2
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
UplinkProcess
PrepareTxFrame: Transmit to LoRaWAN: Hi NuttX (9 bytes)
PrepareTxFrame: status=0, maxSize=11, currentSize=11
LmHandlerSend: Data frame
TODO: RtcGetCalendarTime
TODO: RtcBkupRead
RadioSetChannel: freq=923400000
RadioSetTxConfig: modem=1, power=13, fdev=0, bandwidth=0, datarate=9, coderate=1, preambleLen=8, fixLen=0, crcOn=1, freqHopOn=0, hopPeriod=0, iqInverted=0, timeout=4000
RadioSetTxConfig: SpreadingFactor=9, Bandwidth=4, CodingRate=1, LowDatarateOptimize=0, PreambleLength=8, HeaderType=0, PayloadLength=128, CrcMode=1, InvertIQ=0
RadioStandby
RadioSetModem
SX126xSetTxParams: power=13, rampTime=7
SX126xSetPaConfig: paDutyCycle=4, hpMax=7, deviceSel=0, paLut=1
RadioSend: size=22
40 0d e6 e1 01 00 01 00 01 29 a5 35 7f fd c6 6f 1d e7 ae 5a 73 05
RadioSend: PreambleLength=8, HeaderType=0, PayloadLength=22, CrcMode=1, InvertIQ=0
TimerStop: 0x420254b0
TimerStart2: 0x420254b0, 4000 ms
callout_reset: evq=0x42013264, ev=0x420254b0
###### =========== MCPS-Request ============ ######
###### MCPS_UNCONFIRMED ######
###### ===================================== ######
STATUS : OK
PrepareTxFrame: Transmit OK
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_TX_DONE
TimerStop: 0x420254b0
TODO: RtcGetCalendarTime
TODO: RtcBkupRead
RadioOnDioIrq
RadioIrqProcess
RadioSleep
DIO1 add event
TimerSetValue: 0x420263cc, 980 ms
TimerStart: 0x420263cc
TimerStop: 0x420263cc
TimerStart2: 0x420263cc, 980 ms
callout_reset: evq=0x42013264, ev=0x420263cc
TimerSetValue: 0x420263e8, 1988 ms
TimerStart: 0x420263e8
TimerStop: 0x420263e8
TimerStart2: 0x420263e8, 1988 ms
callout_reset: evq=0x42013264, ev=0x420263e8
TODO: RtcGetCalendarTime
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
callout_handler: unlock
callout_handler: evq=0x42013264, ev=0x420263cc
callout_handler: lock
handle_event_queue: ev=0x420263cc
TimerStop: 0x420263cc
RadioStandby
RadioSetChannel: freq=923400000
RadioSetRxConfig
RadioStandby
RadioSetModem
RadioSetRxConfig done
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 3000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_RX_TX_TIMEOUT
TimerStop: 0x4202541c
RadioOnDioIrq
RadioIrqProcess
RadioSleep
DIO1 add event
TimerStop: 0x420263e8
TimerStop: 0x420263b0
OnTxData
###### =========== MCPS-Confirm ============ ######
STATUS : OK
###### ===== UPLINK FRAME 1 ===== ######
CLASS : A
TX PORT : 1
TX DATA : UNCONFIRMED
48 69 20 4E 75 74 74 58 00
DATA RATE : DR_3
U/L FREQ : 923400000
TX POWER : 0
CHANNEL MASK: 0003
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
UplinkProcess
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
UplinkProcess
callout_handler: unlock
callout_handler: evq=0x42013264, ev=0x42015b9c
callout_handler: lock
handle_event_queue: ev=0x42015b9c
OnTxTimerEvent: timeout in 42249 ms, event=0x42015b9c
TimerStop: 0x42015b9c
TimerSetValue: 0x42015b9c, 42249 ms
TimerStart: 0x42015b9c
TimerStop: 0x42015b9c
TimerStart2: 0x42015b9c, 42249 ms
callout_reset: evq=0x42013264, ev=0x42015b9c
RadioOnDioIrq
RadioIrqProcess
UplinkProcess
PrepareTxFrame: Transmit to LoRaWAN: Hi NuttX (9 bytes)
PrepareTxFrame: status=0, maxSize=53, currentSize=53
LmHandlerSend: Data frame
TODO: RtcGetCalendarTime
TODO: RtcBkupRead
RadioSetChannel: freq=923200000
RadioSetTxConfig: modem=1, power=13, fdev=0, bandwidth=0, datarate=9, coderate=1, preambleLen=8, fixLen=0, crcOn=1, reqHopOn=0, hopPeriod=0, iqInverted=0, timeout=4000
RadioSetTxConfig: SpreadingFactor=9, Bandwidth=4, CodingRate=1, LowDatarateOptimize=0, PreambleLength=8, HeaderType=0, PayloadLength=128, CrcMode=1, InvertIQ=0
RadioStandby
RadioSetModem
SX126xSetTxParams: power=13, rampTime=7
SX126xSetPaConfig: paDutyCycle=4, hpMax=7, deviceSel=0, paLut=1
RadioSend: size=22
40 0d e6 e1 01 00 02 00 01 21 b8 2e 68 cf d5 82 36 38 2e 5e 65 aa
RadioSend: PreambleLength=8, HeaderType=0, PayloadLength=22, CrcMode=1, InvertIQ=0
TimerStop: 0x420254b0
TimerStart2: 0x420254b0, 4000 ms
callout_reset: evq=0x42013264, ev=0x420254b0
###### =========== MCPS-Request ============ ######
###### MCPS_UNCONFIRMED ######
###### ===================================== ######
STATUS : OK
PrepareTxFrame: Transmit OK
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_TX_DONE
TimerStop: 0x420254b0
TODO: RtcGetCalendarTime
TODO: RtcBkupRead
RadioOnDioIrq
RadioIrqProcess
RadioSleep
DIO1 add event
TimerSetValue: 0x420263cc, 980 ms
TimerStart: 0x420263cc
TimerStop: 0x420263cc
TimerStart2: 0x420263cc, 980 ms
callout_reset: evq=0x42013264, ev=0x420263cc
TimerSetValue: 0x420263e8, 1988 ms
TimerStart: 0x420263e8
TimerStop: 0x420263e8
TimerStart2: 0x420263e8, 1988 ms
callout_reset: evq=0x42013264, ev=0x420263e8
TODO: RtcGetCalendarTime
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
callout_handler: unlock
callout_handler: evq=0x42013264, ev=0x420263cc
callout_handler: lock
handle_event_queue: ev=0x420263cc
TimerStop: 0x420263cc
RadioStandby
RadioSetChannel: freq=923200000
RadioSetRxConfig
RadioStandby
RadioSetModem
RadioSetRxConfig done
RadioRx
TimerStop: 0x4202541c
TimerStart2: 0x4202541c, 3000 ms
callout_reset: evq=0x42013264, ev=0x4202541c
RadioOnDioIrq
RadioIrqProcess
DIO1 add event
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
IRQ_RX_TX_TIMEOUT
TimerStop: 0x4202541c
RadioOnDioIrq
RadioIrqProcess
RadioSleep
DIO1 add event
TimerStop: 0x420263e8
TimerStop: 0x420263b0
OnTxData
###### =========== MCPS-Confirm ============ ######
STATUS : OK
###### ===== UPLINK FRAME 2 ===== ######
CLASS : A
TX PORT : 1
TX DATA : UNCONFIRMED
48 69 20 4E 75 74 74 58 00
DATA RATE : DR_3
U/L FREQ : 923200000
TX POWER : 0
CHANNEL MASK: 0003
TODO: EepromMcuWriteBuffer
TODO: EepromMcuWriteBuffer
UplinkProcess
handle_event_queue: ev=0x420254d8
RadioOnDioIrq
RadioIrqProcess
RadioOnDioIrq
RadioIrqProcess
UplinkProcess