Rust Embedded HAL for Apache NuttX RTOS
This crate provides Rust Embedded HAL interfaces (GPIO, I2C and SPI) for Apache NuttX RTOS.
For a sample NuttX Rust app, see rust-i2c-nuttx
If you find this crate useful, please support me on GitHub Sponsors
GPIO Output
// Open GPIO Output
let mut gpio = new
.expect;
// Set Chip Select to Low
gpio.set_low
.expect;
// Set Chip Select to High
gpio.set_high
.expect;
GPIO Input
// Open GPIO Input
let gpio = new
.expect;
GPIO Interrupt
// Open GPIO Interrupt
let gpio = new;
.expect;
I2C
// Open I2C Port
let mut i2c = new.expect;
// Buffer for received I2C data
let mut buf = ;
// Read register 0xD0 from I2C Address 0x77
i2c.write_read.expect;
// Print the register value
println!;
SPI
The SPI interface requires the SPI Test Driver (/dev/spitest0) to be installed:
https://github.com/lupyuen/incubator-nuttx/tree/master/drivers/rf
// Open GPIO Output for Chip Select
let mut cs = new
.expect;
// Open SPI Bus
let mut spi = new
.expect;
// Set Chip Select to Low
cs.set_low
.expect;
// Transmit and receive SPI data
let mut data: = ;
spi.transfer
.expect;
// Show the received SPI data
for i in 0..data.len
// Set Chip Select to High
cs.set_high
.expect;