mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-05 21:52:10 +01:00
Extend PiOS DELAY to allow querying the time value in uS
This commit is contained in:
parent
36d2a467e0
commit
4bc763dafc
@ -104,6 +104,28 @@ int32_t PIOS_DELAY_WaitmS(uint16_t mS)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Query the Delay timer for the current uS
|
||||||
|
* @return A microsecond value
|
||||||
|
*/
|
||||||
|
uint16_t PIOS_DELAY_GetuS()
|
||||||
|
{
|
||||||
|
return PIOS_DELAY_TIMER->CNT;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compute the difference between now and a reference time
|
||||||
|
* @param[in] the reference time to compare now to
|
||||||
|
* @return The number of uS since the delay
|
||||||
|
*
|
||||||
|
* @note the user is responsible for worrying about rollover on the 16 bit uS counter
|
||||||
|
*/
|
||||||
|
int32_t PIOS_DELAY_DiffuS(uint16_t ref)
|
||||||
|
{
|
||||||
|
int32_t ret_t = ref;
|
||||||
|
return (int16_t) (PIOS_DELAY_GetuS() - ret_t);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,6 +36,8 @@
|
|||||||
extern int32_t PIOS_DELAY_Init(void);
|
extern int32_t PIOS_DELAY_Init(void);
|
||||||
extern int32_t PIOS_DELAY_WaituS(uint16_t uS);
|
extern int32_t PIOS_DELAY_WaituS(uint16_t uS);
|
||||||
extern int32_t PIOS_DELAY_WaitmS(uint16_t mS);
|
extern int32_t PIOS_DELAY_WaitmS(uint16_t mS);
|
||||||
|
extern uint16_t PIOS_DELAY_GetuS();
|
||||||
|
extern int32_t PIOS_DELAY_DiffuS(uint16_t ref);
|
||||||
|
|
||||||
#endif /* PIOS_DELAY_H */
|
#endif /* PIOS_DELAY_H */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user