Giter Site home page Giter Site logo

eiannone / lacrossereceiver Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 3.0 202 KB

Arduino/ESP8266 library for decoding RF 433Mhz signals of Lacrosse wheater stations sensors

License: MIT License

CMake 1.55% C++ 98.45%
433mhz platformio arduino esp8266 wemos-d1-mini lacrosse

lacrossereceiver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lacrossereceiver's Issues

wrong handling of negative zero temperature

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!

Conflict when more than one sensor are sending

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.