From f571b507132cc77e401dee68535c2b9f3370c60c Mon Sep 17 00:00:00 2001 From: barthess Date: Wed, 27 Mar 2013 20:03:40 +0000 Subject: STM32. GPT. Added abillity to change interval of running GPT unit on the fly. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5510 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/gpt.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'os/hal/include/gpt.h') diff --git a/os/hal/include/gpt.h b/os/hal/include/gpt.h index 4a8245df5..379b90be9 100644 --- a/os/hal/include/gpt.h +++ b/os/hal/include/gpt.h @@ -76,6 +76,23 @@ typedef void (*gptcallback_t)(GPTDriver *gptp); /* 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. + * + * @param[in] gptp pointer to a @p GPTDriver object + * @param[in] interval new cycle time in timer ticks + * + * @iclass + */ +#define stm32_gptChangeIntervalI(gptp, interval) { \ + gpt_lld_change_interval(gptp, interval); \ +} + /*===========================================================================*/ /* External declarations. */ /*===========================================================================*/ @@ -89,6 +106,7 @@ extern "C" { void gptStop(GPTDriver *gptp); void gptStartContinuous(GPTDriver *gptp, gptcnt_t interval); void gptStartContinuousI(GPTDriver *gptp, gptcnt_t interval); + void stm32_gptChangeInterval(GPTDriver *gptp, gptcnt_t interval); void gptStartOneShot(GPTDriver *gptp, gptcnt_t interval); void gptStartOneShotI(GPTDriver *gptp, gptcnt_t interval); void gptStopTimer(GPTDriver *gptp); -- cgit v1.2.3