Debinix Team Library LedTask
The Arduino library shows the power of non-preemptive multitasking
LedTask.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 /**************************************************************************/
16 /**************************************************************************/
17 class LedTask {
18 public:
19  // Constructor: pin number for attached LED
20  explicit LedTask(uint16_t pin);
21  ~LedTask(void);
22 
23  void begin(uint32_t ms_on_tm, uint32_t ms_off_tm);
24  void begin(float hz_pwm_frequency = 1000);
25  void updateBlinkLed(void);
26  void updatePwmTask(float percentage_high);
27 
28  // Uses delay() - blocking code
29  void pulseLedBlk(uint8_t pulse_cnt, uint32_t ms_on_tm, uint32_t ms_off_tm);
30 
31  static inline uint16_t instance_count =
32  0;
33  static uint16_t getInstanceCount(void);
34 
35 private:
36  uint16_t led_pin;
37  uint32_t on_time;
38  uint32_t off_time;
39 
40  int led_state;
41  unsigned long previous_millis;
42  float pwm_frequency;
43 };
Class that maintain and change state of LED's.
Definition: LedTask.h:17
void begin(uint32_t ms_on_tm, uint32_t ms_off_tm)
Sets the LED on time, and off time respectively.
Definition: LedTask.cpp:66
LedTask(uint16_t pin)
Set which pin the user LED is attached to.
Definition: LedTask.cpp:36
void updatePwmTask(float percentage_high)
Updates the PWM signal output.
Definition: LedTask.cpp:170
uint32_t on_time
milliseconds of on-time
Definition: LedTask.h:37
uint32_t off_time
milliseconds of off-time
Definition: LedTask.h:38
float pwm_frequency
repetition frequency for pwm output
Definition: LedTask.h:42
unsigned long previous_millis
stores last time LED was updated
Definition: LedTask.h:41
uint16_t led_pin
LED pin.
Definition: LedTask.h:36
static uint16_t instance_count
counter to keep track of instances
Definition: LedTask.h:31
static uint16_t getInstanceCount(void)
Get number of instances created.
Definition: LedTask.cpp:217
void pulseLedBlk(uint8_t pulse_cnt, uint32_t ms_on_tm, uint32_t ms_off_tm)
Pulses a LED a number of time with set duration. Note: This method uses delay() calls.
Definition: LedTask.cpp:194
int led_state
led_state (ON/OFF) for LED
Definition: LedTask.h:40
~LedTask(void)
Deallocate LedTask object, set data pin back to INPUT.
Definition: LedTask.cpp:53
void updateBlinkLed(void)
If defined time has elapsed, changes the state of the LED. This method is called in the loop() sectio...
Definition: LedTask.cpp:145