You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I have setup for two devices Node-A (nRF52840 pca10056) and Node-B (nRF52 pca10040).
Node-B sends report continuously at interval of 2550 msec interval to Node-A.
Node-A receives a message with expected value but at the same time it gets one more message with garbage values.
Message length is 5 bytes so it's unsegmented message.
Copy node-a and node-b folders in zephyrproject or zephyr directory
Compile node-a and node-b for nRF52 boards and flash the same.
Now install nRF mesh app in Android phone.
Provison node A and B
configure Generic On Off Client (element section)
For Node-A, publish to 0xC000 and subscribe to 0xC001
For Node B publish to 0xC001 and subscribe to 0xC000
Now press button-1 on Node-A device. Node-B will starts sending dummy envi report to Node-A.
you can see in uart terminal or RTT viewer
Expected behavior
Node-A should get only one call to function envi_report every 2550 msec and print logs temperature:32 airp:18 humidity:84
but Node-A gets the envi_report function call twice. First time it receives correct value and second call it gives some garbage value for airp and humidity temperature:32 airp:18 humidity:84 Expected values temperature:32 airp:3602 humidity:260 Garbage value for airp and humidity.
Impact
annoyance
Screenshots or Console output
Node-B (sender) console output
Node-A (receiver) console output
code snippet
To get full code please have a look at node-a/src/main.c and node-b/src/main.c
As you say above, every publish will occupy five octers (exclude opcode), but you allocated only four octers.
so, i'm guess that opcode OP_ENVI_REPORT --> 2 octers, and temperature --> 1 octer, and only one octer available for var airp (see #24194 (comment)), other value will be undefined.
Next: you should repair pub buffer to 2 + 1 + 2 + 2 octers.
Describe the bug
I have setup for two devices Node-A (nRF52840 pca10056) and Node-B (nRF52 pca10040).
Node-B sends report continuously at interval of 2550 msec interval to Node-A.
Node-A receives a message with expected value but at the same time it gets one more message with garbage values.
Message length is 5 bytes so it's unsegmented message.
To Reproduce
Steps to reproduce the behavior:
you can see in uart terminal or RTT viewer
Expected behavior
Node-A should get only one call to function envi_report every 2550 msec and print logs
temperature:32 airp:18 humidity:84
but Node-A gets the envi_report function call twice. First time it receives correct value and second call it gives some garbage value for airp and humidity
temperature:32 airp:18 humidity:84
Expected valuestemperature:32 airp:3602 humidity:260
Garbage value for airp and humidity.Impact
annoyance
Screenshots or Console output
Node-B (sender) console output
Node-A (receiver) console output
code snippet
To get full code please have a look at node-a/src/main.c and node-b/src/main.c
Environment
The text was updated successfully, but these errors were encountered: