semf
frequencyin.h
Go to the documentation of this file.
1
10#ifndef SEMF_INPUT_FREQUENCYIN_H_
11#define SEMF_INPUT_FREQUENCYIN_H_
12
15
16namespace semf
17{
22{
23public:
28 explicit FrequencyIn(InputCapture& inputCapture);
29 explicit FrequencyIn(const FrequencyIn& other) = delete;
31 virtual ~FrequencyIn() = default;
33
34 void start() override;
35 void stop() override;
36 void reset() override;
37 uint32_t periodTicks() const override;
38 uint32_t periodInMs() const override;
39 uint32_t frequency() const override;
40
41protected:
43 virtual void onDataAvailable();
44
45private:
47 InputCapture& m_inputCapture;
49 uint32_t m_lastTicks = 0;
51 uint32_t m_lastPeriod = 0;
53 SEMF_SLOT(m_onDataAvailableSlot, FrequencyIn, *this, onDataAvailable);
54};
55} /* namespace semf */
56#endif /* SEMF_INPUT_FREQUENCYIN_H_ */
Class for measuring the frequency on a capture input.
Definition: frequencyin.h:22
void start() override
Definition: frequencyin.cpp:22
void stop() override
Definition: frequencyin.cpp:28
FrequencyIn(const FrequencyIn &other)=delete
uint32_t periodTicks() const override
Returns the measured ticks of a signal period (directly after capturing it and emitted dataAvailable ...
Definition: frequencyin.cpp:40
void reset() override
Definition: frequencyin.cpp:34
virtual void onDataAvailable()
Definition: frequencyin.cpp:65
FrequencyIn(InputCapture &inputCapture)
Constructor.
Definition: frequencyin.cpp:16
uint32_t periodInMs() const override
Returns the measured time in milliseconds of 2 successive captured signals.
Definition: frequencyin.cpp:48
uint32_t frequency() const override
Returns the measured frequency.
Definition: frequencyin.cpp:57
Class for utilizing the input capture from the uC.
Definition: inputcapture.h:24
Class for measuring the frequency on a capture input.
Definition: frequencyin.h:25
virtual ~FrequencyIn()=default