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/imxrt | |
| 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/imxrt')
| -rw-r--r-- | bsp/imxrt/libraries/drivers/drv_can.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/bsp/imxrt/libraries/drivers/drv_can.c b/bsp/imxrt/libraries/drivers/drv_can.c index 2296f1ecfe..4502de374b 100644 --- a/bsp/imxrt/libraries/drivers/drv_can.c +++ b/bsp/imxrt/libraries/drivers/drv_can.c @@ -299,8 +299,8 @@ static rt_err_t can_control(struct rt_can_device *can_dev, int cmd, void *arg) mbConfig.type = kFLEXCAN_FrameTypeData; } - /* user does not specify hdr index,set hdr from RX MB 1 */ - if (item->hdr == -1) + /* user does not specify hdr index,set hdr_bank from RX MB 1 */ + if (item->hdr_bank == -1) { for (i = 0; i < 32; i++) @@ -312,17 +312,17 @@ static rt_err_t can_control(struct rt_can_device *can_dev, int cmd, void *arg) } } } - else /* use user specified hdr */ + else /* use user specified hdr_bank */ { - if (filter_mask & (1 << item->hdr)) + if (filter_mask & (1 << item->hdr_bank)) { res = RT_ERROR; - LOG_E("%s hdr%d filter already set!\n", can->name, item->hdr); + LOG_E("%s hdr%d filter already set!\n", can->name, item->hdr_bank); break; } else { - index = item->hdr; + index = item->hdr_bank; } } @@ -463,7 +463,7 @@ static int can_recv(struct rt_can_device *can_dev, void *buf, rt_uint32_t boxno) { pmsg->rtr = RT_CAN_RTR; } - pmsg->hdr = index; /* one hdr filter per MB */ + pmsg->hdr_index = index; /* one hdr filter per MB */ pmsg->len = frame[index].length; pmsg->data[0] = frame[index].dataByte0; pmsg->data[1] = frame[index].dataByte1; |
