Virtual timers new functionality added.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8363 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
0c49958d77
commit
50c33f3fdb
|
@ -324,6 +324,41 @@ static inline bool chVTIsSystemTimeWithin(systime_t start, systime_t end) {
|
|||
return chVTIsTimeWithinX(chVTGetSystemTime(), start, end);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns the time interval until the next timer event.
|
||||
* @note The return value is not perfectly accurate and can report values
|
||||
* in excess of @p CH_CFG_ST_TIMEDELTA ticks.
|
||||
* @note The interval returned by this function is only meaningful if
|
||||
* more timers are not added to the list until the returned time.
|
||||
*
|
||||
* @param[out] timep pointer to a variable that will contain the time
|
||||
* interval until the next timer elapses. This pointer
|
||||
* can be @p NULL if the information is not required.
|
||||
* @return The time, in ticks, until next time event.
|
||||
* @retval false if the timers list is empty.
|
||||
* @retbal true if the timers list contains at least one timer.
|
||||
*
|
||||
* @iclass
|
||||
*/
|
||||
static inline bool chVTGetTimersStateI(systime_t *timep) {
|
||||
|
||||
chDbgCheckClassI();
|
||||
|
||||
if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next)
|
||||
return false;
|
||||
|
||||
if (timep != NULL) {
|
||||
#if CH_CFG_ST_TIMEDELTA == 0
|
||||
*timep = ch.vtlist.vt_next->vt_delta;
|
||||
#else
|
||||
*timep = ch.vtlist.vt_lasttime + ch.vtlist.vt_next->vt_delta +
|
||||
CH_CFG_ST_TIMEDELTA - chVTGetSystemTimeX();
|
||||
#endif
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns @p true if the specified timer is armed.
|
||||
* @pre The timer must have been initialized using @p chVTObjectInit()
|
||||
|
|
|
@ -73,6 +73,8 @@
|
|||
*****************************************************************************
|
||||
|
||||
*** 3.1.0 ***
|
||||
- RT: Added new function chVTGetTimersStateI() returning the state of the
|
||||
timers list.
|
||||
- HAL: Now STM32 USARTv2 driver initializes the ISR vectors statically on
|
||||
initialization. Disabling them was not necessary and added to
|
||||
the code size.
|
||||
|
|
Loading…
Reference in New Issue