I've been trying to implement CALED/CALFIX commands on the console w/datalogger without success and now I'm thinking there's a bug in the console's firmware (version 3.88).
These two commands update the console's display immediately when changing sensor calibration values. I won't go into further detail on how it works since any response to this post will be from users that already know how it works.
So when I request a packet using CALED, modify any sensor value, then send it back with CALFIX, the display updates immediately as expected. However, whatever had been the value of the temp-out field in the packet is applied to temp-extra1 as well. Doing this cycle again results in the same thing except the now bogus value in temp-extra1 has been shifted to temp-extra2. If I continue issuing CALED/CALFIX commands, then all extra, leaf, and soil temperature fields have this bogus data shifted into them.
Another side effect of this is the bogus extra, leaf, and soil temperature readings become included in loop data despite there being no extra sensors on my system. The readings never change. Only way to clear this all out is to pull the batteries and external power from the console.
I've checked and rechecked my C code and have verified the associated USB traffic is correct (thank goodness for Wireshark). I took a look at weewx and wview to see how they did this. They don't use CALED/CALFIX. They just change the EEPROM calibration values. This works but you won't see the display updated until a new sample is taken. I want it updated NOW
In the off chance that anyone else has encountered this behavior, were you able to work around it?