diff options
| author | wdfk-prog <[email protected]> | 2022-11-22 10:45:51 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-11-21 21:45:51 -0500 |
| commit | 569e2ae1e8671bdb17b3fa7b4197fdff6ad5cf1d (patch) | |
| tree | 14b7f9aa35e3ec0ae5c21396a88fafd7b874cc67 /bsp/nuvoton/libraries | |
| parent | 84eab69604df689716b54e1e6c38877f05d03b9f (diff) | |
[CAN]update struct can_filter_item and rt_can_msg (#6556)
* 修改ry命令,已便于自定义保存路径
* modified: components/utilities/ymodem/ry_sy.c
* 修复从被动错误恢复后发送返回异常
* 修复在自动重传模式下,ACK异常阻塞线程
- 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断
- 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。
* 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数
* formatting格式化代码
* update struct can_filter_item and rt_can_msg
1. 对过滤器号和索引号结构体定义中同一名称hdr进行重命名hdr_bank和hdr_index,
以便准确区分.采用宏定义兼容以前变量名.
2. 添加接收标识rxfifo,已指明是哪个RXFIFO.
* 更正42M下的波特率
* 修复接收获取索引号错误
* 添加接收标识
* 更新注释
* 取消CANFD限制
* update struct can_filter_item and rt_can_msg
Diffstat (limited to 'bsp/nuvoton/libraries')
| -rw-r--r-- | bsp/nuvoton/libraries/m2354/rtt_port/drv_can.c | 8 | ||||
| -rw-r--r-- | bsp/nuvoton/libraries/m480/rtt_port/drv_can.c | 8 | ||||
| -rw-r--r-- | bsp/nuvoton/libraries/ma35/rtt_port/drv_canfd.c | 4 | ||||
| -rw-r--r-- | bsp/nuvoton/libraries/n9h30/rtt_port/drv_can.c | 8 | ||||
| -rw-r--r-- | bsp/nuvoton/libraries/nuc980/rtt_port/drv_can.c | 8 |
5 files changed, 18 insertions, 18 deletions
diff --git a/bsp/nuvoton/libraries/m2354/rtt_port/drv_can.c b/bsp/nuvoton/libraries/m2354/rtt_port/drv_can.c index 3327901cd1..89236c329d 100644 --- a/bsp/nuvoton/libraries/m2354/rtt_port/drv_can.c +++ b/bsp/nuvoton/libraries/m2354/rtt_port/drv_can.c @@ -309,7 +309,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) /*set the filter message object*/ if (filter_cfg->items[i].mode == 1) { - if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) + if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) { return -(RT_ERROR); } @@ -317,7 +317,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) else { /*set the filter message object*/ - if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) + if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) { return -(RT_ERROR); } @@ -507,8 +507,8 @@ static int nu_can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t boxn #ifdef RT_CAN_USING_HDR /* Hardware filter messages are valid */ - pmsg->hdr = boxno - RX_MSG_ID_INDEX; - can->hdr[pmsg->hdr].connected = 1; + pmsg->hdr_index = boxno - RX_MSG_ID_INDEX; + can->hdr[pmsg->hdr_index].connected = 1; #endif pmsg->ide = (tMsg.IdType == CAN_STD_ID) ? RT_CAN_STDID : RT_CAN_EXTID; diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c index c9915aee95..c35c4eb701 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c @@ -360,7 +360,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) /*set the filter message object*/ if (filter_cfg->items[i].mode == 1) { - if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) + if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) { return -(RT_ERROR); } @@ -368,7 +368,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) else { /*set the filter message object*/ - if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) + if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) { return -(RT_ERROR); } @@ -558,8 +558,8 @@ static int nu_can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t boxn #ifdef RT_CAN_USING_HDR /* Hardware filter messages are valid */ - pmsg->hdr = boxno - RX_MSG_ID_INDEX; - can->hdr[pmsg->hdr].connected = 1; + pmsg->hdr_index = boxno - RX_MSG_ID_INDEX; + can->hdr[pmsg->hdr_index].connected = 1; #endif pmsg->ide = (tMsg.IdType == CAN_STD_ID) ? RT_CAN_STDID : RT_CAN_EXTID; diff --git a/bsp/nuvoton/libraries/ma35/rtt_port/drv_canfd.c b/bsp/nuvoton/libraries/ma35/rtt_port/drv_canfd.c index a8a2914b77..a17d829e0d 100644 --- a/bsp/nuvoton/libraries/ma35/rtt_port/drv_canfd.c +++ b/bsp/nuvoton/libraries/ma35/rtt_port/drv_canfd.c @@ -611,8 +611,8 @@ static int nu_canfd_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t bo #ifdef RT_CAN_USING_HDR /* Hardware filter messages are valid */ - pmsg->hdr = boxno; - can->hdr[pmsg->hdr].connected = 1; + pmsg->hdr_index = boxno; + can->hdr[pmsg->hdr_index].connected = 1; #endif pmsg->ide = (sRxMsg.eIdType == eCANFD_SID) ? RT_CAN_STDID : RT_CAN_EXTID; diff --git a/bsp/nuvoton/libraries/n9h30/rtt_port/drv_can.c b/bsp/nuvoton/libraries/n9h30/rtt_port/drv_can.c index ebbda12689..77281e482b 100644 --- a/bsp/nuvoton/libraries/n9h30/rtt_port/drv_can.c +++ b/bsp/nuvoton/libraries/n9h30/rtt_port/drv_can.c @@ -309,7 +309,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) /*set the filter message object*/ if (filter_cfg->items[i].mode == 1) { - if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) + if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) { return -(RT_ERROR); } @@ -317,7 +317,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) else { /*set the filter message object*/ - if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) + if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) { return -(RT_ERROR); } @@ -507,8 +507,8 @@ static int nu_can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t boxn #ifdef RT_CAN_USING_HDR /* Hardware filter messages are valid */ - pmsg->hdr = boxno - RX_MSG_ID_INDEX; - can->hdr[pmsg->hdr].connected = 1; + pmsg->hdr_index = boxno - RX_MSG_ID_INDEX; + can->hdr[pmsg->hdr_index].connected = 1; #endif pmsg->ide = (tMsg.IdType == CAN_STD_ID) ? RT_CAN_STDID : RT_CAN_EXTID; diff --git a/bsp/nuvoton/libraries/nuc980/rtt_port/drv_can.c b/bsp/nuvoton/libraries/nuc980/rtt_port/drv_can.c index 385f9e4123..159e3df348 100644 --- a/bsp/nuvoton/libraries/nuc980/rtt_port/drv_can.c +++ b/bsp/nuvoton/libraries/nuc980/rtt_port/drv_can.c @@ -333,7 +333,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) /*set the filter message object*/ if (filter_cfg->items[i].mode == 1) { - if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) + if (CAN_SetRxMsgObjAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask, FALSE) == FALSE) { return -(RT_ERROR); } @@ -341,7 +341,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) else { /*set the filter message object*/ - if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) + if (CAN_SetRxMsgAndMsk(psNuCAN->base, MSG(filter_cfg->items[i].hdr_bank + RX_MSG_ID_INDEX), filter_cfg->items[i].ide, filter_cfg->items[i].id, filter_cfg->items[i].mask) == FALSE) { return -(RT_ERROR); } @@ -531,8 +531,8 @@ static int nu_can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t boxn #ifdef RT_CAN_USING_HDR /* Hardware filter messages are valid */ - pmsg->hdr = boxno - RX_MSG_ID_INDEX; - can->hdr[pmsg->hdr].connected = 1; + pmsg->hdr_index = boxno - RX_MSG_ID_INDEX; + can->hdr[pmsg->hdr_index].connected = 1; #endif pmsg->ide = (tMsg.IdType == CAN_STD_ID) ? RT_CAN_STDID : RT_CAN_EXTID; |
