From 42077a352927fe3a1d65bfcda66878ade4644d40 Mon Sep 17 00:00:00 2001 From: jonas Date: Tue, 4 Jul 2023 10:12:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E8=BF=87=E6=BB=A4=E5=99=A8=E5=8F=B7?= =?UTF-8?q?=E5=92=8C=E7=B4=A2=E5=BC=95=E5=8F=B7=E7=BB=93=E6=9E=84=E4=BD=93?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E4=B8=AD=E5=90=8C=E4=B8=80=E5=90=8D=E7=A7=B0?= =?UTF-8?q?hdr=E8=BF=9B=E8=A1=8C=E9=87=8D=E5=91=BD=E5=90=8Dhdr=5Fbank?= =?UTF-8?q?=E5=92=8Chdr=5Findex?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/can/can.c | 30 ++++++++++++------------ components/drivers/include/drivers/can.h | 4 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/components/drivers/can/can.c b/components/drivers/can/can.c index eee78da..a3d81f6 100644 --- a/components/drivers/can/can.c +++ b/components/drivers/can/can.c @@ -65,7 +65,7 @@ rt_inline int _can_int_rx(struct rt_can_device *can, struct rt_can_msg *data, in /* disable interrupt */ level = rt_hw_interrupt_disable(); #ifdef RT_CAN_USING_HDR - hdr = data->hdr; + hdr = data->hdr_index; if (hdr >= 0 && can->hdr && hdr < can->config.maxhdr && !rt_list_isempty(&can->hdr[hdr].list)) { @@ -581,7 +581,7 @@ static rt_err_t rt_can_control(struct rt_device *dev, { while (count) { - if (pitem->hdr >= can->config.maxhdr || pitem->hdr < 0) + if (pitem->hdr_bank >= can->config.maxhdr || pitem->hdr_bank < 0) { count--; pitem++; @@ -589,15 +589,15 @@ static rt_err_t rt_can_control(struct rt_device *dev, } level = rt_hw_interrupt_disable(); - if (!can->hdr[pitem->hdr].connected) + if (!can->hdr[pitem->hdr_bank].connected) { rt_hw_interrupt_enable(level); - rt_memcpy(&can->hdr[pitem->hdr].filter, pitem, + rt_memcpy(&can->hdr[pitem->hdr_bank].filter, pitem, sizeof(struct rt_can_filter_item)); level = rt_hw_interrupt_disable(); - can->hdr[pitem->hdr].connected = 1; - can->hdr[pitem->hdr].msgs = 0; - rt_list_init(&can->hdr[pitem->hdr].list); + can->hdr[pitem->hdr_bank].connected = 1; + can->hdr[pitem->hdr_bank].msgs = 0; + rt_list_init(&can->hdr[pitem->hdr_bank].list); } rt_hw_interrupt_enable(level); @@ -609,7 +609,7 @@ static rt_err_t rt_can_control(struct rt_device *dev, { while (count) { - if (pitem->hdr >= can->config.maxhdr || pitem->hdr < 0) + if (pitem->hdr_bank >= can->config.maxhdr || pitem->hdr_bank < 0) { count--; pitem++; @@ -617,16 +617,16 @@ static rt_err_t rt_can_control(struct rt_device *dev, } level = rt_hw_interrupt_disable(); - if (can->hdr[pitem->hdr].connected) + if (can->hdr[pitem->hdr_bank].connected) { - can->hdr[pitem->hdr].connected = 0; - can->hdr[pitem->hdr].msgs = 0; - if (!rt_list_isempty(&can->hdr[pitem->hdr].list)) + can->hdr[pitem->hdr_bank].connected = 0; + can->hdr[pitem->hdr_bank].msgs = 0; + if (!rt_list_isempty(&can->hdr[pitem->hdr_bank].list)) { - rt_list_remove(can->hdr[pitem->hdr].list.next); + rt_list_remove(can->hdr[pitem->hdr_bank].list.next); } rt_hw_interrupt_enable(level); - rt_memset(&can->hdr[pitem->hdr].filter, 0, + rt_memset(&can->hdr[pitem->hdr_bank].filter, 0, sizeof(struct rt_can_filter_item)); } else @@ -829,7 +829,7 @@ void rt_hw_can_isr(struct rt_can_device *can, int event) level = rt_hw_interrupt_disable(); rt_list_insert_before(&rx_fifo->uselist, &listmsg->list); #ifdef RT_CAN_USING_HDR - hdr = tmpmsg.hdr; + hdr = tmpmsg.hdr_index; if (can->hdr != RT_NULL) { RT_ASSERT(hdr < can->config.maxhdr && hdr >= 0); diff --git a/components/drivers/include/drivers/can.h b/components/drivers/include/drivers/can.h index 553e145..1834fbe 100644 --- a/components/drivers/include/drivers/can.h +++ b/components/drivers/include/drivers/can.h @@ -70,7 +70,7 @@ struct rt_can_filter_item rt_uint32_t rtr : 1; rt_uint32_t mode : 1; rt_uint32_t mask; - rt_int32_t hdr; + rt_int32_t hdr_bank; #ifdef RT_CAN_USING_HDR rt_err_t (*ind)(rt_device_t dev, void *args , rt_int32_t hdr, rt_size_t size); void *args; @@ -277,7 +277,7 @@ struct rt_can_msg rt_uint32_t rsv : 1; rt_uint32_t len : 8; rt_uint32_t priv : 8; - rt_int32_t hdr : 8; + rt_int32_t hdr_index : 8; #ifdef RT_CAN_USING_CANFD rt_uint32_t fd_frame : 1; rt_uint32_t reserved : 7;