rtxm / rust-nrf24l01

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

Not working on raspberry pi 3 #2

Open Nickalus opened 2 years ago

Nickalus commented 2 years ago

I've connected a NRF24L01 to my raspberry pi and am unable to get the examples working. I've tried both the transmit and receiver.

When trying the transmitter it never returns from the send command. Do you have the pinout that you used in your testing?

I've tried multiple configurations. Landing on this: https://www.hackster.io/wirekraken/connecting-an-nrf24l01-to-raspberry-pi-9c0a57 which I have tested with python and it does work correctly.

rtxm commented 2 years ago

The examples expect the CE pin of the NRF to be connected to GPIO25, so maybe you are missing this one? (I noticed that the documentation is lacking that precision).

Did you try with the lastest master?

Nickalus commented 2 years ago

I've updated my Cargo.toml to pull from master. Still the same result with CE on GPIO25. SPI is working via spidev_test (https://github.com/torvalds/linux/blob/master/tools/spi/spidev_test.c). The result is the same though. Never returning from match device.send()

rtxm commented 2 years ago

Do you compile on the raspberry or do you cross-compile on your PC? Also,the examples assume the NRF is connected to the SPI0 device, not SPI1.

Nickalus commented 2 years ago

I'm compiling on the Pi, and it's running on SPI0. Using the simple emitter code from the repo without any changes.

rtxm commented 2 years ago

Does the scanner example work?

Nickalus commented 2 years ago

Channel 0: 0 Channel 1: 0 Channel 2: 0 Channel 3: 0 Channel 4: 0 Channel 5: 0 Channel 6: 0 Channel 7: 0 Channel 8: 0 Channel 9: 0 Channel 10: 0 Channel 11: 0 Channel 12: 0 Channel 13: 0 Channel 14: 0 Channel 15: 0 Channel 16: 0 Channel 17: 0 Channel 18: 0 Channel 19: 0 Channel 20: 0 Channel 21: 0 Channel 22: 0 Channel 23: 0 Channel 24: 0 Channel 25: 0 Channel 26: 0 Channel 27: 0 Channel 28: 0 Channel 29: 0 Channel 30: 0 Channel 31: 0 Channel 32: 0 Channel 33: 0 Channel 34: 0 Channel 35: 0 Channel 36: 0 Channel 37: 0 Channel 38: 0 Channel 39: 0 Channel 40: 0 Channel 41: 0 Channel 42: 0 Channel 43: 0 Channel 44: 0 Channel 45: 0 Channel 46: 0 Channel 47: 0 Channel 48: 0 Channel 49: 0 Channel 50: 0 Channel 51: 0 Channel 52: 0 Channel 53: 0 Channel 54: 0 Channel 55: 0 Channel 56: 0 Channel 57: 0 Channel 58: 0 Channel 59: 0 Channel 60: 0 Channel 61: 0 Channel 62: 0 Channel 63: 0 Channel 64: 0 Channel 65: 0 Channel 66: 0 Channel 67: 0 Channel 68: 0 Channel 69: 0 Channel 70: 0 Channel 71: 0 Channel 72: 0 Channel 73: 0 Channel 74: 0 Channel 75: 0 Channel 76: 0 Channel 77: 0 Channel 78: 0 Channel 79: 0 Channel 80: 0 Channel 81: 0 Channel 82: 0 Channel 83: 0 Channel 84: 0 Channel 85: 0 Channel 86: 0 Channel 87: 0 Channel 88: 0 Channel 89: 0 Channel 90: 0 Channel 91: 0 Channel 92: 0 Channel 93: 0 Channel 94: 0 Channel 95: 0 Channel 96: 0 Channel 97: 0 Channel 98: 0 Channel 99: 0 Channel 100: 0 Channel 101: 0 Channel 102: 0 Channel 103: 0 Channel 104: 0 Channel 105: 0 Channel 106: 0 Channel 107: 0 Channel 108: 0 Channel 109: 0 Channel 110: 0 Channel 111: 0 Channel 112: 0 Channel 113: 0 Channel 114: 0 Channel 115: 0 Channel 116: 0 Channel 117: 0 Channel 118: 0 Channel 119: 0 Channel 120: 0 Channel 121: 0 Channel 122: 0 Channel 123: 0 Channel 124: 0 Channel 125: 0

This was the output from that run. So it seems to be working?

rtxm commented 2 years ago

Which version is your linux kernel?