34 lines
631 B
C++
34 lines
631 B
C++
#ifndef HOMEKIT_LIB_LED_H
|
|
#define HOMEKIT_LIB_LED_H
|
|
|
|
#include <Arduino.h>
|
|
#include <stdint.h>
|
|
|
|
namespace homekit::led {
|
|
|
|
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;
|
|
};
|
|
|
|
#ifdef CONFIG_TARGET_NODEMCU
|
|
extern const Led* board_led;
|
|
#endif
|
|
extern const Led* mcu_led;
|
|
|
|
}
|
|
|
|
#endif //HOMEKIT_LIB_LED_H
|