Admittedly, my changes were a "screw with it till it looks right" exercise and was not exactly sure the intent behind some of the variables. The issue I was running into was the the lcd_window_offset needed to be negative which was causing weird things to happen. Rather than try to figure out how to fix that, I just used a different variable. There may be a better solution.Does your model actually need lcd_ex_offset at all? The reason I use lcd_window_offset to expand the size of the case is because I want all the spacings to be the same (EDIT: or at least the outer sides), but your model doesn't have that symmetry. Looks like I can remove lcd_ex_offset from your design without compromising the design at all right?
It appears to be commented out in the SCAD as "lid()". You can turn it on by uncommenting it. I did not try to print a lid so cannot confirm if it comes out correctly.is there a back cover somewhere I'm missing for these? it's not on the thingiverse page or the scad...
ok, thanks for the info! I ordered the same displays you did and NONE of them are marked with which color they are on the back! So trying to figure out how to light these up to check color...It appears to be commented out in the SCAD as "lid()". You can turn it on by uncommenting it. I did not try to print a lid so cannot confirm if it comes out correctly.
#include <ArduinoJson.h>
well I closed all the tabs, only ones open is the metermonitor.ino and segment_chars.h, still getting this:I've never seen anything like that before. It seems like something in the Arduino build process isn't working right. I only have 1.8.12 though so I'll try it with 1.8.13 tonight. From your log it looks like there's more options in the Arduino app that I don't have. Weirdly, when I compile, I don't even see it compile ArduinoJson. Maybe try adding this to the top of MeterMonitor.ino?
Code:#include <ArduinoJson.h>
Oh I see why I don't see it being built. ArduinoJson is entirely header files so it gets built into HeaterMeterClient.o. Not that that helps you at all. But if the above doesn't help, you might try it with Arduino 1.8.12. EDIT: 1.8.13 works fine for me too.
Wait are you trying to compile HeaterMeterClient.cpp? MeterMonitor.ino is what you're probably looking for, and the HeaterMeterClient library folder needs to be in your /Users/temp/Documents/Arduino/libraries/
If you look at the part number of on the side of the white LED block, the parts ending in:ok, thanks for the info! I ordered the same displays you did and NONE of them are marked with which color they are on the back! So trying to figure out how to light these up to check color...
Thanks for the update, greatly appreciated!Yeah I haven't tried printing the lid at all, which is why it is commented out. It may fit or it may have the bevels facing the wrong way or it might be too big or too small. I considered adding feet to it as well that slide on so it isn't so tippy but it stood up well enough I didn't finish it. I also anticipated having to get into it more times to troubleshoot, but it just worked right out of the gate.
All my LED displays weren't marked either, so I put them in randomly. I had bought 3x green for the food probes (thinking those would be easiest to read), one red for the pit probe, and then one in every other color just to see how they looked. I really like the white and blue though so I'd go with those if I were building from scratch. The secret to figuring out what color they are without plugging them in is to look at the model number on the side of the LED module itself. One of the last letters is the color code (second to last on my 0.56").
I've pushed new a HeaterMeterClient with support for pidint (onPidInt), and the values are in state.Output.Internals P, I, D, and dT and LastUpdate (millis timer when it was received). There's also a new state.UpdateUtc which contains the UTC UNIX timestamp of the data coming from the HeaterMeter's clock. Use the standard localtime() function to convert that to a parsed time. The onHmStatus and onPidInt callbacks are now deferred so there's more RAM available to you when you're called. Finally I've made sure it is compatible with ESP32.