Commit graph

47 commits

Author SHA1 Message Date
Thomas Kolb d5357b2021 Show IP address on startup
To accomplish this, the following changes were made:

- Added an image-scrolling animation
- Implemented a bitmap font engine to generate an image from text
- On startup, an image-scrolling animation is set up with an image
  generated from the local IP address
2019-12-23 19:56:33 +01:00
Thomas Kolb c2a96747b9 Added bitmap font generator 2019-12-23 19:55:40 +01:00
Thomas Kolb 8bd87c4d3d Implement static color via special animation type 2019-12-16 23:31:15 +01:00
Thomas Kolb 127b8d6dca Animation robustness improvements
- Check if animation is valid in all methods of AnimationController
- Fixed timing (+crash) for quick loops of LED task
2019-12-16 23:29:05 +01:00
Thomas Kolb ecf296a1fc Removed debug output on serial 2019-12-16 22:33:00 +01:00
Thomas Kolb 4d2c61782b Only auto-activate FireAnimation once on startup 2019-12-16 22:32:28 +01:00
Thomas Kolb 9d60afe1fb htdocs: change animation from the index page 2019-12-16 22:12:09 +01:00
Thomas Kolb aa56e36f3f Added snowfall animation 2019-12-15 21:39:03 +01:00
Thomas Kolb 8e9124c884 Avoid LED update glitches caused by flash access
Now any access to the flash, either through update writing or SPIFFS
access, is blocked while the LED stripes are written. This is
accomplished using a FreeRTOS semaphore.
2019-12-15 18:03:23 +01:00
Thomas Kolb 9ddb2063bb Swap cores to reduce glitches during SPI flash access 2019-12-14 23:56:38 +01:00
Thomas Kolb bdd8ebd123 AnimationController: added missing declaration 2019-12-14 23:55:30 +01:00
Thomas Kolb af3adf99db WebServer: fixed 404 handling and listanim 2019-12-14 23:54:42 +01:00
Thomas Kolb 1410124e49 WebServer: Added /api/listanim to list animations 2019-12-14 23:12:57 +01:00
Thomas Kolb b1f1647260 WebServer: moved non-static endpoints to /api/ 2019-12-14 23:09:37 +01:00
Thomas Kolb 917627c0d0 Smoother transitions between UDP and animation
- stop() animation before changing state and wait for completion
- additionally fade to black (in case animation does not stop at black
  or when UDP stream ends)
- reset() the animation when changing back to the animation state
2019-12-10 22:41:11 +01:00
Thomas Kolb c33a5fcade Dynamically switch between animation framework and UDP control 2019-12-09 23:25:04 +01:00
Thomas Kolb 1bfee92aec Stability improvements for FireAnimation and AnimationController 2019-12-09 22:22:51 +01:00
Thomas Kolb b78313d2e0 Webserver: cooperative multitasking! 2019-12-09 22:21:27 +01:00
Thomas Kolb 154ed66174 Pin Tasks to cores 2019-12-09 22:21:01 +01:00
Thomas Kolb f91b3c8cfb Allow to switch animations via HTTP 2019-12-08 22:58:50 +01:00
Thomas Kolb 2c4f310395 FireAnimation: fixed top row 2019-12-08 22:58:09 +01:00
Thomas Kolb 13a758b01f WebServer: serve static files from SPIFFS 2019-12-08 22:56:59 +01:00
Thomas Kolb 642ce82144 main: removed "debug green" 2019-12-05 01:15:23 +01:00
Thomas Kolb 368c5bec72 Added fire animation; better transitions 2019-12-05 01:11:37 +01:00
Thomas Kolb 1db57ca62d Added connection-established animation on startup 2019-12-03 23:12:14 +01:00
Thomas Kolb 6131e6a687 Implement Animation-specific fadeout 2019-12-03 22:09:55 +01:00
Thomas Kolb e4a8c86180 Manage animations via a central controller 2019-12-02 23:06:04 +01:00
Thomas Kolb 862ad18d24 Started Animation framework 2019-12-02 22:42:31 +01:00
Thomas Kolb bb524d03dd Update: implement update of the SPIFFS image 2019-12-02 21:21:13 +01:00
Thomas Kolb 49c39184b9 ota_update script: nicer progress display 2019-12-02 20:56:16 +01:00
Thomas Kolb 1c899c1f24 Update: don't block the system during the Update
Too much traffic triggered the Task watchdog before under good WLAN conditions.
2019-12-02 20:53:21 +01:00
Thomas Kolb 72d0233f52 main: run UDP loop also in access point mode 2019-12-02 20:41:29 +01:00
Thomas Kolb 48089dd526 ota_update: read password invisibly 2019-12-02 20:40:47 +01:00
Thomas Kolb 832b30f485 First version of at TCP-based OTA updater 2019-11-27 00:22:04 +01:00
Thomas Kolb 24ba2242a4 Load sensitive data from the SPIFFS
Sensitive data are WiFi Logins and authentication data. This is done in
preparation for the OTA update, where the firmware image will be
transferred unencrypted and therefore passwords could be extracted from
a dumped image.
2019-11-26 22:03:44 +01:00
Thomas Kolb 8a1a17bb07 WebServer: use /htdocs as root directory 2019-11-26 21:11:36 +01:00
Thomas Kolb 1337a7e231 Integrated authentication test in WebServer 2019-11-25 22:45:01 +01:00
Thomas Kolb 42c41171ce Renamed HTTPServer->WebServer to avoid name conflict 2019-11-25 22:06:37 +01:00
Thomas Kolb 6cbfa854f1 Fader: flip logical addressing in specific sub-strips
This is useful if „displays“ are build using zig-zag interconnection of
the single strips
2019-11-25 22:02:00 +01:00
Thomas Kolb 373bed9121 Added class for challenge-response authentication 2019-11-25 22:00:48 +01:00
Thomas Kolb fdf26d1669 main: more sophisticated WiFi setup
- Try to find an AP 10 times, then set up our own
- When connected to an AP and the connection is lost, restart the WiFi
  setup
- Initialize the LEDs before the WiFi, so we are able to (maybe?)
  display messages on the LEDs
2019-11-20 22:43:40 +01:00
Thomas Kolb fd0d75ee16 HTTPServer: serve static file from the SPIFFS 2019-11-20 22:42:35 +01:00
Thomas Kolb a0c5d5587d Moved Fader.h to include/ 2019-11-20 22:42:05 +01:00
Thomas Kolb b155ab1eb1 Implemented UDP protocol
This protocol is used for high performance updates of the LEDs.
2019-11-17 17:57:21 +01:00
Thomas Kolb 926ea316f7 Extended Fader to support multiple logical strips 2019-11-17 17:56:08 +01:00
Thomas Kolb 95d295e425 Added README.md 2019-11-17 16:30:11 +01:00
Thomas Kolb 61e54a2557 Initial commit: SK6812 LED Fader, HTTP Server 2019-11-17 16:28:09 +01:00