Commit graph

48 commits

Author SHA1 Message Date
Thomas Kolb f76c71e1d2 Merge branch 'master' into bnb 2023-08-11 19:56:24 +02:00
Thomas Kolb 89160ed482 Various fixes due to package updates 2023-07-28 20:33:01 +02:00
Thomas Kolb c9471331d3 Add functions to treat all LEDs as a single strip 2022-09-09 20:10:15 +02:00
Thomas Kolb 03ff31067a Added (untested) RacerAnimation
Port of codemonk’s Python script.
2022-07-06 21:11:19 +02:00
Thomas Kolb 3b7e04fa3c Merge branch 'master' into bnb 2022-07-06 20:00:47 +02:00
Thomas Kolb 3671ecc635 Added „Christmas Glitter“ animation 2022-03-10 20:24:19 +01:00
Thomas Kolb 25abc446b0 Increased sin LUT precision: 16-bit x 2048 entries
This massively improves glitches in functions like sin(t + sin(t)), as
used in the RgbwPsychedelicAnimation. That animation is now almost
flicker-free.
2021-08-23 23:57:19 +02:00
Thomas Kolb bd6489e347 Make the new animation on of the default animations 2021-08-23 22:01:54 +02:00
Thomas Kolb 75c17f28f8 Added new RgbwPsychedelicAnimation
It’s an extension to the previous RgbwSinusAnimation and tilts and
moves the sine waves differently for each color band. Additive color
mixing generates very interesting patterns.
2021-08-23 21:24:44 +02:00
Thomas Kolb 52053ea3bb Tune some animations for the ex-Pfeiffer setup 2020-12-03 20:16:46 +01:00
Thomas Kolb 9e35c239d6 New native animations: twinkling sky and RGBW Sinus 2020-12-01 23:25:13 +01:00
Thomas Kolb 76354fa4bd AnimationController: fixed restore of last animation 2020-11-30 20:46:51 +01:00
Thomas Kolb 2b72d6c95b Remember last animation set by user and restart next time 2020-04-14 22:30:44 +02:00
Thomas Kolb dc8bc98193 Circumvent problems with UDP fragmentation
The ESP’s IP stack seems not to support UDP packet fragmentation and
drops such packets silently which is problematic for setups with many
LEDs and huge updates.

With this patch, the UDP server processes up to 3 full UDP packets per
frame, allowing much larger updates. Additionally, the new END_OF_UPDATE
flag allows to signal when a update sequence is finished. If this flag
is encountered, no further UDP packets are processed in the current
frame.
2020-04-14 21:03:39 +02:00
Thomas Kolb da37f32096 Global strip offset in fader 2020-02-21 20:15:39 +01:00
Thomas Kolb 905c3fce7b Added Fireworks animation – Happy new year! 2019-12-31 23:44:07 +01:00
Thomas Kolb 6a71074b4b UDPProto: added "ack request" + response packets
The ACK request packet contains a sequence number which is echoed back
to the client in a simple UDP packet. By evaluating the difference
between sent and received sequence number, the client can control how
much data is buffered on the way to the ESP.
2019-12-30 12:19:00 +01:00
Thomas Kolb a9cfcb16d9 Added "Matrix Code"-style animation 2019-12-30 12:18:04 +01:00
Thomas Kolb 2b8d75a475 WebServer: API for colored scrolling text messages 2019-12-24 18:11:09 +01:00
Thomas Kolb ae2eb2a25f ImageScrollerAnimation: faster stop by default
Waiting until the text has scrolled by completely is still possible, but
must be activated on object construction by a special argument.
2019-12-24 17:30:52 +01:00
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 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 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 1410124e49 WebServer: Added /api/listanim to list animations 2019-12-14 23:12:57 +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 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 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 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 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 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 61e54a2557 Initial commit: SK6812 LED Fader, HTTP Server 2019-11-17 16:28:09 +01:00