semf
ledblinking.h
Go to the documentation of this file.
1
10#ifndef SEMF_OUTPUT_LEDBLINKING_H_
11#define SEMF_OUTPUT_LEDBLINKING_H_
12
14#include <semf/output/softpwm.h>
15
16namespace semf
17{
22{
23public:
30 LedBlinking(Gpio& ledPin, app::TimeBase& timebase, bool inverted = false);
31 explicit LedBlinking(const LedBlinking& other) = delete;
33 virtual ~LedBlinking() = default;
35
36 void setOn() override;
37 void setOff() override;
38 void toggle() override;
39 void setBlinking(unsigned int onOffTime) override;
40 void setBlinking(unsigned int onTime, unsigned int offTime) override;
41 Mode mode() const override;
42
43private:
45 SoftPwm m_pwm;
47 bool m_inverted;
50};
51} /* namespace semf */
52#endif /* SEMF_OUTPUT_LEDBLINKING_H_ */
Interface class for using a GPIO pin of the microcontroller.
Definition: gpio.h:23
Interface for a blinking led class.
Definition: ledblinking.h:22
void setOn() override
Definition: ledblinking.cpp:22
Mode mode() const override
Returns the active mode of the led.
Definition: ledblinking.cpp:67
void setOff() override
Definition: ledblinking.cpp:31
void setBlinking(unsigned int onOffTime) override
Starts blinking the led with the same on and off time.
Definition: ledblinking.cpp:49
LedBlinking(Gpio &ledPin, app::TimeBase &timebase, bool inverted=false)
Constructor.
Definition: ledblinking.cpp:16
LedBlinking(const LedBlinking &other)=delete
void toggle() override
Definition: ledblinking.cpp:39
The SoftPwm class outputs a PWM signal on the given GPIO.
Definition: softpwm.h:31
Interface for a blinking led class.
Definition: ledblinking.h:23
virtual ~LedBlinking()=default
A TimeBase is the bridge between e.g. a hardware timer (interrupt service routine) and TickReceiver o...
Definition: timebase.h:36