Idle callback support for STM32 USARTv1 UART driver.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13211 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2019-12-05 19:06:49 +00:00
parent ca1ef7a4cd
commit ed07403b31
3 changed files with 11 additions and 0 deletions

View File

@ -348,6 +348,10 @@ static void serve_usart_irq(UARTDriver *uartp) {
/* End of transmission, a callback is generated.*/ /* End of transmission, a callback is generated.*/
_uart_tx2_isr_code(uartp); _uart_tx2_isr_code(uartp);
} }
/* Timeout interrupt sources are only checked if enabled in CR1.*/
if ((cr1 & USART_CR1_IDLEIE) && (sr & USART_SR_IDLE))
_uart_timeout_isr_code(uartp);
} }
/*===========================================================================*/ /*===========================================================================*/

View File

@ -603,6 +603,12 @@ typedef struct {
*/ */
uartecb_t rxerr_cb; uartecb_t rxerr_cb;
/* End of the mandatory fields.*/ /* End of the mandatory fields.*/
/**
* @brief Receiver timeout callback.
* @details Handles idle interrupts depending on configured
* flags in CR registers and supported hardware features.
*/
uartcb_t timeout_cb;
/** /**
* @brief Bit rate. * @brief Bit rate.
*/ */

View File

@ -74,6 +74,7 @@
***************************************************************************** *****************************************************************************
*** Next *** *** Next ***
- HAL: Idle callback support for STM32 USARTv1 UART driver.
- LIB: Added support for asynchronous jobs queues to OSLIB. - LIB: Added support for asynchronous jobs queues to OSLIB.
- LIB: Added support for delegate threads to OSLIB. - LIB: Added support for delegate threads to OSLIB.
- NIL: Improvements to messages, new functions chMsgWaitS(), - NIL: Improvements to messages, new functions chMsgWaitS(),