git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6205 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2013-08-23 07:57:26 +00:00
parent b11d97ab58
commit 960847273c
4 changed files with 36 additions and 2 deletions

View File

@ -111,6 +111,17 @@
* @api
*/
#define stGetAlarm() st_lld_get_alarm()
/**
* @brief Determines if the alarm is active.
*
* @return The alarm status.
* @retval false if the alarm is not active.
* @retval true is the alarm is active
*
* @api
*/
#define stIsAlarmActive() st_lld_is_alarm_active()
/** @} */
/*===========================================================================*/

View File

@ -128,6 +128,20 @@ static inline systime_t st_lld_get_alarm(void) {
return (systime_t)STM32_TIM2->CCR[0];
}
/**
* @brief Determines if the alarm is active.
*
* @return The alarm status.
* @retval false if the alarm is not active.
* @retval true is the alarm is active
*
* @notapi
*/
static inline bool st_lld_is_alarm_active(void) {
return (bool)((STM32_TIM2->DIER & STM32_TIM_DIER_CC1IE) != 0);
}
#endif /* _ST_LLD_H_ */
/** @} */

View File

@ -175,7 +175,7 @@ typedef struct {
#endif /* !defined(chDbgCheck) */
#else /* !CH_DBG_ENABLE_CHECKS */
#define chDbgCheck(c) {(void)(c);}
#define chDbgCheck(c) /*{(void)(c);}*/
#endif /* !CH_DBG_ENABLE_CHECKS */
#if CH_DBG_ENABLE_ASSERTS || defined(__DOXYGEN__)
@ -200,7 +200,7 @@ typedef struct {
}
#endif /* !defined(chDbgAssert) */
#else /* !CH_DBG_ENABLE_ASSERTS */
#define chDbgAssert(c, r) {(void)(c);}
#define chDbgAssert(c, r) /*{(void)(c);}*/
#endif /* !CH_DBG_ENABLE_ASSERTS */
/** @} */

View File

@ -37,6 +37,7 @@
#else /* !defined(CH_PORT_DO_NOT_USE_ST) */
/* This is the only header in the HAL designed to be include-able alone.*/
#include "st.h"
/*===========================================================================*/
@ -90,6 +91,8 @@ static inline systime_t port_timer_get_time(void) {
*/
static inline void port_timer_start_alarm(systime_t time) {
chDbgAssert(stIsAlarmActive() == false, "already active");
stStartAlarm(time);
}
@ -100,6 +103,8 @@ static inline void port_timer_start_alarm(systime_t time) {
*/
static inline void port_timer_stop_alarm(void) {
chDbgAssert(stIsAlarmActive() != false, "not active");
stStopAlarm();
}
@ -112,6 +117,8 @@ static inline void port_timer_stop_alarm(void) {
*/
static inline void port_timer_set_alarm(systime_t time) {
chDbgAssert(stIsAlarmActive() != false, "not active");
stSetAlarm(time);
}
@ -124,6 +131,8 @@ static inline void port_timer_set_alarm(systime_t time) {
*/
static inline systime_t port_timer_get_alarm(void) {
chDbgAssert(stIsAlarmActive() != false, "not active");
return stGetAlarm();
}