Commit Graph

133 Commits

Author SHA1 Message Date
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
Some checks failed
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.
Some checks failed
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.
All checks were successful
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
All checks were successful
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.
All checks were successful
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:
All checks were successful
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.
All checks were successful
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
All checks were successful
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!
Some checks failed
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.
All checks were successful
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