eiannone / lacrossereceiver Goto Github PK
View Code? Open in Web Editor NEWArduino/ESP8266 library for decoding RF 433Mhz signals of Lacrosse wheater stations sensors
License: MIT License
Arduino/ESP8266 library for decoding RF 433Mhz signals of Lacrosse wheater stations sensors
License: MIT License
Hi there,
first thanx for the nice library. I used it in my project and it works fine. nevertheless I have 2 issues for you. Here the first one.
at the end of timing2measure.cpp you have some code to convert sensor temperature less than 50 to a negative number. The code works Ok for temperature below -1 and above 0 but NOT in between. After some analysis the reason is clear: when you increment m.units by one you introduce a degeneracy for this measure range, meaning your code returns 0.2 for both 49.8 and 50.2. the code should return "-0" for the first case, but it is not possible with an int8_t.
This way the calling function has no way to correct the wrong value. For my part I will enhance your measure struct with a bool negZero only for this range. my calling code will have more work ;-) a marginal better way would be to calculate a display string right away and return it, but should we use "." or "," as separator? it depends on the locale, not nice. We could also calculate a float right away, but it seems overkill. maybe you can come to a better idea!
Hi,
here the second issue.
I have 4 sensors sending in my neighbourhood, 2 are mine 2 not (I have no influence on them). The result is that from time to tim eI see a collision and measures get mixed. It is no very often, but I save all measure in a DB and it occurs a couple of time per day.
I changed your code to be more strict and expect exactly 44 bits (I use TX3) moreover I use checksum. This seems to vastly improve the situation (no errors after 2 days)
maybe you could introduce a "strict" parameter to do so? or introduce a "sensorId" parameter and when it is used, be strict. The responsability of any wrapping code would be to get this Id (they are changed when battery are changed)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.