The Node Layer (centre) in our #BL602#LoRaWAN Driver handles the networking operations for our BL602 LoRaWAN Node ... It's called by the Application Layer (left)
Semtech #LoRaWAN Stack is structured according to IEEE 802.15.4 ... Yep LoRaWAN shares the same legacy as Thread, Zigbee and 6LoWPAN! We shall port this #IoT Legacy to #BL602
The Medium Access Control Layer (right) of our #BL602#LoRaWAN Driver implements the LoRaWAN Protocol: Encryption, Receive Window, Duty Cycle, ... It exposes the MCPS Messaging Interface (IEEE 802.15.4) to the Node Layer (centre) via an Event Queue
Curiously, our #BL602#LoRaWAN Driver includes a Command-Line Interface (bottom) that Transmits and Receives LoRa Packets ... Directly calling the SX1276 Driver 🤔
What's an Mbuf? Why is it used by our #BL602#LoRaWAN Driver? Mbufs are Chains of Fixed-Size Blocks ... Works great with little RAM (no fragmentation) ... Created for BSD Unix in 1983!
...Which explains why so many folks at STMicro are now reading this #BL602#LoRaWAN Thread
😉
Yep "pbuf" from the #BL602 Lightweight IP Stack can be used instead of Mbuf ... We just need to shift the Header / Payload Pointer to work on #LoRaWAN Packets
Our #RustLang App compiles for Software Floating-Point, but Apache #NuttX RTOS expects Hardware Floating-Point ... Let's fix this with a Rust Custom Target for QEMU #RISCV
Apache #NuttX RTOS crashes on @ThePine64 Star64 #JH7110 #RISCV SBC because there's no Semihosting ... Let's modify NuttX to boot with an Initial RAM Disk instead (initrd)