Comments (6)
This is likely not an issue with the library, but with the modules you have. I would suggest that the retry periods aren't working as intended. I would also assume that the radios are just having trouble communicating, in case of the PA+LNA modules, you can try shielding if none is present per https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md
What kind of modules are you using and which work, which don't?
from rf24.
Transmitting data (via electromagnetic radiation through the air) is not solely reliant on the hardware and software. There are ambient variables that we often have no control over (temperature, humidity, physical obstacles, etc). Some other factors that we can be mindful of (and attempt to compensate for) are other transmitting devices using the 2.4GHz bandwidth (WiFi & Bluetooth for example).
2.7 ms for a single 8-byte transmission seems rather long. BTW, 100 ms is the timeout that write()
uses internally.
from rf24.
There's a Hackaday article about identifying counterfeit nRF24L01+ chips, it might help identifying them in the future.
from rf24.
What kind of modules are you using and which work, which don't?
It's always the same module, this basic one: https://de.aliexpress.com/item/1005005642753224.html
At the moment they are sending without Rx present, so I want them to not reach any destination. In this case I expect to have the timeout after 2.7us, as per retries and time defined. But one module, that previously did 2.7us now does 98000us... So probably a hardware defect?
2.7 ms for a single 8-byte transmission seems rather long. BTW, 100 ms is the timeout that write() uses internally.
Yeah, its not transmitting, just reaching the limit of retries, as I dont have a Rx present. But good to know the 100ms is the internal timeout, so probably the module is defect and the code itself times out at the 100ms mark..
from rf24.
I've never considered aliexpress to be a good source for these radios, rather I think of aliexpress like an amazon-clone but much much worse. The first review on that store page calls them clones. FYI, its not a good sign if there is no writing printed on the chip itself. Since the nRF24L01 chip goes for $2 or more on mouser.com when purchased in mass quantities, I think its safe to say that a $1 radio is not using an authentic nRF24L01 chip.
The 100 ms timeout used (exclusively) in RF24::write()
often indicates a wiring problem. But it is not specific to wiring; it simply means the radio is not behaving as the library expects it to. Also, you can check RF24::failureDetected
after calling write()
because the 100 ms timeout will assert that boolean attribute.
from rf24.
Yeah, its not the best source for sure. Out of 100 modules I had 5 with a defect from production, thats ok for me. None of them use a genuine IC for sure, but all work properly so far (except this one which died during operation)
So I will book this module as "death in service" and close this case.
Thanks for the hints. My hope was that I just overlooked some register which now magically changed the content, producin this behavior :D
from rf24.
Related Issues (20)
- Can RF24 library be used with WiFi? HOT 4
- [Question] setChannel & setDataRate not read correctly by printPrettyDetails ? HOT 4
- ESP32 Core Panic on radio 0; No panic on Radio number 1, same wiring. How to troubleshoot?[Question] HOT 22
- Use Linux kernel's character device API to implement IRQ capability HOT 113
- [Question] R24.h, testRPD(void) "Strong signal > 64dBm" : "Weak signal < 64dBm" HOT 5
- [Question] Issue using the ManualAcknowledgements.ino HOT 11
- Multiple senders one receiver HOT 1
- reorganize examples HOT 5
- revise MRAA driver's GPIO
- Phasing out most Linux drivers HOT 1
- [Question] Address names used in examples problematic? HOT 8
- Library blocks 11 pin HOT 1
- Unable to use SPI1 on the raspberry pi pico HOT 3
- NRF24L01 does not show all characters in the receiver HOT 4
- Problem using stopListening() and startListening() HOT 3
- can't find RF24 method inside RF24 module HOT 18
- Change `SERIAL_DEBUG` into `RF24_DEBUG` HOT 7
- Trouble with receiving data on RP2040 HOT 1
- CE set LOW twice consecutively in `startConstantCarrier()` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rf24.