-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Si7021 does not play nice with other sensors, e.g. battery, signal #347
Comments
Thanks for reporting the issue. Weird, problem seems to be related to the description. Do you have the sample code you are using to share? When you compile it, how much of your storage results free in %? Thanks |
Sorry for the slow response. Not sure how to best upload code examples, so decided to upload them as commits to a fork: Not working (both battery and Si7021 enabled): Working (just the battery sensor enabled): I've also included the PlatformIO build log, showing the library versions and the storage spent. Is there anything else I can do to troubleshoot? Anything else you need from me? In case the Si7021 library from SparkFun is the culprit, there's a different library that I've had success with (on non-NodeManager nodes): https://github.com/LowPowerLab/SI7021 |
Thanks! Will give your code a try once I'll get to this issue |
I was reviewing your logs and just realized also in your first message it is not just the description as I stated above which is weird but all the numbers I see above are not supposed to be there, same for the PRES repeated so many times. I'd say there must be some sort of incompatibility between the Si7021 and the library I'm currently using. I'll switch to the one used natively on the Micro which is https://github.com/mysensors/MySensorsArduinoExamples/tree/master/libraries/SI7021. Once something will be ready to test I'll share with you here. Thanks again! |
I'll test it as soon as I can, later this month. About to go on vacation without my dev-kit :) |
Thanks, no problem of course and enjoy your vacation! |
Tested #417. Oh wow, quite a lot of changes! :) But I like the current structure. The test was a partial success. Si7021 + battery works correctly (didn't work before) Perhaps there's some kind of buffer overflow? I'll do what I can to try to locate the bug, but it will take some time. Is there something else I can do to help you along? Output from the node, with si7021 + battery + signal enabled: 0 NM:INIT:VER=1.8-dev Output from the gateway: 1600 GWT:TPC:CONNECTING... 4474 TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 |
Glad to see some progress, thanks. Yeah, looks like a wrong pointer or something like that but it's weird it works with a configuration and it doesn't with another. Only thing I can see in your logs which worries me is the free memory of 137 bytes which is way too low (NM:STP:HW V=-1 F=8 M=137). |
Moving out of v1.8 development queue for now but I'll keep it open. Let me know of course if it is not a memory issue. Thanks |
Did some more testing. Disabled all of the NODEMANAGER_* features except _DEBUG and that made the node work correctly. Perhaps it's really just a case of running out of RAM, and not directly related to the si7021 sensor after all? If so, I'm sorry to have taken up your time, and I'm ok with closing the issue. |
Time is invested for good, not taken up, when troubleshooting so no problem at all! This is also telling me memory management is still way from being optimal in some situations....thanks! |
Trying to run NodeManager 1.7 on a SenseBender Micro. When I enable Si7021 without any other sensors, the node reports humidity and temperature just fine. But if I enable other sensors in addition to that, I get a bunch of invalid readings. Tested with various combinations of Si7021, battery, signal. In all cases the node worked fine without Si7021, but started reporting bogus when Si7021 entered the mix.
Here's a sample of the output on serial. I get new random child IDs and types for every reboot.
NodeManager v1.7
LIB V=2.2.0-rc.2 R=N E=X T=N A=A S=A B=-
BATTERY I=201 P=30 T=38
SI7021 I=1 P=6 T=0
SI7021 I=2 P=7 T=1
RADIO...OK
PRES I=0 T=0 D=
PRES I=0 T=0 D=
PRES I=11601 T=9019 D=D�␓�$␡�.A��D(��0␝��+���6␡V��␇
PRES I=0 T=0 D=
PRES I=24578 T=12803 D=D(��0␝��+���6␡V��␇
ES I=0 T=0 D=
ES I=4578 T=12803 D=D(��
PRES I=128 T=26242 D=
PRES I=21536 T=12861 D=2861 D=2861 D=2861 D=2861 D=2861
PRES I=-6479 T=-3673 D=������������
PRES I=-1 T=-1 D=�␏
PRES I=-32640 T=-30208 D=
PRES I=-9030 T=11512 D=⤃�6
PRES I=3389 T=17674 D=
PRES I=0 T=366 D�
���e�O␒t��␗E@�␚ۛ|��␐3��Ůc�!y8␘]nkL��4UREF]��la�,��]6��␏s������6�A���#p�ƾ�)#O␑␟�␎-␇␞�]��␟���P��␑^␃�F�^
PRES I=-7695 T=-14026 D=␏/␝8
PRES I=0 T=0 D=
PRES I=-27135 T=263 D==␏/␝8
ES I=0 T=0 D=
ES I=-27135 T=263 D==␏/␝8
ES I=0
The text was updated successfully, but these errors were encountered: