From 9986b28b99c257afb7eb5666ca30513c461f1c53 Mon Sep 17 00:00:00 2001 From: theShed Date: Fri, 5 Apr 2013 15:04:49 +0000 Subject: [PATCH] LPC8xx: add gpt_lld_change_interval() git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5546 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/LPC8xx/gpt_lld.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/os/hal/platforms/LPC8xx/gpt_lld.h b/os/hal/platforms/LPC8xx/gpt_lld.h index 228678654..73f080f66 100644 --- a/os/hal/platforms/LPC8xx/gpt_lld.h +++ b/os/hal/platforms/LPC8xx/gpt_lld.h @@ -152,6 +152,22 @@ struct GPTDriver { /* Driver macros. */ /*===========================================================================*/ +/** + * @brief Changes the interval of GPT peripheral. + * @details This function changes the interval of a running GPT unit. + * @pre The GPT unit must have been activated using @p gptStart(). + * @pre The GPT unit must have been running in continuous mode using + * @p gptStartContinuous(). + * @post The GPT unit interval is changed to the new value. + * @note The function has effect at the next cycle start. + * + * @param[in] gptp pointer to a @p GPTDriver object + * @param[in] interval new cycle time in timer ticks + * @notapi + */ +#define gpt_lld_change_interval(gptp, interval) \ + ((gptp)->tmr->INTVAL = ((interval*(gptp)->pr) - 1)) + /*===========================================================================*/ /* External declarations. */ /*===========================================================================*/