@@ -651,7 +651,6 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
651
651
652
652
static uint32_t can_irq_ids [CAN_NUM ] = {0 };
653
653
static can_irq_handler irq_handler ;
654
- static uint32_t rx_irq_status = DISABLED ;
655
654
656
655
static void can_registers_init (can_t * obj )
657
656
{
@@ -762,6 +761,7 @@ void can_irq_init(can_t *obj, can_irq_handler handler, uint32_t id)
762
761
{
763
762
irq_handler = handler ;
764
763
can_irq_ids [obj -> index ] = id ;
764
+ obj -> rxIrqStatus = false;
765
765
}
766
766
767
767
void can_irq_free (can_t * obj )
@@ -771,7 +771,7 @@ void can_irq_free(can_t *obj)
771
771
can -> IER &= ~(CAN_IT_FMP0 | CAN_IT_FMP1 | CAN_IT_TME | \
772
772
CAN_IT_ERR | CAN_IT_EPV | CAN_IT_BOF );
773
773
can_irq_ids [obj -> index ] = 0 ;
774
- rx_irq_status = DISABLED ;
774
+ obj -> rxIrqStatus = DISABLED ;
775
775
}
776
776
777
777
void can_free (can_t * obj )
@@ -1003,7 +1003,7 @@ int can_read(can_t *obj, CAN_Message *msg, int handle)
1003
1003
can -> RF1R |= CAN_RF1R_RFOM1 ;
1004
1004
}
1005
1005
1006
- if (rx_irq_status == ENABLED ) {
1006
+ if (obj -> rxIrqStatus == ENABLED ) {
1007
1007
__HAL_CAN_ENABLE_IT (& obj -> CanHandle , CAN_IT_FMP0 );
1008
1008
}
1009
1009
@@ -1020,7 +1020,7 @@ void can_reset(can_t *obj)
1020
1020
1021
1021
/* restore registers state as saved in obj context */
1022
1022
can_registers_init (obj );
1023
- rx_irq_status = DISABLED ;
1023
+ obj -> rxIrqStatus = DISABLED ;
1024
1024
}
1025
1025
1026
1026
unsigned char can_rderror (can_t * obj )
@@ -1276,7 +1276,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
1276
1276
ier = CAN_IT_FMP0 ;
1277
1277
irq_n = CAN1_IRQ_RX_IRQN ;
1278
1278
vector = (uint32_t )& CAN1_IRQ_RX_VECT ;
1279
- rx_irq_status = ENABLED ;
1279
+ obj -> rxIrqStatus = ENABLED ;
1280
1280
break ;
1281
1281
case IRQ_TX :
1282
1282
ier = CAN_IT_TME ;
@@ -1309,7 +1309,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
1309
1309
ier = CAN_IT_FMP0 ;
1310
1310
irq_n = CAN2_IRQ_RX_IRQN ;
1311
1311
vector = (uint32_t )& CAN2_IRQ_RX_VECT ;
1312
- rx_irq_status = ENABLED ;
1312
+ obj -> rxIrqStatus = ENABLED ;
1313
1313
break ;
1314
1314
case IRQ_TX :
1315
1315
ier = CAN_IT_TME ;
@@ -1343,7 +1343,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
1343
1343
ier = CAN_IT_FMP0 ;
1344
1344
irq_n = CAN3_IRQ_RX_IRQN ;
1345
1345
vector = (uint32_t )& CAN3_IRQ_RX_VECT ;
1346
- rx_irq_status = ENABLED ;
1346
+ obj -> rxIrqStatus = ENABLED ;
1347
1347
break ;
1348
1348
case IRQ_TX :
1349
1349
ier = CAN_IT_TME ;
0 commit comments