Commit Graph
100 Commits
Author SHA1 Message Date
fabian 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 5b70511570 Added options to config.sample.h
continuous-integration/drone/push Build is failing
2019-06-19 22:31:11 +02:00
fabian 77fdba213a I'm tired and forgot to add two files to previous commits. :-/ 2019-06-19 22:29:11 +02:00
fabian 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 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 90c0df093e New Effect: BigDynamicEffect. 2019-06-19 22:26:52 +02:00
fabian 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 0163bbef6c Some memory leaks fixed. 2019-06-19 22:23:49 +02:00
fabian 9eeb4b50fd Missed a patch for the previous commit. 2019-06-19 22:22:37 +02:00
fabian 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 e897c6bdcd New Effect: DvdEffect 2019-06-19 22:17:39 +02:00
fabian f1821b0b85 New Effect: RandomConfettiEffect 2019-06-19 22:17:10 +02:00
fabian 41af01ee0b Better handling of Animations, their members and the destructor. 2019-06-19 22:16:06 +02:00
fabian cb4afa5043 Removed support for ESP32. Existing code will stay in place, but new stuff won't be controlled for ESP32 compatibility.
continuous-integration/drone/push Build is failing
2019-06-18 21:32:33 +02:00
fabian 74b967392d Cleanup.
continuous-integration/drone/push Build is failing
2019-06-18 18:18:07 +02:00
fabian 8c9e9e2e2e MQTT: Use new effect structure and logging. 2019-06-18 18:17:48 +02:00
fabian 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 e52d7c750d Define flash layout in platformio.ini in order to have space for a SPIFFS file system. 2019-06-18 18:16:31 +02:00
fabian d1a49fe625 Added missing library. 2019-06-18 18:15:59 +02:00
fabian 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 5a02050680 Log using printf with a String stored in PROGMEM. Always. 2019-06-18 18:13:37 +02:00
fabian 5af7c6337d Enable CYCLE_MODE_RANOM by default. 2019-06-18 18:12:36 +02:00
fabian ae02509712 Updated .gitignore 2019-06-18 18:12:16 +02:00
fabian 3c0e7a116a Animation now uses .pia files from SPIFFS instead of hardcoded C stuff. 2019-06-18 18:10:58 +02:00
fabian 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 72cdb46451 .gitignore: Ignore MacOS' .DS_Store. 2019-06-18 18:05:20 +02:00
fabian f0509de411 PixelClockEffect is now being displayed correctly. 2019-06-16 12:43:34 +02:00
fabian 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 3edbf6b252 Added PicelClockEffect.
continuous-integration/drone/push Build is passing
2019-06-15 14:18:35 +02:00
fabian dc40653fea Removed errorneous line from platformio.ini 2019-06-15 14:18:06 +02:00
fabian b65afde142 MatrixEffect now uses dynamically allocated memory. 2019-06-15 14:17:06 +02:00
fabian 02b3bbcea8 Added methods for drawing lines and circles to Window. 2019-06-15 14:16:27 +02:00
fabian 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
fabian 0af76f2195 gif2c: Produce nicer formatted C code.
continuous-integration/drone/push Build is failing
2019-06-14 05:36:25 +02:00
fabian 60aacb0531 Set PlatformIO's lib_ldf_mode to chain+ to prevent it from including ESP32 libraries in ESP8266 projects and vice versa. 2019-06-14 05:36:04 +02:00
fabian 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 4fdd1d3739 Added animation 'cake'. 2019-06-14 05:32:55 +02:00
fabian 1e23936374 Added effect 'gol': Conway's Game of Life. 2019-06-14 05:32:17 +02:00
fabian 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
fabian ea4898daa6 Added .pioenvs and .piolibdeps to .gitignore. 2019-06-12 20:58:22 +02:00
fabian bfe46220ca Added HTTP REST API. 2019-06-12 20:57:31 +02:00
fabian 308196d185 Added fps to MQTT metrics. 2019-06-12 20:49:37 +02:00
fabian ca980b0c9f You can now set LED_MAX_MILLIAMPS if your power supply is limited. 2019-06-12 20:48:56 +02:00
fabian f8c696c384 Added README as well as some comments in config.sample.h 2019-06-12 20:48:20 +02:00
fabian 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
fabian 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 2072877159 Handling of incoming MQTT messages improved.
continuous-integration/drone/push Build is passing
2019-06-11 19:48:42 +02:00
fabian 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 9acdc42dc3 drone.yml: Nicer notifications. 2019-06-11 19:44:53 +02:00
fabian 31779f491f Added notifications to drone.yml.
continuous-integration/drone/push Build is passing
2019-06-07 06:42:06 +02:00
fabian 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
fabian 38c55e3047 Added missing stuff to config.sample.h 2019-06-07 06:30:15 +02:00
fabian c5856a6f7a Whitespace stuff. Tabs rule!
continuous-integration/drone/push Build is failing
2019-06-07 06:24:16 +02:00
fabian b71faa3bcb MQTT now sets LWT and explicitly requests a clean sesion on startup.
continuous-integration/drone/push Build is failing
2019-06-07 06:08:52 +02:00
fabian c153ce915d Added MQTT_TOPIC_WEATHER for receiving and storing weather data. 2019-06-07 06:08:21 +02:00
fabian 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 560b71425d Made the code ESP32-compatible.
continuous-integration/drone/push Build is passing
2019-06-06 12:12:58 +02:00
fabian c9dfc908af Drone: Try building a version for ESP32, as well. 2019-06-06 12:08:57 +02:00
fabian 66c424ed47 Drone: Combined the two build into one step in order to only have to download PlatformIO and stuff just once.
continuous-integration/drone/push Build is passing
2019-06-06 12:01:01 +02:00
fabian 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
fabian 05aa6f7249 Added a pragma message if MQTT is disabled.
continuous-integration/drone/push Build is failing
2019-06-06 06:51:07 +02:00
fabian 177cad726f Now testing a "full" build as well as a "lite" build. 2019-06-06 06:49:33 +02:00
fabian f0d73f1a66 .drone.yml: Now again back to pio run with environment variables...
continuous-integration/drone/push Build is passing
2019-06-06 06:39:47 +02:00
fabian 68d110802a "pio ci" instead of "pio run" in order to set defines.
continuous-integration/drone/push Build is failing
2019-06-06 06:38:10 +02:00
fabian c016a9fa1b PlatformIO doesn't run under python 3 yet. -_-
continuous-integration/drone/push Build is failing
2019-06-06 06:34:04 +02:00
fabian 38f3ce5a72 Fixes in .drone.yml: Python3, platformio instead of pio.
continuous-integration/drone/push Build is failing
2019-06-06 06:32:47 +02:00
fabian 33a9f86be2 Added .drone.yml
continuous-integration/drone/push Build is failing
2019-06-06 06:30:15 +02:00
fabian 026ed27d8e More (unseccessful) experiments with FireworksEffect. 2019-06-06 06:44:52 +02:00
fabian f7275cc086 Setup ntp callback. 2019-06-06 06:44:34 +02:00
fabian d9212189c1 NTPClient.getTimeValid is now .isTimeSet. 2019-06-06 06:44:18 +02:00
fabian f7fc459095 MQTT can now be disabled via MQTT_ENABLE 2019-06-06 06:43:50 +02:00
fabian 158847d4c4 Correctly using NTPClient. Now with callback. 2019-06-06 06:43:01 +02:00
fabian 26761226d0 Stuff from text.h is now const. 2019-06-06 06:42:00 +02:00
fabian 540b188058 Extended config.sample.h 2019-06-06 06:41:11 +02:00
fabian dcf42bbb0c Added animation_weather_icons. 2019-06-06 06:40:51 +02:00
fabian 4fe34afd08 Animation.h now also includes AnimationSlice to show only part of an animation. 2019-06-06 06:40:30 +02:00
fabian 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 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 d4c1c1fc91 Updated config.sample.h 2019-06-05 06:29:47 +02:00
fabian 59a987f7e6 FireEffect does look a bit better, but still not right. 2019-06-05 06:28:36 +02:00
fabian f7230b54a2 CycleEffect can now be configured to show the effects sequentially or randomly. 2019-06-05 06:28:21 +02:00
fabian a2b0f7106f Added FireworkEffect, which needs a lot more tweaking. 2019-06-05 06:27:55 +02:00
fabian de180b9b28 Repaired the color palette for MatrixEffect. 2019-06-05 06:27:34 +02:00
fabian 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 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 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 788b1f4119 First pixel of MatrixEffect is enforced to be white. 2019-06-04 06:51:36 +02:00
fabian ac2de19d7a Added lib_deps to platformio.ini. 2019-06-04 06:00:14 +02:00
fabian 5c4c1f2fac Syntax corrections. 2019-06-04 05:59:51 +02:00
fabian 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 1d693f34e9 gif2c now throws an exception if the gif file contains frames with differing sizes. 2019-06-04 05:59:00 +02:00
fabian f95589763e Added FireEffect. Its values still need a bit of tweaking to look right... 2019-06-04 05:58:23 +02:00
fabian 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 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 46062945ff Changed MatrixEffect to use color palettes. 2019-06-04 05:55:24 +02:00
fabian 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 7fdc28fe48 Logging effect ID in CycleEffect. 2019-06-03 06:43:02 +02:00
fabian 4064357d5c Changed REPORT_FREE_HEAP to REPORT_METRICS and included uptime there as well. 2019-05-31 23:59:32 +02:00
fabian 12c5bc229d SnakeEffect now has a shorter tail. 2019-05-31 23:58:58 +02:00
fabian 29e136b8db NTPClient now does updates asynchronously. Thanks to https://github.com/arduino-libraries/NTPClient/pull/22 2019-05-31 23:58:34 +02:00