Fixed bug #1067.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13277 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
2af65517ae
commit
0ed9d3d322
|
@ -111,6 +111,23 @@ typedef void (*gptcallback_t)(GPTDriver *gptp);
|
||||||
*/
|
*/
|
||||||
#define gptGetCounterX(gptp) gpt_lld_get_counter(gptp)
|
#define gptGetCounterX(gptp) gpt_lld_get_counter(gptp)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Common ISR code, GPT period event.
|
||||||
|
*
|
||||||
|
* @param[in] gptp pointer to the @p GPTDriver object
|
||||||
|
*
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
#define _gpt_isr_invoke_cb(gptp) do { \
|
||||||
|
if ((gptp)->state == GPT_ONESHOT) { \
|
||||||
|
(gptp)->state = GPT_READY; \
|
||||||
|
gpt_lld_stop_timer(gptp); \
|
||||||
|
} \
|
||||||
|
if ((gptp)->config->callback != NULL) { \
|
||||||
|
(gptp)->config->callback(gptp); \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* External declarations. */
|
/* External declarations. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
|
@ -822,18 +822,6 @@ void gpt_lld_start(GPTDriver *gptp) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if STM32_GPT_USE_TIM15
|
|
||||||
if (&GPTD15 == gptp) {
|
|
||||||
rccEnableTIM15(true);
|
|
||||||
rccResetTIM15();
|
|
||||||
#if defined(STM32_TIM15CLK)
|
|
||||||
gptp->clock = STM32_TIM15CLK;
|
|
||||||
#else
|
|
||||||
gptp->clock = STM32_TIMCLK2;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if STM32_GPT_USE_TIM16
|
#if STM32_GPT_USE_TIM16
|
||||||
if (&GPTD16 == gptp) {
|
if (&GPTD16 == gptp) {
|
||||||
rccEnableTIM16(true);
|
rccEnableTIM16(true);
|
||||||
|
@ -1150,13 +1138,13 @@ void gpt_lld_polled_delay(GPTDriver *gptp, gptcnt_t interval) {
|
||||||
* @notapi
|
* @notapi
|
||||||
*/
|
*/
|
||||||
void gpt_lld_serve_interrupt(GPTDriver *gptp) {
|
void gpt_lld_serve_interrupt(GPTDriver *gptp) {
|
||||||
|
uint32_t sr;
|
||||||
|
|
||||||
gptp->tim->SR = 0;
|
sr = gptp->tim->SR;
|
||||||
if (gptp->state == GPT_ONESHOT) {
|
sr &= gptp->tim->DIER & STM32_TIM_DIER_IRQ_MASK;
|
||||||
gptp->state = GPT_READY; /* Back in GPT_READY state. */
|
if ((sr & STM32_TIM_SR_UIF) != 0) {
|
||||||
gpt_lld_stop_timer(gptp); /* Timer automatically stopped. */
|
_gpt_isr_invoke_cb(gptp);
|
||||||
}
|
}
|
||||||
gptp->config->callback(gptp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* HAL_USE_GPT */
|
#endif /* HAL_USE_GPT */
|
||||||
|
|
|
@ -154,6 +154,8 @@
|
||||||
- HAL: Added a new interface for range-finder devices (used by EX).
|
- HAL: Added a new interface for range-finder devices (used by EX).
|
||||||
- HAL: Added mcuconf.h updater tool for STM32F407 (backported to 19.1.1).
|
- HAL: Added mcuconf.h updater tool for STM32F407 (backported to 19.1.1).
|
||||||
- NIL: Integrated NIL 4.0.
|
- NIL: Integrated NIL 4.0.
|
||||||
|
- FIX: Fixed Sharing issues with GPT TIMv1 driver (bug #1067)
|
||||||
|
(backported to 19.1.4)(backported to 18.2.3).
|
||||||
- FIX: Fixed incorrect pointer type in lwipthread.c low_level_input causes
|
- FIX: Fixed incorrect pointer type in lwipthread.c low_level_input causes
|
||||||
panic on packet reception (bug #1009)
|
panic on packet reception (bug #1009)
|
||||||
(backported to 19.1.4)(backported to 18.2.3).
|
(backported to 19.1.4)(backported to 18.2.3).
|
||||||
|
|
Loading…
Reference in New Issue