Commit Graph

90 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 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 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 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 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 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 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 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 0af76f2195 gif2c: Produce nicer formatted C code.
continuous-integration/drone/push Build is failing
2019-06-14 05:36:25 +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 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 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 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 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 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 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