Will this work for Auto-Flashing and Testing #BL602 via a Linux SBC? Let's find out 🤔
https://github.com/lupyuen/remote-bl602/blob/main/scripts/test.sh
Let's Auto-Flash & Test the Daily Upstream Build of Apache #NuttX OS ... Auto-Built & Published by GitHub Actions
https://github.com/lupyuen/remote-bl602/blob/main/scripts/test.sh#L17-L21
https://github.com/lupyuen/incubator-nuttx/blob/master/.github/workflows/bl602.yml#L82-L112
Connect SBC to PineCone #BL602 at the Reset and GPIO 8 Pins ... So that we control BL602's Flashing Mode via SBC
https://github.com/lupyuen/remote-bl602/blob/main/scripts/test.sh
Our SBC (left) controls PineCone #BL602 (right) via GPIO ... To enter and exit BL602 Flashing Mode 🎉
https://github.com/lupyuen/remote-bl602/blob/main/scripts/test.sh
Here's how we configure our #NuttX Build in GitHub Actions ... To enable errors, warnings, info messages and assertions
https://github.com/lupyuen/incubator-nuttx/blob/master/.github/workflows/bl602.yml#L59-L63
Here's how we enable #LoRaWAN for our #NuttX Build in GitHub Actions ... Let's do Automated NuttX Testing with LoRaWAN! 👍
https://github.com/lupyuen/incubator-nuttx/blob/master/.github/workflows/bl602-commit.yml#L91-L200
We update #BL602 Auto Flash & Test to send the "lorawan_test" command ... Which will start the LoRaWAN Test on #NuttX OS
https://github.com/lupyuen/remote-bl602/blob/main/scripts/test.sh#L108-L111
If #BL602 Auto-Test successfully joins a #LoRaWAN Network ... Means that everything is super hunky dory on Apache #NuttX OS ... GPIO Input / Output / Interrupt, SPI, Timers, Message Queues, PThreads AND Strong Random Number Generator! 👍
https://github.com/lupyuen/remote-bl602/#output-log-for-release-build
What are these addresses in the #NuttX Stack Trace? Let's do Auto Crash Analysis for #BL602 ... And see the Source Code for the Stack Trace
https://github.com/lupyuen/remote-bl602/#output-log-for-upstream-build
Our Crash Analysis Script finds #BL602 Code Addresses in the Output Log ... And shows the matching Source Code from the #NuttX RISC-V Disassembly ... Which was auto-generated by GitHub Actions
https://github.com/lupyuen/remote-bl602/blob/main/scripts/test.sh#L129-L152
Now our Crash Analysis Script shows the matching Source Code whenever #NuttX crashes 👍
https://github.com/lupyuen/remote-bl602/#output-log-for-upstream-build
We also match up the Data Addresses in the #NuttX Stack Trace with the RISC-V Disassembly ... Not very interesting now, might be useful later
https://github.com/lupyuen/remote-bl602/#output-log-for-upstream-build
Merged a huge bunch of #NuttX Upstream Updates ... LoRaWAN still works great! 🎉 Testing upstream updates is so much easier with #BL602 Auto Flash & Test 👍
Here's how we read #BL602's Internal Temperature Sensor ... And add the data to the Entropy Pool in #NuttX OS ... To create truly random LoRaWAN Nonces
https://github.com/lupyuen/lorawan_test/blob/main/lorawan_test_main.c#L772-L797
#NuttX now generates different #LoRaWAN Nonces for every #BL602 Flash & Test ... And the Join Network Request always succeeds! 🎉
https://github.com/lupyuen/incubator-nuttx/releases/tag/release-2022-01-19
Past 14 months I've been flipping the jumper and smashing the button on #BL602 ... But there's a better way! 🙄
Connecting a Linux SBC to PineCone #BL602 ... For Auto Flash & Test
https://lupyuen.github.io/articles/auto?4#connect-bl602-to-single-board-computer
Here's how we control GPIO on #Linux ... And flip the pins connected to #BL602
https://lupyuen.github.io/articles/auto?5#control-gpio-with-linux
#Linux SBC flips the #BL602 Pins to enter Flashing Mode ... No fingers needed! 👌
https://lupyuen.github.io/articles/auto?6#enter-flashing-mode
Nifty trick to stream the output from USB UART in the Background ... As we flip the #BL602 Pins in the Foreground
Here's how we decode a Stack Trace in Apache #NuttX OS
https://lupyuen.github.io/articles/auto?10#nuttx-crash-analysis
Auto Flash & Test generates Duplicate #LoRaWAN Nonces ... Because it's super predictable with Apache #NuttX OS ... Here's how we make it super UNpredictable
https://lupyuen.github.io/articles/auto?16#appendix-fix-lorawan-nonce
Reading #BL602's Internal Temperature ... And feeding to #NuttX Entropy Pool ... To generate totally random #LoRaWAN Nonces
https://lupyuen.github.io/articles/auto?17#appendix-fix-lorawan-nonce
Here's how we build Apache #NuttX OS every day with GitHub Actions
https://lupyuen.github.io/articles/auto?18#appendix-build-nuttx-with-github-actions
Here's how we publish the #NuttX Build Outputs as a GitHub Release
Keeping my #BL602 Articles in sync with #NuttX Upstream looks complicated ... But I'll explain everything ☂️
https://lupyuen.github.io/articles/auto?20#merge-updates-from-nuttx
Here's how I sync my #BL602 Articles with Upstream #NuttX
https://lupyuen.github.io/articles/auto?21#merge-updates-from-nuttx
RESET and GPIO 8 on #BL602 ... Extreme Close-Up
https://lupyuen.github.io/articles/auto?30#connect-bl602-to-single-board-computer
With Auto Flash & Test: No more worries about merging hundreds of Upstream Commits (and thousands of changed files) into our #NuttX Repo! 👍
https://lupyuen.github.io/articles/auto?22#merge-updates-from-nuttx
#NuttX Crash Analysis ... Fully automated in #BL602 Auto Flash & Test
https://lupyuen.github.io/articles/auto?11#auto-analysis