Well certainly program memory is getting tight... but nearly 50% of RAM remains...
******************
From compilation:
Sketch uses 28920 bytes (89%) of program storage space. Maximum is 32256 bytes.
Global variables use 1123 bytes (54%) of dynamic memory, leaving 925 bytes for local variables. Maximum is 2048 bytes.
******************
This project is to replace a Hobbes meter (engine hours meter) with a few other functions added in. The previous version of code would display time, motor elapsed time (saved in the DS1307 memory), Voltage, Water temp and ambient temperature. This does run in a previous version without an on board mechanism to enter time. That is to update /correct it other than pulling the AT328P and reprogramming it. And to update/set Elapsed time.
An actual Hobbes meter can cost for 40-50 us dollars. I was hoping to come in at about $25 for this replacement, not counting engineering time with added functionality.
Since I am not truly a programmer, I have tried a few other approaches such as OneButton and other menu libraries. This is a learning process and hope to use TCMenu in other much more UI intensive projects.
Back to the problem, I have a few recordings of the I2C bus both protocol and logic recordings. The protocol recordings showed the DS1307 address being queried to start with until about startMenu() kicked off. I need some more time to check the commands and replies. it initially looks like the it gets through RTC clock running and squarewave output check and then DS1307 address isn't queried again. However the logic analyzer shows what might be a periodic error on the I2C bus. So I have a few things to look at and I am going to replace the I2C LCD display with a direct connect display if I can tradeoff the IO pins . Having the additional wires is a mechanical issue in packing it all into a small water resistant box.
So I will press on as....
|