Show older

runs neater on Apache OS ... After implementing Timers and Multithreading with NimBLE Porting Layer ... No more polling and sleep()!

gist.github.com/lupyuen/cad581

SX1262 will trigger a GPIO Interrupt on OS when it receives a Packet ... We wait for the GPIO Interrupt to be Signalled in a Background Thread

github.com/lupyuen/lora-sx1262

Our App resends the same Nonce to the Gateway ... Which (silently) rejects the Join Request due to Duplicate Nonce ... Let's fix our Random Number Generator

gist.github.com/lupyuen/b38434

We enable the Entropy Pool in OS ... To generate Strong Random Numbers for our Nonce

For Random Number Generator, select the Entropy Pool ... To generate Strong Random Numbers for our Nonce

After disabling logging, our App successfully joins the Network! 🎉 Now we transmit some Data Packets over LoRaWAN

Log: gist.github.com/lupyuen/0d3012

Our Gateway receives Data Packets from OS! 🎉 The Message Payload is empty ... Let's figure out why 🤔

Log: gist.github.com/lupyuen/0d3012

Our App sent an empty Message because our message is too long for LoRaWAN Data Rate 2 (max 11 bytes) ... Let's increase the Data Rate to 3

gist.github.com/lupyuen/5fc076

NimBLE Porting Layer doesn't work for multiple Callout Timers on OS, unless we loop the thread ... Will submit a Pull Request to Apache NimBLE 👍

github.com/lupyuen/nimble-port

Switching a GPIO Interrupt Pin to Trigger On Rising Edge ... Crashes with an Assertion Failure ... I'll submit a NuttX Issue, meanwhile I have disabled the assertion

github.com/lupyuen/incubator-n

Here's how we ported Semtech's Stack to Apache OS... And tested it on PineDio Stack BL604 Board

lupyuen.github.io/articles/lor

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.