Fabian Schlenz
b8f39410c9
Effect matrix now uses subpixel rendering for smoother movements.
2019-09-25 06:32:35 +02:00
Fabian Schlenz
711719921a
Rewrote effect firework. Now it kinda works.
2019-09-25 06:30:03 +02:00
Fabian Schlenz
6ba2854a8d
Effect big_dynamic will now be shown with clock.
2019-09-25 06:28:53 +02:00
Fabian Schlenz
aa11f5ed8a
Added subpixel-rendering as well as blurring methods to Window.
2019-09-25 06:27:43 +02:00
Fabian Schlenz
fa5f1c8816
Added effect blur2d
2019-09-25 06:26:27 +02:00
Fabian Schlenz
b5c99c320b
Added effect sines.
2019-09-25 06:25:16 +02:00
Fabian Schlenz
96e144f96b
Added effect analog_clock (heavily, not-really-usable work-in-progress!).
2019-09-25 06:24:24 +02:00
Fabian Schlenz
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
Fabian Schlenz
549bce479a
gifsicle breaks the gifs. -_-
continuous-integration/drone/push Build is passing
Details
2019-09-04 12:48:45 +02:00
Fabian Schlenz
1754f49b68
Better results from memory leak effect.
continuous-integration/drone/push Build is passing
Details
2019-09-04 06:07:28 +02:00
Fabian Schlenz
0b80b74be3
Added more effects to the cycle effect.
2019-09-04 06:06:47 +02:00
Fabian Schlenz
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
Fabian Schlenz
bf1666fb32
Added font numbers3x5_blocky.
2019-09-04 06:02:16 +02:00
Fabian Schlenz
a05931d7f9
Made twirl effect a lot more beautiful.
2019-09-04 06:01:08 +02:00
Fabian Schlenz
a6cd94e416
Fixed rainbow_matrix and random_matrix.
2019-09-04 06:00:18 +02:00
Fabian Schlenz
2ddd77eb5c
Fixed big_clock effect and made it a lot nicer with moving pixels for seconds.
2019-09-04 05:59:30 +02:00
Fabian Schlenz
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
Fabian Schlenz
77fdba213a
I'm tired and forgot to add two files to previous commits. :-/
2019-06-19 22:29:11 +02:00
Fabian Schlenz
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
Fabian Schlenz
82fbc7be43
MQTT: Small fixes. Most notably, MQTT_TOPIC/status will now contain hostname and IP of pitrix.
2019-06-19 22:27:33 +02:00
Fabian Schlenz
90c0df093e
New Effect: BigDynamicEffect.
2019-06-19 22:26:52 +02:00
Fabian Schlenz
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
Fabian Schlenz
0163bbef6c
Some memory leaks fixed.
2019-06-19 22:23:49 +02:00
Fabian Schlenz
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
Fabian Schlenz
e897c6bdcd
New Effect: DvdEffect
2019-06-19 22:17:39 +02:00
Fabian Schlenz
f1821b0b85
New Effect: RandomConfettiEffect
2019-06-19 22:17:10 +02:00
Fabian Schlenz
41af01ee0b
Better handling of Animations, their members and the destructor.
2019-06-19 22:16:06 +02:00
Fabian Schlenz
74b967392d
Cleanup.
continuous-integration/drone/push Build is failing
Details
2019-06-18 18:18:07 +02:00
Fabian Schlenz
8c9e9e2e2e
MQTT: Use new effect structure and logging.
2019-06-18 18:17:48 +02:00
Fabian Schlenz
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
Fabian Schlenz
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
Fabian Schlenz
ae02509712
Updated .gitignore
2019-06-18 18:12:16 +02:00
Fabian Schlenz
3c0e7a116a
Animation now uses .pia files from SPIFFS instead of hardcoded C stuff.
2019-06-18 18:10:58 +02:00
Fabian Schlenz
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
Fabian Schlenz
f0509de411
PixelClockEffect is now being displayed correctly.
2019-06-16 12:43:34 +02:00
Fabian Schlenz
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
Fabian Schlenz
3edbf6b252
Added PicelClockEffect.
continuous-integration/drone/push Build is passing
Details
2019-06-15 14:18:35 +02:00
Fabian Schlenz
b65afde142
MatrixEffect now uses dynamically allocated memory.
2019-06-15 14:17:06 +02:00
Fabian Schlenz
02b3bbcea8
Added methods for drawing lines and circles to Window.
2019-06-15 14:16:27 +02:00
Fabian Schlenz
0af76f2195
gif2c: Produce nicer formatted C code.
continuous-integration/drone/push Build is failing
Details
2019-06-14 05:36:25 +02:00
Fabian Schlenz
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
Fabian Schlenz
4fdd1d3739
Added animation 'cake'.
2019-06-14 05:32:55 +02:00
Fabian Schlenz
1e23936374
Added effect 'gol': Conway's Game of Life.
2019-06-14 05:32:17 +02:00
Fabian Schlenz
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
Details
2019-06-13 06:01:44 +02:00
Fabian Schlenz
bfe46220ca
Added HTTP REST API.
2019-06-12 20:57:31 +02:00
Fabian Schlenz
308196d185
Added fps to MQTT metrics.
2019-06-12 20:49:37 +02:00
Fabian Schlenz
ca980b0c9f
You can now set LED_MAX_MILLIAMPS if your power supply is limited.
2019-06-12 20:48:56 +02:00
Fabian Schlenz
874b2c212f
Small changes to some effects:
...
continuous-integration/drone/push Build is passing
Details
* 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
Fabian Schlenz
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
Fabian Schlenz
2072877159
Handling of incoming MQTT messages improved.
continuous-integration/drone/push Build is passing
Details
2019-06-11 19:48:42 +02:00
Fabian Schlenz
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
Fabian Schlenz
c5856a6f7a
Whitespace stuff. Tabs rule!
continuous-integration/drone/push Build is failing
Details
2019-06-07 06:24:16 +02:00
Fabian Schlenz
b71faa3bcb
MQTT now sets LWT and explicitly requests a clean sesion on startup.
continuous-integration/drone/push Build is failing
Details
2019-06-07 06:08:52 +02:00
Fabian Schlenz
c153ce915d
Added MQTT_TOPIC_WEATHER for receiving and storing weather data.
2019-06-07 06:08:21 +02:00
Fabian Schlenz
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
Fabian Schlenz
560b71425d
Made the code ESP32-compatible.
continuous-integration/drone/push Build is passing
Details
2019-06-06 12:12:58 +02:00
Fabian Schlenz
05aa6f7249
Added a `pragma message` if MQTT is disabled.
continuous-integration/drone/push Build is failing
Details
2019-06-06 06:51:07 +02:00
Fabian Schlenz
026ed27d8e
More (unseccessful) experiments with FireworksEffect.
2019-06-06 06:44:52 +02:00
Fabian Schlenz
f7275cc086
Setup ntp callback.
2019-06-06 06:44:34 +02:00
Fabian Schlenz
d9212189c1
NTPClient.getTimeValid is now .isTimeSet.
2019-06-06 06:44:18 +02:00
Fabian Schlenz
f7fc459095
MQTT can now be disabled via MQTT_ENABLE
2019-06-06 06:43:50 +02:00
Fabian Schlenz
158847d4c4
Correctly using NTPClient. Now with callback.
2019-06-06 06:43:01 +02:00
Fabian Schlenz
26761226d0
Stuff from text.h is now const.
2019-06-06 06:42:00 +02:00
Fabian Schlenz
dcf42bbb0c
Added animation_weather_icons.
2019-06-06 06:40:51 +02:00
Fabian Schlenz
4fe34afd08
Animation.h now also includes AnimationSlice to show only part of an animation.
2019-06-06 06:40:30 +02:00
Fabian Schlenz
5b7c7a7007
gif2c: Now has an option --full-frames which encodes every frame completely, without the "leave the previous pixel intact" bits.
2019-06-06 06:39:52 +02:00
Fabian Schlenz
b2f25f933b
Extended platrofmio.ini to use libraries from the internet. Those are all forks by me, needing some small fixes or pull requests applied here and there.
2019-06-06 06:39:00 +02:00
Fabian Schlenz
59a987f7e6
FireEffect does look a bit better, but still not right.
2019-06-05 06:28:36 +02:00
Fabian Schlenz
f7230b54a2
CycleEffect can now be configured to show the effects sequentially or randomly.
2019-06-05 06:28:21 +02:00
Fabian Schlenz
a2b0f7106f
Added FireworkEffect, which needs a lot more tweaking.
2019-06-05 06:27:55 +02:00
Fabian Schlenz
de180b9b28
Repaired the color palette for MatrixEffect.
2019-06-05 06:27:34 +02:00
Fabian Schlenz
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
Fabian Schlenz
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
Fabian Schlenz
e8cf0e7ea2
NTPClient: Added packetFlush to update() as well. This should hopefully fix those random time delay bugs.
2019-06-04 06:52:06 +02:00
Fabian Schlenz
788b1f4119
First pixel of MatrixEffect is enforced to be white.
2019-06-04 06:51:36 +02:00
Fabian Schlenz
5c4c1f2fac
Syntax corrections.
2019-06-04 05:59:51 +02:00
Fabian Schlenz
bfaf1a9d7a
Added debugging mode to gif2c, where it will print overviews of which pixels of each frame changed.
2019-06-04 05:59:32 +02:00
Fabian Schlenz
1d693f34e9
gif2c now throws an exception if the gif file contains frames with differing sizes.
2019-06-04 05:59:00 +02:00
Fabian Schlenz
f95589763e
Added FireEffect. Its values still need a bit of tweaking to look right...
2019-06-04 05:58:23 +02:00
Fabian Schlenz
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
Fabian Schlenz
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
Fabian Schlenz
46062945ff
Changed MatrixEffect to use color palettes.
2019-06-04 05:55:24 +02:00
Fabian Schlenz
b2bc8aa75e
Experiment in getting the differing delays in Single/MultiDynamic effects to work. Unsuccessful, for now.
2019-06-03 06:43:50 +02:00
Fabian Schlenz
7fdc28fe48
Logging effect ID in CycleEffect.
2019-06-03 06:43:02 +02:00
Fabian Schlenz
4064357d5c
Changed `REPORT_FREE_HEAP` to `REPORT_METRICS` and included uptime there as well.
2019-05-31 23:59:32 +02:00
Fabian Schlenz
12c5bc229d
SnakeEffect now has a shorter tail.
2019-05-31 23:58:58 +02:00
Fabian Schlenz
29e136b8db
NTPClient now does updates asynchronously. Thanks to https://github.com/arduino-libraries/NTPClient/pull/22
2019-05-31 23:58:34 +02:00
Fabian Schlenz
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
Fabian Schlenz
3294a35028
{Multi,Single}Dynamic will now start with a correctly colored board of tiles.
2019-05-31 05:47:11 +02:00
Fabian Schlenz
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
Fabian Schlenz
a2fe1461ad
Added effect "snake".
2019-05-31 05:45:07 +02:00
Fabian Schlenz
5321409727
Added support for reporting for freeHeap via MQTT.
2019-05-30 13:09:38 +02:00
Fabian Schlenz
b6d59758d8
SingleDynamic and MultiDynamic now also use baseHue.
2019-05-30 13:09:00 +02:00
Fabian Schlenz
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
Fabian Schlenz
8e46327549
Re-added the "Flush old UDP packets before updating the time" fix to NTPClient.cpp. See https://github.com/arduino-libraries/NTPClient/pull/62
2019-05-30 11:36:53 +02:00
Fabian Schlenz
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
Fabian Schlenz
0d3896ca0d
Got rid of (most of) all of the warnings.
2019-05-30 11:26:13 +02:00
Fabian Schlenz
711d028e90
Added effect "confetti". Closes #16 .
2019-05-30 11:12:40 +02:00
Fabian Schlenz
b452fff812
Don't do that many FastLED.show()s for now - that leads to lots of display glitches...
2019-05-30 01:36:30 +02:00
Fabian Schlenz
63a65c5b44
New animation "heart" added.
2019-05-30 01:35:57 +02:00
Fabian Schlenz
71c524b2cf
Modified gif2c.rb to output GIFs matching the current code in effect_animation.h.
2019-05-30 01:33:19 +02:00
Fabian Schlenz
8c62a6f38b
Added a config switch to enable temporal dithering. But at least for my setup something is too slow - it's flickering.
2019-05-30 00:54:57 +02:00
Fabian Schlenz
2f58fd14d0
Splitting the code into single files is done. \o/
2019-05-30 00:49:54 +02:00
Fabian Schlenz
76802ffa78
Lots of re-organizing code and stuff.
2019-05-28 21:19:35 +02:00
Fabian Schlenz
2cbb981eea
STarted reorganizing files into proper .h and .cpp files.
2019-05-28 05:46:25 +02:00
Fabian Schlenz
ce0c834326
Arduino IDE -> PlatformIO
2019-05-27 21:17:05 +02:00