Arduino Helpers master
Utility library for Arduino
DotBarDisplayLEDs.hpp
Go to the documentation of this file.
1/* ✔ */
2
3#pragma once
4
6
8
12enum class DotBarMode : bool {
13 Bar = false,
14 Dot = true,
15};
16
25template <uint16_t N>
26class DotBarDisplayLEDs : public LEDs<N> {
27 public:
30
37 void display(uint16_t value) const {
38 if (value == 0)
39 this->clear();
40 else if (mode == DotBarMode::Bar)
41 this->displayRange(0, value);
42 else
43 this->displayDot(value - 1);
44 }
45
52 void display(float value) const { display(uint16_t(value * (N + 1))); }
53
55 DotBarMode getMode() const { return mode; }
56
63 void setMode(DotBarMode mode) { this->mode = mode; }
64
67
70
73
74 private:
76};
77
DotBarMode
An enumeration type to set an LED display to either bar or dot mode.
@ Dot
Turn on only the active LED.
@ Bar
Turn on a range of LEDs up to the active LED.
#define END_AH_NAMESPACE
#define BEGIN_AH_NAMESPACE
A class for LED bars.
void display(float value) const
Display the given fraction of the LED bar.
void toggleMode()
Toggle the dot/bar mode.
void setMode(DotBarMode mode)
Set the mode to either dot or bar mode.
void display(uint16_t value) const
Display the given number of LEDs on the LED bar.
DotBarMode getMode() const
Get the dot/bar mode.
DotBarDisplayLEDs(const PinList< N > &ledPins)
Constructor from list of pins.
void dotMode()
Set the mode to dot mode.
void barMode()
Set the mode to bar mode.
A class for collections of LEDs that can display ranges.
Definition: LEDs.hpp:18
const PinList< N > ledPins
Definition: LEDs.hpp:83
void clear() const
Turn off all LEDs.
Definition: LEDs.hpp:77
void displayDot(uint16_t led) const
Turn on a single LED, and turn off all others.
Definition: LEDs.hpp:72
void displayRange(uint16_t startOn, uint16_t startOff) const
Turn on a range of the LEDs.
Definition: LEDs.hpp:45