Over the past few weeks I have been spending allot of time doing further work on the Tick Tock Timer firmware
The list of changes and bug fixes is HUGE, if anyone wants to read them let me know in the comments section. (I don't actually expect anyone to really be interested in them)
Most noticeable additions
- Web based user Interface added which can trigger the Manual button as well put the system in any of the 3 disaster pattern modes
- Further refinement of the Wifi / NTP UI screen including live signal indicator in the form of a colored dot
I have also noticed the lines of code have reached just under 14,000....and that does not include the 19 ESP8266 / Arduino libraries. Im STILL using the Arduino IDE and using the tabs to break the firmware down into 16 tabs. Getting quite large.
Other statistics (ESP8266)
- 460400 bytes (44%) of program storage space. Maximum is 1044464 bytes
- 50984 bytes (62%) of dynamic memory, leaving 30936
- Binary File is 454KB
- Firmware work began on 4/12/2014
- 2 Prototypes (MEGA2560+ESP8266) | 4 Hardware revisions (MEGA+ESP)
Wifi Connection Screen
Current WIFI/NTP GUI. Wifi strength indicated with GREEN ORANGE or RED circle. Live display including server time.
Anyone interested in how I have structured the MAIN LOOP here it is
void loop() {
//Check if we need to make daylight savings adjustment.
checkDaylightSaving(EEPROM.read(988));
yield();
//Check to see if we need to flag system as on holiday
checkHoliday();
yield();
//Return to screensaver
screensaver();
yield();
//Check if next event arrays need to be updated
calculateNextEvent();
yield();
//Watch for touch commands
readTouchInput();
yield();
//Service Touch Screen GUI draws
navigation();
//Print the current system time
updateClock();
yield();
//Check if its time to trigger relay
eventCheckRuntime();
yield();
//Pulse time sync check
pulseTimeSync();
yield();
//Relay pulse timing service
relayPulseService();
yield();
//Special Functions
specialFunctions();
yield();
//Menu and security Timeout
menuTimeout();
yield();
//Keep Follow Up Pulse timer ticking
followUpTimerTicker();
yield();
//Service Time Drift Compensation
timeDriftCompensation();
yield();
//NTP Service
syncClockWithNet("TIMER");
yield();
//Check Wifi connection status
checkWifiConnection("INTERVAL");
yield();
//Handle backlight dimming
backlightFadeOutTimer();
yield();
//Handle HTTP server
handleWebServer();
yield();
}
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.