Hardware Timer didnt work https://github.com/khoih-prog/ESP8266TimerInterrupt#why-using-isr-based-hardware-timer-interrupt-is-better => Software Timer https://ullisroboterseite.de/esp8266-timing.html#timer ### __Zum aktivieren von GDBStub:__ ```c #include ... void setup() { Serial.begin(460800); gdbstub_init(); ``` ### __Achtung !__ GDB muss dafür compiled werden GDB-Version aus Arduino Toolchain hat Support ```sh $ ./start_xtensa_gdb_stub.sh ``` ### __Achtung !__ Don`t forget __\r__ ESP-OTA wird von ufw oder Defender geblockt. - Windows -> Python needs to be granted with rights - Linux -> open udp port in ufw -> ```sh platform.ini upload_flags = --host-port ... $ sudo ufw allow tcp/ ``` ```c++ server.streamFile(f, mime::getContentType(SRH::_path), requestMethod); =====> const String& p = SRH::_path; if(p.endsWith(".gzip")) { server.sendHeader("Content-Encoding", "gzip"); server.streamFile(f, mime::getContentType(p.substring(0, p.length()-5)), requestMethod); } else server.streamFile(f, mime::getContentType(SRH::_path), requestMethod); ``` ### HW issues - GPIO2 used as input -> must be high during startup - PCB Solution: cut trace to GPIO2, solder bridge to GPIO16 - -> disadvantage: GPIO16 is not interrupt capable ### FSM 2 - to do - stairway light switches off after timeout - switches concurrently on again if sensor is still high - desired behavior? Defective Sensor would cause continuos animation - edge detection / interrupts as solution ? ### LED_sequence_v1: TODO: - disable led stripes after defined time (webserver paramter?) - define what to do if people enter stairs from different directions - CAUTION: Sensor-Deadtime at LEAST 8 seconds - --> switch off with person leaving stairs might not be possible ### Webserver on v0.3.0 now working with LittleFS TODO: - check dir for files automatic - move handleNotFound to httpserver.h - maybe compress files ? ### LED Flickering issue https://github.com/NachtRaveVL/PCA9685-Arduino/issues/15 PlatformIO Library veraltet !! ### TIMER in OTA unterbrechen !!!!! ### further improvments with streamFile gzip encoded Files can be sent this reduces space on fs ! new easier script needed to just convert to .gz maybe measure timings on ESP __=> use serveStatic because way simpler !__ __=> serverStatic("/") works wonders__ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARHRRHRGH Two implementations of FSM are not that good, linker puts them together ?!? :):):):):):):) => maybe investigate for doc ### TODO Treppe - dynamic lighting with ldr - http control over active pwm ... => set_active_pwm() -> is implemntiert, kann mit % oder abs eingestellt werden - testing if dimming crashes when two animations -> ldr does not interrupt animation, animation get's finished and stairs fade out -> FSM works without collisions - interrupt to pending from sensors -> rising edge trigger implemented, via pending input - settings struct -> implemented with EEPROM -> adapted to only change on ruhezustand - script for gdb on windows -> [implemented](start_xtensa_gdb_stub.cmd) - welcome animation ? -> wird hochgedimmt beim einschalten von 0 - on/off switch http - use logging to serial http monitor with httpserver.logt() -> is used for some status updates - behavior when someone enters stairway from opposite direction while animation is running? -> currently ignored, second persons walks in darkness -> animation from both sides? -> problem: person 1 leaving stairway might pass the sensor right after person 2 -> person 1 leaving not detected - behavior when someone enters stairway from opposite direction after animation finished but person 1 is still on stairway? -> currently stairs fade off from direction 1 -> additional wait-state between "warten hoch/runter" and "abdimmen hoch/runter" after sensor detected person? - active brightness can be lower than idle in the moment - change idle to precentage of active !! - Webpage needs to load settings from eeprom !!