Let's run this #RustLang program on Apache #NuttX OS
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/rust/src/lib.rs
Our #NuttX Build Script compiles the #RustLang code into a Static Library ... And links the Static Library into the NuttX Firmware
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/run.sh#L85-L103
#RustLang builds OK with #NuttX OS! 🎉 Let's run the NuttX Firmware
https://gist.github.com/lupyuen/9bfd71f7029bb66e327f89c8a58f450d
#RustLang runs OK on #NuttX OS ... We're ready to create Rust Embedded Apps on NuttX! 🎉
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/rust/src/lib.rs
Once we implement the #RustLang Embedded HAL on #NuttX OS ... We can run all kinds of Rust Drivers on NuttX! 👍
https://github.com/tweedegolf/sx126x-rs/blob/master/examples/stm32f103-ping-pong.rs#L58-L85
#RustLang opens GPIO Ports on Apache #NuttX OS ... The POSIX Way 👍
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/rust/src/lib.rs#L10-L27
Let's do SPI in #RustLang on Apache #NuttX OS
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/rust/src/lib.rs#L34-L85
#RustLang on Apache #NuttX OS ... SPI Data Transfer works OK! 🎉
https://gist.github.com/lupyuen/995de62d678cd6d1fadf464e1795fc8d
Let's implement #RustLang Embedded HAL for #NuttX OS ... So that we can test the Rust Driver for LoRa SX1262
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/rust/src/sx1262.rs
#RustLang Embedded HAL for #NuttX OS ... Builds OK with the Rust Driver for LoRa SX1262! 🎉
https://github.com/lupyuen/incubator-nuttx-apps/blob/rust/examples/rust_test/rust/src/sx1262.rs
But the #RustLang Driver for LoRa SX1262 doesn't run correctly on #NuttX OS 🤔
https://gist.github.com/lupyuen/ee010b118166627f04f4fa63d8ccc0c9
#RustLang Driver for LoRa SX1262 splits SPI Transfers into 1-byte and 2-byte chunks ... So this driver won't work on #NuttX OS unless we merge the SPI Transfers 🤔
https://gist.github.com/lupyuen/ee010b118166627f04f4fa63d8ccc0c9
Let's merge the SPI Transfers in the #RustLang Driver for LoRa SX1262 ... And make it work on Apache #NuttX OS
https://github.com/lupyuen/sx126x-rs-nuttx/blob/master/src/sx/slave_select.rs
Modified #RustLang Driver for LoRa SX1262 ... Now runs correctly on Apache #NuttX OS! 🎉
https://gist.github.com/lupyuen/9c637e2c1f6ea331c3df8d8d29e282a8
Our #RustLang Code is compiled into a Static Library ... And linked into our #NuttX Firmware
https://lupyuen.github.io/articles/rust2?5#putting-things-neatly
Importing the POSIX Functions from #NuttX OS into #RustLang ... Very carefully
https://lupyuen.github.io/articles/rust2?6#import-nuttx-functions
#RustLang Embedded HAL is super interesting for Apache #NuttX OS 👍
https://lupyuen.github.io/articles/rust2?8#rust-embedded-hal
Calling #RustLang Embedded HAL from Apache #NuttX OS ... Real slick! 👍
https://lupyuen.github.io/articles/rust2?9#rust-embedded-hal
Can we pick any driver from #RustLang Embedded ... And run it on Apache #NuttX OS? 🤔
https://lupyuen.github.io/articles/rust2?11#rust-driver-for-lora-sx1262
Here's how we call the #RustLang Driver for Semtech SX1262 on #NuttX OS
https://lupyuen.github.io/articles/rust2?12#rust-driver-for-lora-sx1262
How we transmit a #LoRa Message with #RustLang on Apache #NuttX OS
https://lupyuen.github.io/articles/rust2?15#transmit-lora-message
Did #RustLang on #NuttX transmit a #LoRa Message? Let's verify with a Spectrum Analyser
https://lupyuen.github.io/articles/rust2?18#verify-lora-message
We tweaked the #RustLang Driver for LoRa SX1262 to run on #NuttX OS ... By merging the SPI Requests
https://lupyuen.github.io/articles/rust2?17#appendix-fix-sx1262-driver-for-nuttx
Here's how we created the #RustLang Embedded HAL for Apache #NuttX OS
https://lupyuen.github.io/articles/rust2?22#appendix-rust-embedded-hal-for-nuttx
Here's how we inject our #RustLang Code into #NuttX OS ... By overwriting a custom NuttX Library
https://lupyuen.github.io/articles/rust2?24#define-libraries
#NuttX vs Linux: Function Signatures are slightly different ... Beware!
#RustLang Targets ... BL602 vs ESP32 vs ESP32-C3
Neater #RustLang on #NuttX OS ... Thanks to Rust Macros 👍
https://lupyuen.github.io/articles/rust2?4#putting-things-neatly