Commit graph

76 commits

Author SHA1 Message Date
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 b932a10ca1 Added support for ESP32-EVB and Ethernet 2022-05-06 23:58:16 +02:00
Thomas Kolb 6ff81845ed Added MIT license 2022-03-10 20:26:18 +01: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 10892e1a29 animation_test: remove flickering by increased LUT size 2021-08-23 23:40:16 +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 50fb58e494 animation_test: fixed build; test new animation 2021-08-23 21:22:56 +02:00
Thomas Kolb e9e999e315 Fixed RGBW-Sinus animation 2020-12-03 20:17:16 +01:00
Thomas Kolb 52053ea3bb Tune some animations for the ex-Pfeiffer setup 2020-12-03 20:16:46 +01:00
Thomas Kolb d9ff33b784 Adjustments for the BnB setup (2 columns with 150 LEDs each) 2020-12-02 20:03:29 +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 320268ca14 After showing the IP for 1 Minute, switch animation 2020-04-14 21:32:47 +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 f28de024d8 Added animation test framework
This framework provides the same animation interface as the ESP
firmware, but sends commands to the ESP via UDP. Therefore animations
can be tested without re-flashing the firmware for every tiny tuning
change.
2019-12-24 17:32:15 +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 96e29061a2 font: added conversion verification program 2019-12-24 17:28:13 +01:00
Thomas Kolb f1e7c46a65 Font: fixed order of '?!' characters 2019-12-24 17:27:36 +01:00
Thomas Kolb 0111e645c7 Fixed font conversion script 2019-12-23 21:53:36 +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 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