7 #ifndef ZRTOS_VFS_MODULE_MCP2515_H 8 #define ZRTOS_VFS_MODULE_MCP2515_H 18 #define ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE(cfg1,cfg2,cfg3)\ 19 ((cfg1) | ((cfg2)<<8) | ((cfg3)<<16)) 66 #undef ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE 73 return (thiz >> 8) & 0xFF;
77 return (thiz >> 16) & 0xFF;
92 }zrtos_vfs_module_mcp2515_register_rxf_t;
331 zrtos_vfs_module_mcp2515_register_t
ctrl;
332 zrtos_vfs_module_mcp2515_register_t
sidh;
333 zrtos_vfs_module_mcp2515_register_t
data;
337 zrtos_vfs_module_mcp2515_register_t
ctrl;
338 zrtos_vfs_module_mcp2515_register_t
sidh;
339 zrtos_vfs_module_mcp2515_register_t
data;
356 zrtos_vfs_module_mcp2515_register_t reg
358 ,
size_t values_length
379 ,zrtos_vfs_module_mcp2515_register_t reg
391 zrtos_vfs_module_mcp2515_register_t reg
393 ,
size_t values_length
414 ,zrtos_vfs_module_mcp2515_register_t reg
427 ,zrtos_vfs_module_mcp2515_register_t reg
479 bool modeMatch =
false;
543 ,zrtos_vfs_module_mcp2515_bitrate_t bitrate
571 ,zrtos_vfs_module_mcp2515_clkout_t divisor
623 uint16_t canid = (uint16_t)(
id & 0x0FFFF);
629 canid = (uint16_t)(
id >> 16);
676 ,zrtos_vfs_module_mcp2515_mask_t reg
690 ,zrtos_vfs_module_mcp2515_register_rxf_t reg
704 zrtos_vfs_module_mcp2515_register_rxf_t filters[] = {
705 ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF0
706 ,ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF1
707 ,ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF2
708 ,ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF3
709 ,ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF4
710 ,ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF5
712 zrtos_vfs_module_mcp2515_mask_t masks[] = {
829 ,
struct can_frame *frame
839 if(frame->can_dlc <= CAN_MAX_DLEN){
840 ext = (frame->can_id & CAN_EFF_FLAG);
841 rtr = (frame->can_id & CAN_RTR_FLAG);
842 id = (frame->can_id & (ext ? CAN_EFF_MASK : CAN_SFF_MASK));
906 zrtos_vfs_module_mcp2515__txbn_t txbn
959 ,
struct can_frame *frame
979 ,
struct can_frame *frame
1020 if(dlc <= CAN_MAX_DLEN){
1029 frame->can_dlc = dlc;
1056 ,
struct can_frame *frame
zrtos_error_t zrtos_vfs_module_mcp2515__get_available_txb(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_txbn_regs_t *txbn_regs)
zrtos_error_t zrtos_vfs_module_mcp2515__check_error(zrtos_vfs_fd_t fd)
#define ZRTOS_TYPES__UINT32_MIN
zrtos_vfs_module_mcp2515_instruction_t
Unsuccessful program execution status.
zrtos_error_t zrtos_vfs_module_mcp2515__read_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
#define ZRTOS_TYPES__UINT8_MIN
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_count_tx(zrtos_vfs_fd_t fd, uint8_t *res)
zrtos_vfs_module_mcp2515_clkout_t
zrtos_error_t zrtos_vfs_module_mcp2515__set_filter_mask(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_mask_t reg, bool ext, uint32_t ulData)
zrtos_error_t zrtos_vfs_module_mcp2515__clear_interrupts(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__modify_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t mask, uint8_t data)
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_flags(zrtos_vfs_fd_t fd, uint8_t *res)
zrtos_error_t zrtos_vfs_module_mcp2515__reset(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__set_loopback_mode(zrtos_vfs_fd_t fd)
void * zrtos_vfs_module_mcp2515_id__get_buffer(zrtos_vfs_module_mcp2515_id_t *thiz)
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg1(zrtos_vfs_module_mcp2515_bitrate_t thiz)
zrtos_vfs_module_mcp2515_register_t data
zrtos_error_t zrtos_vfs_module_mcp2515__check_receive(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__clear_tx_interrupts(zrtos_vfs_fd_t fd)
zrtos_vfs_module_mcp2515_rxbn_t
zrtos_vfs_module_mcp2515_register_canintf_t
zrtos_vfs_module_mcp2515_txbn_regs_t zrtos_vfs_module_mcp2515__get_txb(zrtos_vfs_module_mcp2515__txbn_t txbn)
zrtos_error_t zrtos_vfs_module_mcp2515__clear_rx_and_ovr(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__get_interrupts(zrtos_vfs_fd_t fd, uint8_t *res)
zrtos_error_t zrtos_vfs_module_mcp2515_id__init(zrtos_vfs_module_mcp2515_id_t *thiz, bool ext, uint32_t id)
static zrtos_error_t zrtos_vfs_module_mcp2515__set_filter_ex(zrtos_vfs_fd_t fd, uint8_t reg, bool ext, uint32_t ulData)
bool zrtos_error__is_error(zrtos_error_t thiz)
zrtos_vfs_module_mcp2515_register_rxb0ctrl_t
zrtos_error_t zrtos_vfs_module_mcp2515__clear_errif(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__send_message_ex(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_txbn_regs_t txbn_regs, struct can_frame *frame)
zrtos_vfs_module_mcp2515_register_canstat_t
#define ZRTOS_TYPES__INT8_MAX
zrtos_vfs_module_mcp2515_register_canintf_t rxnif
zrtos_error_t zrtos_vfs_module_mcp2515__set_normal_mode(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__clear_rx_and_ovr_flags(zrtos_vfs_fd_t fd)
bool zrtos_error__is_success(zrtos_error_t thiz)
zrtos_vfs_module_mcp2515_mcp_dlc_t
uint8_t zrtos_vfs_module_mcp2515__get_status(zrtos_vfs_fd_t fd, uint8_t *res)
zrtos_error_t zrtos_vfs_module_mcp2515__read_message(zrtos_vfs_fd_t fd, struct can_frame *frame)
zrtos_vfs_module_mcp2515_bitrate_t
zrtos_vfs_module_mcp2515_register_txbnctrl_t
#define ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(arr)
zrtos_error_t zrtos_vfs_module_mcp2515__get_interrupt_mask(zrtos_vfs_fd_t fd, uint8_t *res)
Successful program execution status.
zrtos_error_t zrtos_vfs_module_mcp2515__read_message_ex(zrtos_vfs_module_mcp2515_rxbn_t rxbn, struct can_frame *frame)
zrtos_error_t zrtos_vfs_module_mcp2515__set_listen_only_mode(zrtos_vfs_fd_t fd)
zrtos_vfs_module_mcp2515_register_rxbnctrl_t
zrtos_vfs_module_mcp2515_status_t
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
zrtos_error_t zrtos_vfs_module_mcp2515__send_message(zrtos_vfs_fd_t fd, struct can_frame *frame)
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_count_rx(zrtos_vfs_fd_t fd, uint8_t *res)
zrtos_vfs_module_mcp2515_mcp_t
zrtos_error_t zrtos_vfs_module_mcp2515__set_bitrate(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_bitrate_t bitrate)
zrtos_error_t zrtos_vfs_module_mcp2515__clear_merr(zrtos_vfs_fd_t fd)
zrtos_vfs_module_mcp2515_register_canctrl_t
zrtos_error_t zrtos_vfs_module_mcp2515__set_config_mode(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__set_clk_out(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_clkout_t divisor)
zrtos_error_t zrtos_vfs_fd__spi_transfer(zrtos_vfs_fd_t fd, size_t len,...)
zrtos_error_t zrtos_vfs_module_mcp2515__set_sleep_mode(zrtos_vfs_fd_t fd)
zrtos_error_t zrtos_vfs_module_mcp2515__set_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t value)
zrtos_vfs_module_mcp2515_mcp_sidl_t
zrtos_error_t zrtos_vfs_module_mcp2515__set_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
zrtos_vfs_module_mcp2515_register_t ctrl
zrtos_vfs_module_mcp2515_register_rxb1ctrl_t
zrtos_vfs_module_mcp2515_txbn_t
zrtos_vfs_module_mcp2515_register_canctrl_reqop_t
zrtos_vfs_module_mcp2515_register_t sidh
zrtos_error_t zrtos_vfs_module_mcp2515__set_filter(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_rxf_t reg, bool ext, uint32_t ulData)
zrtos_vfs_module_mcp2515_mask_t
zrtos_vfs_module_mcp2515_register_t ctrl
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg2(zrtos_vfs_module_mcp2515_bitrate_t thiz)
#define ZRTOS_TYPES__INT8_MIN
size_t zrtos_vfs_module_mcp2515_id__get_length(zrtos_vfs_module_mcp2515_id_t *thiz)
#define ZRTOS_TYPES__UINT8_MAX
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg3(zrtos_vfs_module_mcp2515_bitrate_t thiz)
#define ZRTOS_TYPES__UINT32_MAX
void zrtos_gpio__delay_milliseconds(uint16_t ms)
zrtos_vfs_module_mcp2515_register_t data
zrtos_vfs_module_mcp2515_register_t sidh
zrtos_vfs_module_mcp2515_register_t
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
No message of desired type.
zrtos_vfs_module_mcp2515_error_flag_t
#define ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE(cfg1, cfg2, cfg3)
zrtos_vfs_module_mcp2515_register_cnf3_t