Comments (3)
according to this article: https://hallard.me/how-to-detect-rfm12b-or-nrf24l01-device-presence-in-your-code/
We can use low battery voltage detection to check for rfm presence.
RFM12 datasheet has the ability to detect low voltage, we will be using this function to detect the device. For this example I’m using LowPowerLab rfm12b library written by Felix and tweaked from excellent one written by jcw from jeelabs, but you can use another one the same way.
The Low voltage threshold can be setup from 3.75V to 2.25V. So until you’re powering the RFM12B device from let’s say 2.4V to 3.6V (which is juste the datasheet recomendation) you will be able to detect the device. The trick is done in two phases.
Set threshold voltage to 3.75V, and check we’re under voltage.
then set threshold voltage to 2.25V and check we’re above under voltage
That’s it, simple and efficient not ?
from hr20-esp12-master.
begin()
should work like this: if the RFM12 was not detected, the code would end without initializing the radio, and every method use would end without using the radio. Error reporting should implement permanent error section.
from hr20-esp12-master.
Inspect the possibility to reset unresponsive radio (reset line?). Further detection of problems via full packet queue.
from hr20-esp12-master.
Related Issues (20)
- Implement EEPROM mirroring HOT 2
- Implement a better WEB interface
- Re-visit interrupt based RFM12 control. HOT 2
- Simplify mqtt subscriptions HOT 2
- Implement an event log HOT 2
- Enable OTA Updates HOT 1
- Replace pubsub client with arduino-mqtt
- Add support for timer table into the web page.
- Often can't set values via mqtt
- Serious time drift in some configurations. HOT 1
- Use unix time, not localtime, in the json fields and in other places. HOT 1
- NTP Time synchronization - implement slew HOT 1
- Some value changes on clients don't get propagated to model HOT 1
- Base work on RFM69 modules HOT 1
- NTPClient discards fractional part of time synchronization HOT 1
- Document the mqtt interface
- SyncedValue - explore the possibility to share the base retry timer with CachedValue
- Add a topic to force resynchronization of a certain client values
- Add home-assistant discovery topics HOT 1
- Cannot Build 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 hr20-esp12-master.