When no more pedal revolutions occur, the value mg_u32Rpm would stay as it is. To prevent from this behaviour, this function should be called at regular intervals. It will read the current system time (see timer_GetSystemTime()) and compare it with the last timestamp in mg_u32TickTime. If the difference between both values exeeds PEDAL_TIMEOUT, the value for mg_u32Rpm will be reset to 0. The time difference between now and mg_u32TickTime will be returned.
Definition at line 170 of file pedal.c. References mg_u32Rpm, mg_u32TickTime, PEDAL_TIMEOUT, and timer_GetSystemTime(). Referenced by main(), and mg_RelayControl(). {
UINT32 u32SysTime;
UINT32 u32TickTime;
UINT32 u32Ret;
u32SysTime = timer_GetSystemTime();
asm("nop");
cli();
u32TickTime = mg_u32TickTime;
sei();
u32Ret = u32SysTime - u32TickTime;
if(u32Ret > PEDAL_TIMEOUT)
{
mg_u32Rpm = 0UL;
u32Ret = PEDAL_TIMEOUT;
}
return(u32Ret);
}
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() |
1.7.2