After disabling logging, our #NuttX App successfully joins the #LoRaWAN Network! 🎉 Now we transmit some Data Packets over LoRaWAN
Log: https://gist.github.com/lupyuen/0d301216bbf937147778bb57ab0ccf89
Our #NuttX App was too busy to receive the #LoRaWAN Join Response ... Let's disable the logging
Log: https://gist.github.com/lupyuen/8f012856b9eb6b9a762160afd83df7f8
Our #NuttX App now sends Random #LoRaWAN Nonces to the LoRaWAN Gateway ... And are happily accepted by the gateway! 🎉
Log: https://gist.github.com/lupyuen/8f012856b9eb6b9a762160afd83df7f8
Here's how we generate #LoRaWAN Nonces on #NuttX OS ... With Strong Random Numbers thanks to Entropy Pool
https://github.com/lupyuen/LoRaMac-node-nuttx/blob/master/src/nuttx.c#L136-L153
$1.8 XT-ZB1 Zigbee & BLE devkit features BL702 #RISCV module
https://www.cnx-software.com/2021/12/27/xt-zb1-zigbee-ble-devkit-bl702-risc-v-module/
#LoRaWAN gets the Nonce from the Secure Element's Random Number Generator ... Let's simulate the Secure Element on Apache #NuttX OS
https://github.com/lupyuen/LoRaMac-node-nuttx/blob/master/src/mac/LoRaMacCrypto.c#L980-L996
Our #NuttX App resends the same Nonce to the #LoRaWAN Gateway ... Which (silently) rejects the Join Request due to Duplicate Nonce ... Let's fix our Random Number Generator
https://gist.github.com/lupyuen/b38434c3d27500444382bb4a066691e5
Our #NuttX Background Thread handles the GPIO Interrupts (SX1262 DIO1) ... By adding to the #LoRaWAN Event Queue
https://github.com/lupyuen/lora-sx1262/blob/lorawan/src/sx126x-nuttx.c#L863-L892
We handle GPIO Interrupts (SX1262 DIO1) in a #NuttX Background Thread ... Awaiting the Signal for GPIO Interrupt
https://github.com/lupyuen/lora-sx1262/blob/lorawan/src/sx126x-nuttx.c#L835-L861
SX1262 will trigger a GPIO Interrupt on #NuttX OS when it receives a #LoRa Packet ... We wait for the GPIO Interrupt to be Signalled in a Background Thread
https://github.com/lupyuen/lora-sx1262/blob/lorawan/src/sx126x-nuttx.c#L742-L778
Here's how we check the SX1262 Busy Pin on #NuttX OS ... By reading the GPIO Input
https://github.com/lupyuen/lora-sx1262/blob/lorawan/src/sx126x-nuttx.c#L184-L199
#LoRaWAN runs neater on Apache #NuttX OS ... After implementing Timers and Multithreading with NimBLE Porting Layer ... No more polling and sleep()!
https://gist.github.com/lupyuen/cad58115be4cabe8a8a49c0e498f1c95
@lupyuen If you are used to Lora, you will get very disappointed with Zigbee. I used to use Zigbee, but it was a nightmare... no reach, and almost no actual interop between manufacturers, even though that was a requirement.
Have a Great Boxing Sunday🥊
https://learningenglish.voanews.com/a/boxing-day-and-box-expressions/6363983.html
@lupyuen I can't really say quite why, but somehow, the more broken the Pinephone (Pro) is, the more I love it. I think it's the sense that this is something that WILL be great, and all the shortcomings now, are just low hanging opportunities to quickly improve, just waiting to happen. Improvements that even I, as a non coder, can help with. (Bug triage, reporting, testing, graphic design,documentation etc). 📱 💕
"LG’s 16:18 Ultra-Tall Monitor means less scrolling"
https://arstechnica.com/gadgets/2021/12/lgs-1618-ultra-tall-monitor-means-less-scrolling/
"Future of the Semiconductor industry / reliance on China?"
IoT Techie and Educator / Apache NuttX PMC