rtxm / rust-nrf24l01

A pure Rust user space driver for NRF24L01(+) transceivers on Linux.
15 stars 29 forks source link

try to support rp2040 through embassy-rp #3

Closed brandonros closed 1 year ago

brandonros commented 1 year ago

I totally understand if you don't want to merge this. I don't know best practices how to half support

  1. an optional thumbv6m-none-eabi target
  2. optional std vs no-std
  3. optional io::Error vs anyhow
  4. how to not dupe the entire impl for NRF24L01 given the minor generic differences impl<SPI, PIN> NRF24L01<SPI, PIN> where SPI: SpiDevice, PIN: OutputPin {

while not breaking existing default std + Linux functionality

brandonros commented 1 year ago

sorry for bombarding a lot of attempts/changes here

i ended up making https://github.com/brandonros/rp2040-transceiver-rs which is a way less good version of your library

for some reason your library didn't work for me RX wise, but i tried to diff the logs between ESP32 RF24 library, this, and my own code, came up relatively empty handed. RF24 doesn't look at FIFO_STATUS for available. your library was able to TX, but not RX

anyway, thanks for this! i'm sure there'd be some slick way to support embedded_hal + no_std without littering all over this repo like i did, i just can't seem to figure out how to do it easily