Commit Graph

6 Commits

Author SHA1 Message Date
Gregg 5daaf3d0cf Added #pragma once to extras header files 2022-12-03 11:12:30 -06:00
Gregg dbe4c268f4 Modified folder structure for "extras"
This allows the "src.ino" test file to once again properly compile without requiring modifications to any existing HomeSpan sketches.  This was needed to ensure src.ino can find object code in "extras", which is now required to use the new statusDevice() method.  Since the Arduino IDE only copies files that are in "src" folders, "extras" needed to be moved to "src/extras".  For backwards compatibility with all other sketches, the "extras" directory now contains stubs for the ".h" include files.
2022-09-24 08:20:22 -05:00
Gregg 8b9487b9d4 Created homeSpan.setStatusPixel(float h=0, float s=100, float v=100)
This is now the official API method to set an RGB NeoPixel as the status LED.  It defaults to bright red unless an HSV color is specified.
2022-09-04 07:31:08 -05:00
Gregg 546c87e3ec Added setOnColor to Pixel
Allows user to set the color to be used for Blinker
2022-09-03 16:47:02 -05:00
Gregg 294b8d8d71 Complete re-write of Blinker Class
Rather than use ESP32 timers, simply spawn a new task that turn on/off LED using simple delays.  By avoiding the use of the ESP32 timer, we are no longer limited by the number of Blinkers possible.  Also, Blinker relied on the timer interrupt, which crashed when it tried to call Pixel since Pixel in turn uses interrupts from the RMT.  Switching to spawned tasks is much cleaner and does not consume more CPU time since the timer interrupts were driven by CPU anyway.

Blinker class and generic LED class are now in extras.h.  Blinkable Interface is also in extras.h.

To Do:  Incorporate new Blinker class into HomeSpan code
2022-08-28 17:49:48 -05:00
Gregg fc76db092d started development of Blinkable Interface to allow generic LED to be used with Blinker 2022-08-27 17:33:08 -05:00