summaryrefslogtreecommitdiff
path: root/components/drivers/can/dev_can.c
AgeCommit message (Collapse)Author
2026-02-10fix(CAN): Avoid double counting RX overflow dropswdfk-prog
2025-11-08fix(can): Resolve potential race condition in message transmissionwdfk-prog
Setting the send status flag `sndchange` after calling the can->ops->sendmsg function could lead to a race condition if a transmission timeout occurs, resulting in incorrect state handling. This patch moves the operation of setting the `sndchange` flag to before the call to can->ops->sendmsg. This ensures that the mailbox's status is correctly marked as "sending" before the hardware begins transmission, making the driver's state management more robust and reliable, especially in handling exceptions like timeouts. Additionally, new macros for CAN filter modes have been added in dev_can.h.
2025-09-28feat[can]: Implement non-blocking send mechanism and enhance CAN driver ↵wdfk-prog
functionality - Added support for non-blocking mode CAN message sending, including software ring buffer management and dynamic memory allocation options. - Improved related comments and error handling. - Updated example code to demonstrate the usage of both blocking and non-blocking sending modes, and corrected some structure field naming and macro definitions.
2025-07-29[Fix] <components>:drivers/can/dev_can.c ↵liuyucai
修复CAN底层无法工作时导致调用 _can_int_tx 的线程一直挂起的问题 Solution: 使用 can->status.sndchange 的bit位来表示某个发送邮箱超时 如果超时 底层驱动再通知tx_done或者tx_fail事件时不予处理 Signed-off-by: Yucai Liu <[email protected]>
2024-11-13fix:[CAN][STM32]open时立刻启动can_start,还未完成其他配置,可能 ↵wdfk-prog
导致异常
2024-08-23[device] add dev_ prefix for file namesCXSforHPU