Skip to content

Commit 2e2d2ac

Browse files
author
rusefillc
committed
preparation for mask feature: only extracting method
1 parent 9fddea4 commit 2e2d2ac

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/can.c

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,20 @@ static can_bus_state_t bus_state = OFF_BUS;
1818
static uint8_t can_autoretransmit = ENABLE;
1919
static can_txbuf_t txqueue = {0};
2020

21+
static void can_set_filter() {
22+
// Initialize default CAN filter configuration
23+
filter.FilterIdHigh = 0;
24+
filter.FilterIdLow = 0;
25+
filter.FilterMaskIdHigh = 0;
26+
filter.FilterMaskIdLow = 0;
27+
filter.FilterFIFOAssignment = CAN_RX_FIFO0;
28+
filter.FilterBank = 0;
29+
filter.FilterMode = CAN_FILTERMODE_IDMASK;
30+
filter.FilterScale = CAN_FILTERSCALE_32BIT;
31+
filter.FilterActivation = ENABLE;
32+
33+
HAL_CAN_ConfigFilter(&can_handle, &filter);
34+
}
2135

2236
// Initialize CAN peripheral settings, but don't actually start the peripheral
2337
void can_init(void)
@@ -36,19 +50,6 @@ void can_init(void)
3650
GPIO_InitStruct.Alternate = GPIO_AF4_CAN;
3751
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
3852

39-
40-
// Initialize default CAN filter configuration
41-
filter.FilterIdHigh = 0;
42-
filter.FilterIdLow = 0;
43-
filter.FilterMaskIdHigh = 0;
44-
filter.FilterMaskIdLow = 0;
45-
filter.FilterFIFOAssignment = CAN_RX_FIFO0;
46-
filter.FilterBank = 0;
47-
filter.FilterMode = CAN_FILTERMODE_IDMASK;
48-
filter.FilterScale = CAN_FILTERSCALE_32BIT;
49-
filter.FilterActivation = ENABLE;
50-
51-
5253
// default to 125 kbit/s
5354
prescaler = 48;
5455
can_handle.Instance = CAN;
@@ -79,7 +80,7 @@ void can_enable(void)
7980
can_handle.Init.TransmitFifoPriority = ENABLE;
8081
HAL_CAN_Init(&can_handle);
8182

82-
HAL_CAN_ConfigFilter(&can_handle, &filter);
83+
can_set_filter();
8384

8485
HAL_CAN_Start(&can_handle);
8586
bus_state = ON_BUS;

0 commit comments

Comments
 (0)