DIY QlockTwo
Perfect DIY version of famous QlockTwo Classic with ESP8266
main.cpp File Reference
#include <Arduino.h>
#include <Ticker.h>
#include "LedControlModule.h"
#include "ClockModule.h"
#include "WifiModule.h"
#include "Settings.h"
#include "AceButton.h"
#include "SimpleTime.h"
#include "ConfigModule.h"

Go to the source code of this file.

Functions

NeoTopology< MyPanelLayouttopo (PANEL_WIDTH, PANEL_HEIGHT)
 
NeoPixelBusType pixelStrip (PIXEL_COUNT)
 
AceButton buttonOne (new ButtonConfig())
 
AceButton buttonTwo (new ButtonConfig())
 
AceButton buttonThree (new ButtonConfig())
 
AceButton buttonFour (new ButtonConfig())
 
void handleButtonOneEvent (AceButton *button, uint8_t eventType, uint8_t buttonState)
 Handle clicks of 1. More...
 
void handleButtonTwoEvent (AceButton *button, uint8_t eventType, uint8_t buttonState)
 Handle clicks of 2. More...
 
void handleButtonThreeEvent (AceButton *button, uint8_t eventType, uint8_t buttonState)
 Handle clicks of 3. More...
 
void handleButtonFourEvent (AceButton *button, uint8_t eventType, uint8_t buttonState)
 Handle clicks of 4. More...
 
void updateClock ()
 Connect to Wifi and update RTC over NTP. More...
 
void updateLedColor ()
 Apply ambient light by dimming currentLedColor. More...
 
void setButtonConfig (ButtonConfig *buttonConfig, ButtonConfig::EventHandler eventHandler)
 Setup Event Handlers of a Button. More...
 
void setupButtons ()
 Setup all four Buttons. More...
 
void showTime ()
 Get Time from RTC and update if it is not correct from NTP. More...
 
void configModeCallback (WiFiManager *myWiFiManager)
 Gets called when WiFiManager enters configuration mode. More...
 
void saveConfigCallback ()
 Gets called when WifiManager when custom parameters have been set AND a connection has been established. More...
 
void setup ()
 Setup all Modules. More...
 
void loop ()
 Main Loop. More...
 

Variables

LedControlModule ledControlModule (topo)
 
ClockModule clockModule (Wire, LOCAL_TIMEZONE, NTP_SERVER_NAME)
 
WifiModule wifiModule (DEVICE_NAME)
 
ConfigModule configModule (CONFIG_FILE_PATH)
 
unsigned long lastClockUpdate = 0
 
unsigned long lastShowTime = 0
 
bool showTimeDisabled = false
 
int currentLedColorId = 0
 
RgbwColor currentLedColor = LED_COLORS[currentLedColorId]
 
Config config
 

Function Documentation

◆ buttonFour()

AceButton buttonFour ( new   ButtonConfig())

◆ buttonOne()

AceButton buttonOne ( new   ButtonConfig())

◆ buttonThree()

AceButton buttonThree ( new   ButtonConfig())

◆ buttonTwo()

AceButton buttonTwo ( new   ButtonConfig())

◆ configModeCallback()

void configModeCallback ( WiFiManager *  myWiFiManager)

Gets called when WiFiManager enters configuration mode.

Parameters
myWiFiManager

Definition at line 161 of file main.cpp.

◆ handleButtonFourEvent()

void handleButtonFourEvent ( AceButton *  button,
uint8_t  eventType,
uint8_t  buttonState 
)

Handle clicks of 4.

button from left.

Parameters
button
eventType
buttonState

Definition at line 300 of file main.cpp.

◆ handleButtonOneEvent()

void handleButtonOneEvent ( AceButton *  button,
uint8_t  eventType,
uint8_t  buttonState 
)

Handle clicks of 1.

button from left.

Parameters
button
eventType
buttonState

Definition at line 230 of file main.cpp.

◆ handleButtonThreeEvent()

void handleButtonThreeEvent ( AceButton *  button,
uint8_t  eventType,
uint8_t  buttonState 
)

Handle clicks of 3.

button from left.

Parameters
button
eventType
buttonState

Definition at line 282 of file main.cpp.

◆ handleButtonTwoEvent()

void handleButtonTwoEvent ( AceButton *  button,
uint8_t  eventType,
uint8_t  buttonState 
)

Handle clicks of 2.

button from left.

Parameters
button
eventType
buttonState

Definition at line 264 of file main.cpp.

◆ loop()

void loop ( )

Main Loop.

Definition at line 140 of file main.cpp.

◆ pixelStrip()

NeoPixelBusType pixelStrip ( PIXEL_COUNT  )

◆ saveConfigCallback()

void saveConfigCallback ( )

Gets called when WifiManager when custom parameters have been set AND a connection has been established.

Definition at line 171 of file main.cpp.

◆ setButtonConfig()

void setButtonConfig ( ButtonConfig *  buttonConfig,
ButtonConfig::EventHandler  eventHandler 
)

Setup Event Handlers of a Button.

Parameters
buttonConfig
eventHandler

Definition at line 107 of file main.cpp.

◆ setup()

void setup ( )

Setup all Modules.

Definition at line 70 of file main.cpp.

◆ setupButtons()

void setupButtons ( )

Setup all four Buttons.

Definition at line 118 of file main.cpp.

◆ showTime()

void showTime ( )

Get Time from RTC and update if it is not correct from NTP.

Only show time if it is bound in enabled time range.

Definition at line 184 of file main.cpp.

◆ topo()

NeoTopology<MyPanelLayout> topo ( PANEL_WIDTH  ,
PANEL_HEIGHT   
)

◆ updateClock()

void updateClock ( )

Connect to Wifi and update RTC over NTP.

Definition at line 208 of file main.cpp.

◆ updateLedColor()

void updateLedColor ( )

Apply ambient light by dimming currentLedColor.

Definition at line 220 of file main.cpp.

Variable Documentation

◆ clockModule

◆ config

Config config

Definition at line 42 of file main.cpp.

◆ configModule

◆ currentLedColor

RgbwColor currentLedColor = LED_COLORS[currentLedColorId]

Definition at line 40 of file main.cpp.

◆ currentLedColorId

int currentLedColorId = 0

Definition at line 39 of file main.cpp.

◆ lastClockUpdate

unsigned long lastClockUpdate = 0

Definition at line 35 of file main.cpp.

◆ lastShowTime

unsigned long lastShowTime = 0

Definition at line 36 of file main.cpp.

◆ ledControlModule

LedControlModule ledControlModule(topo)

◆ showTimeDisabled

bool showTimeDisabled = false

Definition at line 37 of file main.cpp.

◆ wifiModule

WifiModule wifiModule(DEVICE_NAME)