diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2023-05-17 04:06:18 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2023-05-17 04:06:18 +0300 |
commit | c0111bf4d3dd91f54d27346970e4c6e0a1ce357e (patch) | |
tree | beb15167412bc3ed60e3e11e9076d27ea6f437e5 /platformio/common/libs/led/homekit/led.h | |
parent | 893e21cc83ee1ecf236a005f1bf4893448e9b3ea (diff) |
pio: products refactoring
Diffstat (limited to 'platformio/common/libs/led/homekit/led.h')
-rw-r--r-- | platformio/common/libs/led/homekit/led.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/platformio/common/libs/led/homekit/led.h b/platformio/common/libs/led/homekit/led.h new file mode 100644 index 0000000..513bfea --- /dev/null +++ b/platformio/common/libs/led/homekit/led.h @@ -0,0 +1,28 @@ +#ifndef COMMON_HOMEKIT_LED_H +#define COMMON_HOMEKIT_LED_H + +#include <Arduino.h> +#include <stdint.h> + +namespace homekit { + +class Led { +private: + uint8_t _pin; + +public: + explicit Led(uint8_t pin) : _pin(pin) { + pinMode(_pin, OUTPUT); + off(); + } + + inline void off() const { digitalWrite(_pin, HIGH); } + inline void on() const { digitalWrite(_pin, LOW); } + + void on_off(uint16_t delay_ms, bool last_delay = false) const; + void blink(uint8_t count, uint16_t delay_ms) const; +}; + +} + +#endif //COMMON_HOMEKIT_LED_H |