semf
semf::FrequencyIn Class Reference

Class for measuring the frequency on a capture input. More...

#include <frequencyin.h>

Inheritance diagram for semf::FrequencyIn:
Inheritance graph
Collaboration diagram for semf::FrequencyIn:
Collaboration graph

Public Member Functions

 FrequencyIn (InputCapture &inputCapture)
 Constructor. More...
 
 FrequencyIn (const FrequencyIn &other)=delete
 
void start () override
 
void stop () override
 
void reset () override
 
uint32_t periodTicks () const override
 Returns the measured ticks of a signal period (directly after capturing it and emitted dataAvailable signal). More...
 
uint32_t periodInMs () const override
 Returns the measured time in milliseconds of 2 successive captured signals. More...
 
uint32_t frequency () const override
 Returns the measured frequency. More...
 
- Public Member Functions inherited from semf::app::FrequencyIn
virtual ~FrequencyIn ()=default
 
virtual void start ()=0
 
virtual void stop ()=0
 
virtual void reset ()=0
 
virtual uint32_t periodTicks () const =0
 Returns the measured ticks of a signal period (directly after capturing it and emitted dataAvailable signal). More...
 
virtual uint32_t periodInMs () const =0
 Returns the measured time in milliseconds of 2 successive captured signals. More...
 
virtual uint32_t frequency () const =0
 Returns the measured frequency. More...
 

Protected Member Functions

virtual void onDataAvailable ()
 

Additional Inherited Members

- Public Attributes inherited from semf::app::FrequencyIn
Signal dataAvailable
 

Detailed Description

Class for measuring the frequency on a capture input.

Definition at line 21 of file frequencyin.h.

Constructor & Destructor Documentation

◆ FrequencyIn() [1/2]

semf::FrequencyIn::FrequencyIn ( InputCapture inputCapture)
explicit

Constructor.

Parameters
inputCaptureReference to a hardware interface.

Definition at line 16 of file frequencyin.cpp.

Here is the call graph for this function:

◆ FrequencyIn() [2/2]

semf::FrequencyIn::FrequencyIn ( const FrequencyIn other)
explicitdelete

Member Function Documentation

◆ frequency()

uint32_t semf::FrequencyIn::frequency ( ) const
overridevirtual

Returns the measured frequency.

Warning
For this method, the ticks per second must be set correctly.
Returns
The measured frequency.
See also
setTickPerSecond()

Implements semf::app::FrequencyIn.

Definition at line 57 of file frequencyin.cpp.

Here is the call graph for this function:

◆ onDataAvailable()

void semf::FrequencyIn::onDataAvailable ( )
protectedvirtual

This method must be called from the interrupt routine to update the frequency.

Definition at line 65 of file frequencyin.cpp.

Here is the call graph for this function:

◆ periodInMs()

uint32_t semf::FrequencyIn::periodInMs ( ) const
overridevirtual

Returns the measured time in milliseconds of 2 successive captured signals.

Warning
For using this method, the ticks per second must set correctly.
Returns
The measured time in milliseconds.
See also
setTickPerSecond()

Implements semf::app::FrequencyIn.

Definition at line 48 of file frequencyin.cpp.

Here is the call graph for this function:

◆ periodTicks()

uint32_t semf::FrequencyIn::periodTicks ( ) const
overridevirtual

Returns the measured ticks of a signal period (directly after capturing it and emitted dataAvailable signal).

Returns
The measured ticks of a signal period.

Implements semf::app::FrequencyIn.

Definition at line 40 of file frequencyin.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset()

void semf::FrequencyIn::reset ( )
overridevirtual

Reset the last measured period (counter).

Implements semf::app::FrequencyIn.

Definition at line 34 of file frequencyin.cpp.

◆ start()

void semf::FrequencyIn::start ( )
overridevirtual

Start reading the input frequency.

Implements semf::app::FrequencyIn.

Definition at line 22 of file frequencyin.cpp.

Here is the call graph for this function:

◆ stop()

void semf::FrequencyIn::stop ( )
overridevirtual

Stop reading the input frequency.

Implements semf::app::FrequencyIn.

Definition at line 28 of file frequencyin.cpp.

Here is the call graph for this function: