2b7033b685
cycle effect now tracks the heap leakage of the running effects. Cause somewhere's a memory leak leading to restarts of the ESP every about 2 days...
2019-10-04 12:03:03 +02:00
f42b5e1034
Effect big_clock now show the seconds in a calmer way. Divisible-by-5 seconds are in another color.
2019-10-02 06:17:20 +02:00
083564caef
Reorganized effect selection stuff: No longer a big case clause comparing CRC32. Instead an array of structs. Much nicer. Also, other code can now see which effects there are.
2019-10-02 06:16:07 +02:00
3f6d4cb0be
Moved settings from preprocessor directives to variables. Also added a way to (for now only) display them via HTTP server.
2019-10-02 06:13:55 +02:00
382631d7d7
Effect#loop now gets the time since the last run of the loop in ms. This enables
...
the effects to show animations that stay fluid independent of the current frame rate.
2019-10-01 06:29:32 +02:00
c1024b3423
As noticed, this reverts big_clock to the pre-subsampling state.
2019-09-25 20:04:48 +02:00
2395e51e88
Added different rendering modes for the subpixel stuff.
2019-09-25 20:04:17 +02:00
7cbb156b66
Attempted to make the border of big_clock use subpixel rendering. This is still work in progress.
2019-09-25 18:13:11 +02:00
7ac681002e
Added effect night_clock
2019-09-25 18:11:52 +02:00
36edb94ff0
Metrics now include the current effect's name.
2019-09-25 18:11:03 +02:00
c1cfb693d3
Added missing option EFFECT_SINES_COUNT fo congif.sample.h
2019-09-25 06:43:31 +02:00
781954d7f1
Added effect marquee, which will scroll a given message through the display.
2019-09-25 06:41:52 +02:00
73b8d162c7
Metrics logging now includes average time taken per frame. Also, metrics now come in a single JSON payload to /metrics.
2019-09-25 06:40:24 +02:00
3018bc6375
Added font5x7 and turned the letters around so they are now upside up. ;-)
2019-09-25 06:34:26 +02:00
1cd94ac4ae
Effect swirl is now shown with clock.
2019-09-25 06:33:26 +02:00
b8f39410c9
Effect matrix now uses subpixel rendering for smoother movements.
2019-09-25 06:32:35 +02:00
711719921a
Rewrote effect firework. Now it kinda works.
2019-09-25 06:30:03 +02:00
6ba2854a8d
Effect big_dynamic will now be shown with clock.
2019-09-25 06:28:53 +02:00
aa11f5ed8a
Added subpixel-rendering as well as blurring methods to Window.
2019-09-25 06:27:43 +02:00
fa5f1c8816
Added effect blur2d
2019-09-25 06:26:27 +02:00
b5c99c320b
Added effect sines.
2019-09-25 06:25:16 +02:00
96e144f96b
Added effect analog_clock (heavily, not-really-usable work-in-progress!).
2019-09-25 06:24:24 +02:00
792354e371
Updated recorder to only send every 2nd frame, to clear the window when selecting a new effect, doubled the resizing factor and re-enabled gifsicle.
2019-09-25 06:09:00 +02:00
33c2417534
Added recorder to be able to stream the current LED data via network. That way you can create nice looking GIF images of the effects - and even develop effects without having to look at the actual LED panel.
2019-09-04 06:05:45 +02:00
bf1666fb32
Added font numbers3x5_blocky.
2019-09-04 06:02:16 +02:00
0d23e5ec6c
Removed old reference to SimpleList.
2019-09-04 06:01:32 +02:00
a05931d7f9
Made twirl effect a lot more beautiful.
2019-09-04 06:01:08 +02:00
a6cd94e416
Fixed rainbow_matrix and random_matrix.
2019-09-04 06:00:18 +02:00
2ddd77eb5c
Fixed big_clock effect and made it a lot nicer with moving pixels for seconds.
2019-09-04 05:59:30 +02:00
1122546853
Fixed line and circle drawing code in Window. But it looks bad ans some form of dithering is definitely required.
2019-09-04 05:58:36 +02:00
5b70511570
Added options to config.sample.h
continuous-integration/drone/push Build is failing
2019-06-19 22:31:11 +02:00
77fdba213a
I'm tired and forgot to add two files to previous commits. :-/
2019-06-19 22:29:11 +02:00
ead076f9a3
You can now set options for effects via MQTT and HTTP. Basic syntax is: <mode>,<option1>=<value1>,<option2>=<value2>,...
2019-06-19 22:28:38 +02:00
26df11fc47
Added tests. Start them by sending a message to MQTT_TOPIC/run_tests. First test will test all effects for memory leaks.
2019-06-19 22:26:38 +02:00
0163bbef6c
Some memory leaks fixed.
2019-06-19 22:23:49 +02:00
9eeb4b50fd
Missed a patch for the previous commit.
2019-06-19 22:22:37 +02:00
d2c0268dce
MatrixEffect can now have multiple columns in the same column. In RandomMatrix, they even run in all directions.
2019-06-19 22:22:03 +02:00
e897c6bdcd
New Effect: DvdEffect
2019-06-19 22:17:39 +02:00
f1821b0b85
New Effect: RandomConfettiEffect
2019-06-19 22:17:10 +02:00
41af01ee0b
Better handling of Animations, their members and the destructor.
2019-06-19 22:16:06 +02:00
74b967392d
Cleanup.
continuous-integration/drone/push Build is failing
2019-06-18 18:18:07 +02:00
8c9e9e2e2e
MQTT: Use new effect structure and logging.
2019-06-18 18:17:48 +02:00
f1424d0277
Extended http server to list files in SPIFFS and allow you to upload and delete files.
2019-06-18 18:17:20 +02:00
0941ad8349
Effects are now constructed when needed instead of having global objects of every effect flying around.
2019-06-18 18:14:59 +02:00
5a02050680
Log using printf with a String stored in PROGMEM. Always.
2019-06-18 18:13:37 +02:00
5af7c6337d
Enable CYCLE_MODE_RANOM by default.
2019-06-18 18:12:36 +02:00
3c0e7a116a
Animation now uses .pia files from SPIFFS instead of hardcoded C stuff.
2019-06-18 18:10:58 +02:00
1912772da3
Effects now use Constructor and Destructor to initialize or delete their data, instead of using start() and stop().
2019-06-18 18:09:05 +02:00
e8f3ea3281
Extended MatrixEffect to also get RainbowMatrixEffect and RandomMatrixEffect.
...
Side note: You know you understand C++ when you understand the meaning
and reason for "MatrixEffect** _columns". ;-)
2019-06-16 12:43:05 +02:00
3edbf6b252
Added PicelClockEffect.
continuous-integration/drone/push Build is passing
2019-06-15 14:18:35 +02:00
b65afde142
MatrixEffect now uses dynamically allocated memory.
2019-06-15 14:17:06 +02:00
02b3bbcea8
Added methods for drawing lines and circles to Window.
2019-06-15 14:16:27 +02:00
989eabee4a
Added missing setting for GolEffect to config.sample.h
continuous-integration/drone/push Build is passing
2019-06-14 05:37:35 +02:00
5ce3b0c1b3
Centralized the creation of a hostname to a global variable hostname, set in pitrix.cpp. Added an mDNS record for the webserver.
2019-06-14 05:35:17 +02:00
4fdd1d3739
Added animation 'cake'.
2019-06-14 05:32:55 +02:00
1e23936374
Added effect 'gol': Conway's Game of Life.
2019-06-14 05:32:17 +02:00
291a3be623
Moved platform-specific code related to WiFi and services to my_wifi.h. Also, made the HTTP server stuff compatible to ESP32.
continuous-integration/drone/push Build is passing
2019-06-13 06:01:44 +02:00
bfe46220ca
Added HTTP REST API.
2019-06-12 20:57:31 +02:00
ca980b0c9f
You can now set LED_MAX_MILLIAMPS if your power supply is limited.
2019-06-12 20:48:56 +02:00
f8c696c384
Added README as well as some comments in config.sample.h
2019-06-12 20:48:20 +02:00
874b2c212f
Small changes to some effects:
...
continuous-integration/drone/push Build is passing
* Don't put multi-dynamic and single-dynamic right after one another,
because that looks strange when not using random cycling between
effects.
* Removed white from the matrix palette cause we're setting white
explicitly from the code.
* Increased speed of single_dynamic a little.
2019-06-12 06:32:06 +02:00
477edd1597
I just learned that unintialized variables in C can lead to lots of unexpected and hard-to-debug behaviour... :-/
2019-06-12 06:30:26 +02:00
2072877159
Handling of incoming MQTT messages improved.
continuous-integration/drone/push Build is passing
2019-06-11 19:48:42 +02:00
83254f2eaa
Windows. Everything now is implemented in Windows. ;-) (Okay, just the drawing stuff. And defnititely nothing by Microsoft.)
2019-06-11 19:48:09 +02:00
ced56d2ae8
Added checks for supported platforms to config.sample.h
continuous-integration/drone/push Build is passing
2019-06-07 06:30:38 +02:00
38c55e3047
Added missing stuff to config.sample.h
2019-06-07 06:30:15 +02:00
c5856a6f7a
Whitespace stuff. Tabs rule!
continuous-integration/drone/push Build is failing
2019-06-07 06:24:16 +02:00
c153ce915d
Added MQTT_TOPIC_WEATHER for receiving and storing weather data.
2019-06-07 06:08:21 +02:00
a821985479
Re-organized Animation code to move from multiple different constructors to one constructor and a handfull of setters for options.
2019-06-07 06:07:29 +02:00
cfc5122e2e
Only debug via mqtt_log if MQTT_ENABLE is set. Also include my_mqtt.h there.
continuous-integration/drone/push Build is passing
2019-06-06 06:57:30 +02:00
f7fc459095
MQTT can now be disabled via MQTT_ENABLE
2019-06-06 06:43:50 +02:00
158847d4c4
Correctly using NTPClient. Now with callback.
2019-06-06 06:43:01 +02:00
26761226d0
Stuff from text.h is now const.
2019-06-06 06:42:00 +02:00
540b188058
Extended config.sample.h
2019-06-06 06:41:11 +02:00
dcf42bbb0c
Added animation_weather_icons.
2019-06-06 06:40:51 +02:00
4fe34afd08
Animation.h now also includes AnimationSlice to show only part of an animation.
2019-06-06 06:40:30 +02:00
d4c1c1fc91
Updated config.sample.h
2019-06-05 06:29:47 +02:00
a2b0f7106f
Added FireworkEffect, which needs a lot more tweaking.
2019-06-05 06:27:55 +02:00
57815cb3bf
Joined SingleDynamicEffect and MultiDynamicEffect into one file and finally got different timings for both classes to work.
2019-06-05 06:27:07 +02:00
b2ff3bdc54
Moved the animation display code into its own class which can and will also be used to display static images and sprites.
2019-06-05 06:25:40 +02:00
f95589763e
Added FireEffect. Its values still need a bit of tweaking to look right...
2019-06-04 05:58:23 +02:00
96442b48cc
SnakeEffect now turns into a random direction when hitting a wall. The code is now also a whole lot cleaner.
2019-06-04 05:57:27 +02:00
94687bab36
CycleEffect now uses the ID of an effect within cycle_effects to prevent repeating an effect instead of comparing the objects.
2019-06-04 05:56:33 +02:00
46062945ff
Changed MatrixEffect to use color palettes.
2019-06-04 05:55:24 +02:00
b2bc8aa75e
Experiment in getting the differing delays in Single/MultiDynamic effects to work. Unsuccessful, for now.
2019-06-03 06:43:50 +02:00
29e136b8db
NTPClient now does updates asynchronously. Thanks to https://github.com/arduino-libraries/NTPClient/pull/22
2019-05-31 23:58:34 +02:00
f9fba8a8f9
Macros LOG
and LOGln
now will, if debugging is enabled, log to an mqtt topic as well as Serial.
2019-05-31 23:57:46 +02:00
a7d956209a
Added Effect::start()
and Effect::stop()
to allow effects to reserve memory on start and free it afterwards.
2019-05-31 05:46:17 +02:00
a2fe1461ad
Added effect "snake".
2019-05-31 05:45:07 +02:00
36663cf067
Man, I broke config.sample.h. Well, now it is fixed again. ;-)
2019-05-30 13:15:21 +02:00
b4e19dbc02
Updated config.sample.h
2019-05-30 13:11:42 +02:00
5321409727
Added support for reporting for freeHeap via MQTT.
2019-05-30 13:09:38 +02:00
646d3369fb
Amount of new Pixels per loop for confetti effect is now configurable. Also, the color is based on a slowly rotating baseHue.
2019-05-30 13:08:24 +02:00
adb03d486b
NTPClient has now a method boolean isTimeValid()
which indicates whether the last update was successful or not. Clock will blink if it wasn't successful.
2019-05-30 11:36:13 +02:00
0d3896ca0d
Got rid of (most of) all of the warnings.
2019-05-30 11:26:13 +02:00
711d028e90
Added effect "confetti". Closes #16 .
2019-05-30 11:12:40 +02:00
2f58fd14d0
Splitting the code into single files is done. \o/
2019-05-30 00:49:54 +02:00
76802ffa78
Lots of re-organizing code and stuff.
2019-05-28 21:19:35 +02:00
2cbb981eea
STarted reorganizing files into proper .h and .cpp files.
2019-05-28 05:46:25 +02:00
ce0c834326
Arduino IDE -> PlatformIO
2019-05-27 21:17:05 +02:00