Components/Libraries/XF/FreeRTOS/ITimer
Sara.chalokh (Talk | contribs) (Created page with "{{TOC right}} =ITimer= The class ITimer is a C++ class that manage a FreeRTOS software timer. It implements a callback function that is called when the define time expire The...") |
Sara.chalokh (Talk | contribs) (→void callback() [pure virtual] [protected]) |
||
(21 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
{{TOC right}} | {{TOC right}} | ||
=ITimer= | =ITimer= | ||
− | The class ITimer is a C++ class that manage a FreeRTOS software timer. It implements a callback function that is called when the | + | The class ITimer is a C++ class that manage a FreeRTOS software timer. It implements a callback function that is called when the defined time expires |
The timer callback function must be reimplemented in a subclass. | The timer callback function must be reimplemented in a subclass. | ||
+ | = Member Attibutes = | ||
+ | TimerHandle_t '''_timerHandler''' : the FreeRTOS timer | ||
+ | |||
+ | bool _'''isActive''' : indicate if the ITimer is active or not | ||
= Member Function Documentation = | = Member Function Documentation = | ||
== ITimer(timeSize oPeriod, bool oPeriodic) == | == ITimer(timeSize oPeriod, bool oPeriodic) == | ||
=== Description === | === Description === | ||
− | Construct a ITimer to manage a FreeRTOS timer. This timer is just create, he does not start until start is called | + | Construct a ITimer to manage a FreeRTOS timer. This timer is just create, he does not start until start() is called. |
− | + | ||
− | + | ||
If the timer could not be create and useErrorHandler is define also an error "OS_MEMORY_COULD_NOT_BE_ALLOCATED" is sent. | If the timer could not be create and useErrorHandler is define also an error "OS_MEMORY_COULD_NOT_BE_ALLOCATED" is sent. | ||
+ | |||
+ | If you do not use the error handler and want to know if the timer has been created successfully you can call the method isCreated(). | ||
=== Parameters === | === Parameters === | ||
− | oPeriod : | + | timeSize '''oPeriod''' : the maximal time (in ms) to wait if this command fails |
− | oPeriodic : indicate if the timer is auto reload (true) or not (false) | + | bool '''oPeriodic''' : indicate if the timer is auto reload (true) or not (false) |
== ~ITimer() [virtual] == | == ~ITimer() [virtual] == | ||
+ | === Description === | ||
Destroy the ITimer and the FreeRTOS timer. | Destroy the ITimer and the FreeRTOS timer. | ||
== bool setPeriod(timeSize oNewPeriod, timeSize oTimeToWait) == | == bool setPeriod(timeSize oNewPeriod, timeSize oTimeToWait) == | ||
+ | === Description === | ||
Set the period of the timer to the value of oNewPeriod. | Set the period of the timer to the value of oNewPeriod. | ||
− | |||
− | |||
If the command fail and useErrorHandler is define an error "TIMER_PERIOD_NOT_CHANGED" is sent. | If the command fail and useErrorHandler is define an error "TIMER_PERIOD_NOT_CHANGED" is sent. | ||
Do not use this method in an ISR. If you need it see setPeriodFromISR. | Do not use this method in an ISR. If you need it see setPeriodFromISR. | ||
+ | === Parameters === | ||
+ | timeSize '''oNewPeriod''' : the new period of the timer in millisecond | ||
+ | |||
+ | timeSize '''oTimeToWait''' : the maximal time (in ms) to wait if this command fails | ||
+ | |||
+ | === Return === | ||
+ | Returns true if period has been changed successfully, else false | ||
== bool setPeriodFromISR(timeSize oNewPeriod) == | == bool setPeriodFromISR(timeSize oNewPeriod) == | ||
+ | === Description === | ||
Set the period of the timer to the value of oNewPeriod from an ISR. | Set the period of the timer to the value of oNewPeriod from an ISR. | ||
+ | === Parameters === | ||
+ | timeSize '''oNewPeriod''' : the new period of the timer in millisecond | ||
− | + | === Return === | |
+ | Return true if period has been changed successfully, else false | ||
== bool start(timeSize timeToWait) == | == bool start(timeSize timeToWait) == | ||
− | Starts the timer. | + | === Description === |
− | + | Starts the timer. If timer was in the active state it will reset the timer period to 0, if it was not in the active state it just will start. | |
− | + | ||
If the command fails and useErrorHandler is define an error "TIMER_START_FAIL" is sent. | If the command fails and useErrorHandler is define an error "TIMER_START_FAIL" is sent. | ||
− | == | + | Do not call this method in an ISR context, if you need to do this see startFromISR(). |
+ | |||
+ | === Parameters === | ||
+ | timeSize '''timeToWait''' : the maximal time (in ms) to wait if the command fails | ||
+ | |||
+ | === Return === | ||
+ | Return true if period has been started successfully, else false | ||
+ | |||
+ | == bool startFromISR() == | ||
+ | === Description === | ||
+ | Starts the timer from an ISR context. If timer was in the active state it will reset the timer period to 0, if it was not in the active state it just will start. | ||
+ | === Return === | ||
+ | Returns true if timer has been started successfully, else false | ||
+ | |||
+ | == bool stop(timeSize timeToWait) == | ||
+ | === Description === | ||
+ | Stop the timer. This change the state to inactive | ||
+ | |||
+ | Do not call this method in an ISR context, if you need to do this see stopFromISR(). | ||
+ | === Parameters === | ||
+ | timeSize '''timeToWait''' : maximal time (in ms) to wait if this command fails | ||
+ | |||
+ | === Return === | ||
+ | Return true if timer has been stopped successfully, else false | ||
+ | |||
+ | == bool stopFromISR() == | ||
+ | === Description === | ||
+ | Stop the timer from an ISR context. This change the state to inactive | ||
+ | === Return === | ||
+ | Return true if timer has been stopped successfully, else false | ||
+ | |||
+ | == bool reset(timeSize timeToWait) == | ||
+ | === Description === | ||
+ | Reset the timer. If the timer was in the active state it will reset the timer period to 0, if it was not in the active state it just will start. | ||
+ | |||
+ | Do not call this method in an ISR context, if you need to do this see startFromISR(). | ||
+ | |||
+ | === Parameters === | ||
+ | timeToWait : how long to wait (in ticks) to send this command | ||
+ | === Return === | ||
+ | Return true if timer has been reset successfully, else false | ||
+ | |||
+ | == bool resetFromISR() == | ||
+ | === Description === | ||
+ | Reset the timer from an ISR context. If timer was in the active state it will reset the timer period to 0. If it was not in the active state it just will start. | ||
+ | === Return === | ||
+ | Return true if timer has been reset successfully, else false | ||
+ | |||
+ | == bool isActive() == | ||
+ | === Description === | ||
+ | Inidicate if the timer is in the active state else false | ||
+ | === Return === | ||
+ | Return true if timer is in the active state else false | ||
+ | |||
+ | == void callback() [pure virtual] [protected] == | ||
+ | === Description === | ||
+ | The callback function of the Timer. You must override this function for your application. |
Latest revision as of 13:02, 21 August 2017
ITimer
The class ITimer is a C++ class that manage a FreeRTOS software timer. It implements a callback function that is called when the defined time expires
The timer callback function must be reimplemented in a subclass.
Member Attibutes
TimerHandle_t _timerHandler : the FreeRTOS timer
bool _isActive : indicate if the ITimer is active or not
Member Function Documentation
ITimer(timeSize oPeriod, bool oPeriodic)
Description
Construct a ITimer to manage a FreeRTOS timer. This timer is just create, he does not start until start() is called.
If the timer could not be create and useErrorHandler is define also an error "OS_MEMORY_COULD_NOT_BE_ALLOCATED" is sent.
If you do not use the error handler and want to know if the timer has been created successfully you can call the method isCreated().
Parameters
timeSize oPeriod : the maximal time (in ms) to wait if this command fails
bool oPeriodic : indicate if the timer is auto reload (true) or not (false)
~ITimer() [virtual]
Description
Destroy the ITimer and the FreeRTOS timer.
bool setPeriod(timeSize oNewPeriod, timeSize oTimeToWait)
Description
Set the period of the timer to the value of oNewPeriod.
If the command fail and useErrorHandler is define an error "TIMER_PERIOD_NOT_CHANGED" is sent.
Do not use this method in an ISR. If you need it see setPeriodFromISR.
Parameters
timeSize oNewPeriod : the new period of the timer in millisecond
timeSize oTimeToWait : the maximal time (in ms) to wait if this command fails
Return
Returns true if period has been changed successfully, else false
bool setPeriodFromISR(timeSize oNewPeriod)
Description
Set the period of the timer to the value of oNewPeriod from an ISR.
Parameters
timeSize oNewPeriod : the new period of the timer in millisecond
Return
Return true if period has been changed successfully, else false
bool start(timeSize timeToWait)
Description
Starts the timer. If timer was in the active state it will reset the timer period to 0, if it was not in the active state it just will start.
If the command fails and useErrorHandler is define an error "TIMER_START_FAIL" is sent.
Do not call this method in an ISR context, if you need to do this see startFromISR().
Parameters
timeSize timeToWait : the maximal time (in ms) to wait if the command fails
Return
Return true if period has been started successfully, else false
bool startFromISR()
Description
Starts the timer from an ISR context. If timer was in the active state it will reset the timer period to 0, if it was not in the active state it just will start.
Return
Returns true if timer has been started successfully, else false
bool stop(timeSize timeToWait)
Description
Stop the timer. This change the state to inactive
Do not call this method in an ISR context, if you need to do this see stopFromISR().
Parameters
timeSize timeToWait : maximal time (in ms) to wait if this command fails
Return
Return true if timer has been stopped successfully, else false
bool stopFromISR()
Description
Stop the timer from an ISR context. This change the state to inactive
Return
Return true if timer has been stopped successfully, else false
bool reset(timeSize timeToWait)
Description
Reset the timer. If the timer was in the active state it will reset the timer period to 0, if it was not in the active state it just will start.
Do not call this method in an ISR context, if you need to do this see startFromISR().
Parameters
timeToWait : how long to wait (in ticks) to send this command
Return
Return true if timer has been reset successfully, else false
bool resetFromISR()
Description
Reset the timer from an ISR context. If timer was in the active state it will reset the timer period to 0. If it was not in the active state it just will start.
Return
Return true if timer has been reset successfully, else false
bool isActive()
Description
Inidicate if the timer is in the active state else false
Return
Return true if timer is in the active state else false
void callback() [pure virtual] [protected]
Description
The callback function of the Timer. You must override this function for your application.