From 6eb46acf16600aedba6608bc06f6eab0892a43e9 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 7 Feb 2015 11:50:45 +0000 Subject: Added I-Class functions to the PWM driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7676 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/pwm.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'os/hal/include') diff --git a/os/hal/include/pwm.h b/os/hal/include/pwm.h index 934131d1e..cb948e850 100644 --- a/os/hal/include/pwm.h +++ b/os/hal/include/pwm.h @@ -226,6 +226,58 @@ typedef void (*pwmcallback_t)(PWMDriver *pwmp); */ #define pwmIsChannelEnabledI(pwmp, channel) \ ((bool)((pwmp)->enabled & (1 << (channel)))) + +/** + * @brief Enables the periodic activation edge notification. + * @pre The PWM unit must have been activated using @p pwmStart(). + * @note If the notification is already enabled then the call has no effect. + * + * @param[in] pwmp pointer to a @p PWMDriver object + * + * @iclass + */ +#define pwmEnablePeriodicNotificationI(pwmp) \ + pwm_lld_enable_periodic_notification(pwmp) + +/** + * @brief Disables the periodic activation edge notification. + * @pre The PWM unit must have been activated using @p pwmStart(). + * @note If the notification is already disabled then the call has no effect. + * + * @param[in] pwmp pointer to a @p PWMDriver object + * + * @iclass + */ +#define pwmDisablePeriodicNotificationI(pwmp) \ + pwm_lld_disable_periodic_notification(pwmp) + +/** + * @brief Enables a channel de-activation edge notification. + * @pre The PWM unit must have been activated using @p pwmStart(). + * @pre The channel must have been activated using @p pwmEnableChannel(). + * @note If the notification is already enabled then the call has no effect. + * + * @param[in] pwmp pointer to a @p PWMDriver object + * @param[in] channel PWM channel identifier (0...channels-1) + * + * @iclass + */ +#define pwmEnableChannelNotificationI(pwmp, channel) \ + pwm_lld_enable_channel_notification(pwmp, channel) + +/** + * @brief Disables a channel de-activation edge notification. + * @pre The PWM unit must have been activated using @p pwmStart(). + * @pre The channel must have been activated using @p pwmEnableChannel(). + * @note If the notification is already disabled then the call has no effect. + * + * @param[in] pwmp pointer to a @p PWMDriver object + * @param[in] channel PWM channel identifier (0...channels-1) + * + * @iclass + */ +#define pwmDisableChannelNotificationI(pwmp, channel) \ + pwm_lld_disable_channel_notification(pwmp, channel) /** @} */ /*===========================================================================*/ -- cgit v1.2.3