#include #include #include #include #include #include #include #include #include #include /* * @title WLED project sketch * @version 0.3pd * @author Christian Schwinne */ //Default CONFIG String clientssid = "Your_Network_Here"; String clientpass = "Dummy_Pass"; String cmdns = "led"; String apssid = "WLED-AP"; String appass = "wled1234"; uint8_t apchannel = 1; uint8_t aphide = 0; boolean useap = true; IPAddress staticip(0, 0, 0, 0); IPAddress staticgateway(0, 0, 0, 0); IPAddress staticsubnet(255, 255, 255, 0); byte col[]{255, 127, 0}; boolean fadeTransition = true; boolean seqTransition = false; uint16_t transitionDelay = 1500; boolean ota_lock = false; boolean only_ap = false; uint8_t led_amount = 16; uint8_t buttonPin = 3; //needs pull-up boolean buttonEnabled = true; String notifier_ips[]{"10.10.1.128","10.10.1.129"}; boolean notifyDirect = true, notifyButton = true, notifyForward = true; boolean receiveNotifications = true; uint8_t bri_n = 100; uint8_t nightlightDelayMins = 60; boolean nightlightFade = true; double transitionResolution = 0.01; //Internal vars byte col_old[]{0, 0, 0}; byte col_t[]{0, 0, 0}; long transitionStartTime; long nightlightStartTime; float tper_last = 0; byte bri = 127; byte bri_old = 0; byte bri_t = 0; byte bri_last = 127; boolean transitionActive = false; boolean buttonPressedBefore = false; int notifier_ips_count = 0; String notifier_ips_raw = ""; boolean nightlightActive = false; NeoPixelBus strip(led_amount, 1); ESP8266WebServer server(80); ESP8266HTTPUpdateServer httpUpdater; File fsUploadFile; void down() { bri_t = 0; setAllLeds(); Serial.println("MODULE TERMINATED"); while (1) {delay(1000);} } void reset() { bri_t = 0; setAllLeds(); Serial.println("MODULE RESET"); ESP.reset(); } uint8_t bool2int(boolean value) { if (value) return 1; return 0; } void handleNightlight() { if (nightlightActive) { float nper = (millis() - nightlightStartTime)/(float)(((int)nightlightDelayMins)*60000); if (nper >= 1) { } } } void setup() { wledInit(); } void loop() { server.handleClient(); handleTransitions(); handleNightlight(); handleAnimations(); handleButton(); }