Close

Continued Firmware Work

A project log for Tick Tock Timer

The Tick Tock Timer is a School Bell timer packed with features

jasper-parkerJasper parker 01/27/2017 at 15:390 Comments

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

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)

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