@@ -1402,6 +1402,10 @@ pub enum UartInterrupt {
14021402 /// The receiver has received more data than what
14031403 /// [`RxConfig::fifo_full_threshold`] specifies.
14041404 RxFifoFull ,
1405+
1406+ /// The receiver has not received any data for the time
1407+ /// [`RxConfig::with_timeout`] specifies.
1408+ RxTimeout ,
14051409}
14061410
14071411impl < ' d , Dm > Uart < ' d , Dm >
@@ -2444,6 +2448,7 @@ impl Info {
24442448 UartInterrupt :: AtCmd => w. at_cmd_char_det ( ) . bit ( enable) ,
24452449 UartInterrupt :: TxDone => w. tx_done ( ) . bit ( enable) ,
24462450 UartInterrupt :: RxFifoFull => w. rxfifo_full ( ) . bit ( enable) ,
2451+ UartInterrupt :: RxTimeout => w. rxfifo_tout ( ) . bit ( enable) ,
24472452 } ;
24482453 }
24492454 w
@@ -2465,6 +2470,9 @@ impl Info {
24652470 if ints. rxfifo_full ( ) . bit_is_set ( ) {
24662471 res. insert ( UartInterrupt :: RxFifoFull ) ;
24672472 }
2473+ if ints. rxfifo_tout ( ) . bit_is_set ( ) {
2474+ res. insert ( UartInterrupt :: RxTimeout ) ;
2475+ }
24682476
24692477 res
24702478 }
@@ -2478,6 +2486,7 @@ impl Info {
24782486 UartInterrupt :: AtCmd => w. at_cmd_char_det ( ) . clear_bit_by_one ( ) ,
24792487 UartInterrupt :: TxDone => w. tx_done ( ) . clear_bit_by_one ( ) ,
24802488 UartInterrupt :: RxFifoFull => w. rxfifo_full ( ) . clear_bit_by_one ( ) ,
2489+ UartInterrupt :: RxTimeout => w. rxfifo_tout ( ) . clear_bit_by_one ( ) ,
24812490 } ;
24822491 }
24832492 w
0 commit comments