agileRTOS (zrtos)  Version 0.8.0 (ghostbuster)
mcp2515.h File Reference
#include <zrtos/vfs_module.h>
#include <zrtos/mem.h>
#include <zrtos/va.h>
Include dependency graph for mcp2515.h:

Go to the source code of this file.

Data Structures

struct  zrtos_vfs_module_mcp2515_txbn_regs_t
 
struct  zrtos_vfs_module_mcp2515_rxbn_regs_t
 
struct  zrtos_vfs_module_mcp2515_id_t
 

Macros

#define ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE(cfg1, cfg2, cfg3)   ((cfg1) | ((cfg2)<<8) | ((cfg3)<<16))
 

Enumerations

enum  zrtos_vfs_module_mcp2515_bitrate_t {
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__MIN = ZRTOS_TYPES__UINT32_MIN,
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_1000kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0x80),(0x80)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_500kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0x90), (0x82)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_250kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0xB1), (0x85)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_200kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0xB4), (0x86)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_125kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x01),(0xB1), (0x85)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_100kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x01),(0xB4), (0x86)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_80kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x01),(0xBF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_50kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xB4), (0x86)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_40kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xBF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_33k3BPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x47), (0xE2), (0x85)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_31k25BPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x07), (0xA4), (0x84)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_20kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x07),(0xBF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_10kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x0F),(0xBF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_5kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x1F),(0xBF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_1000kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0xD0), (0x82)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_500kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0xF0), (0x86)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_250kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x41),(0xF1), (0x85)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_200kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x01),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_125kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xF0), (0x86)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_100kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_95kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xAD), (0x07)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_83k3BPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03), (0xBE), (0x07)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_80kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_50kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x07),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_40kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x07),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_33k3BPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x4E), (0xF1), (0x85)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_20kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x0F),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_10kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x1F),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_5kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x3F),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_1000kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0xD9), (0x82)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_500kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x00),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_250kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x41),(0xFB), (0x86)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_200kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x01),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_125kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x03),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_100kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x04),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_83k3BPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x04), (0xFE), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_80kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x04),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_50kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x09),(0xFA), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_40kBPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x09),(0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_33k3BPS = ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE((0x0B), (0xFF), (0x87)),
  ZRTOS_VFS_MODULE_MCP2515_BITRATE__MAX = ZRTOS_TYPES__UINT32_MAX
}
 
enum  zrtos_vfs_module_mcp2515_mask_t {
  ZRTOS_VFS_MODULE_MCP2515_MASK__MASK0 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0SIDH,
  ZRTOS_VFS_MODULE_MCP2515_MASK__MASK1 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1SIDH
}
 
enum  zrtos_vfs_module_mcp2515_register_canintf_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__RX0IF = 0x01,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__RX1IF = 0x02,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__TX0IF = 0x04,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__TX1IF = 0x08,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__TX2IF = 0x10,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__ERRIF = 0x20,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__WAKIF = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__MERRF = 0x80
}
 
enum  zrtos_vfs_module_mcp2515_register_canctrl_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__REQOP = 0xE0,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__ABAT = 0x10,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__OSM = 0x08,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__CLKEN = 0x04,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__CLKPRE = 0x03
}
 
enum  zrtos_vfs_module_mcp2515_register_canctrl_reqop_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__NORMAL = 0x00,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__SLEEP = 0x20,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__LOOPBACK = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__LISTENONLY = 0x60,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__CONFIG = 0x80,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__POWERUP = 0xE0
}
 
enum  zrtos_vfs_module_mcp2515_register_canstat_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANSTAT__OPMOD = 0xE0,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANSTAT__ICOD = 0x0E
}
 
enum  zrtos_vfs_module_mcp2515_register_txbnctrl_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__ABTF = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__MLOA = 0x20,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXERR = 0x10,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXREQ = 0x08,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXIE = 0x04,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXP = 0x03
}
 
enum  zrtos_vfs_module_mcp2515_register_rxbnctrl_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_STD = 0x20,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_EXT = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_STDEXT = 0x00,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_MASK = 0x60,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RTR = 0x08
}
 
enum  zrtos_vfs_module_mcp2515_register_rxb0ctrl_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB0CTRL__BUKT = 0x04,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB0CTRL__FILHIT_MASK = 0x03,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB0CTRL__FILHIT = 0x00
}
 
enum  zrtos_vfs_module_mcp2515_register_rxb1ctrl_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB1CTRL__FILHIT_MASK = 0x07,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB1CTRL__FILHIT = 0x01
}
 
enum  zrtos_vfs_module_mcp2515_register_cnf3_t { ZRTOS_VFS_MODULE_MCP2515_REGISTER_CNF3__SOF = 0x80 }
 
enum  zrtos_vfs_module_mcp2515_mcp_sidl_t { ZRTOS_VFS_MODULE_MCP2515_MCP_SIDL__TXB_EXIDE_MASK = 0x08 }
 
enum  zrtos_vfs_module_mcp2515_mcp_dlc_t {
  ZRTOS_VFS_MODULE_MCP2515_MCP_DLC__RTR_MASK = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_MCP_DLC__DLC_MASK = 0x0F
}
 
enum  zrtos_vfs_module_mcp2515_mcp_t {
  ZRTOS_VFS_MODULE_MCP2515_MCP__SIDH = 0,
  ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL = 1,
  ZRTOS_VFS_MODULE_MCP2515_MCP__EID8 = 2,
  ZRTOS_VFS_MODULE_MCP2515_MCP__EID0 = 3,
  ZRTOS_VFS_MODULE_MCP2515_MCP__DLC = 4,
  ZRTOS_VFS_MODULE_MCP2515_MCP__DATA = 5
}
 
enum  zrtos_vfs_module_mcp2515_status_t {
  ZRTOS_VFS_MODULE_MCP2515_STATUS__RX0IF = (1<<0),
  ZRTOS_VFS_MODULE_MCP2515_STATUS__RX1IF = (1<<1),
  ZRTOS_VFS_MODULE_MCP2515_STATUS__RXIF_MASK
}
 
enum  zrtos_vfs_module_mcp2515_clkout_t {
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__MIN = ZRTOS_TYPES__INT8_MIN,
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DISABLE = -1,
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV1 = 0x0,
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV2 = 0x1,
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV4 = 0x2,
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV8 = 0x3,
  ZRTOS_VFS_MODULE_MCP2515_CLKOUT__MAX = ZRTOS_TYPES__INT8_MAX
}
 
enum  zrtos_vfs_module_mcp2515_error_flag_t {
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__MIN = ZRTOS_TYPES__UINT8_MIN,
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RX1OVR = (1<<7),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RX0OVR = (1<<6),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__TXBO = (1<<5),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__TXEP = (1<<4),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RXEP = (1<<3),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__TXWAR = (1<<2),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RXWAR = (1<<1),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__EWARN = (1<<0),
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__ERRORMASK,
  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__MAX = ZRTOS_TYPES__UINT8_MAX
}
 
enum  zrtos_vfs_module_mcp2515_instruction_t {
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__MIN = ZRTOS_TYPES__UINT8_MIN,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__WRITE = 0x02,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ = 0x03,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__BITMOD = 0x05,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__LOAD_TX0 = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__LOAD_TX1 = 0x42,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__LOAD_TX2 = 0x44,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_TX0 = 0x81,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_TX1 = 0x82,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_TX2 = 0x84,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_ALL = 0x87,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ_RX0 = 0x90,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ_RX1 = 0x94,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ_STATUS = 0xA0,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RX_STATUS = 0xB0,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RESET = 0xC0,
  ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__MAX = ZRTOS_TYPES__UINT8_MAX
}
 
enum  zrtos_vfs_module_mcp2515_register_t {
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__MIN = ZRTOS_TYPES__UINT8_MIN,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0SIDH = 0x00,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0SIDL = 0x01,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0EID8 = 0x02,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0EID0 = 0x03,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1SIDH = 0x04,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1SIDL = 0x05,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1EID8 = 0x06,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1EID0 = 0x07,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2SIDH = 0x08,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2SIDL = 0x09,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2EID8 = 0x0A,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2EID0 = 0x0B,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANSTAT = 0x0E,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANCTRL = 0x0F,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3SIDH = 0x10,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3SIDL = 0x11,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3EID8 = 0x12,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3EID0 = 0x13,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4SIDH = 0x14,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4SIDL = 0x15,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4EID8 = 0x16,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4EID0 = 0x17,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5SIDH = 0x18,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5SIDL = 0x19,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5EID8 = 0x1A,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5EID0 = 0x1B,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TEC = 0x1C,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__REC = 0x1D,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0SIDH = 0x20,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0SIDL = 0x21,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0EID8 = 0x22,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0EID0 = 0x23,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1SIDH = 0x24,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1SIDL = 0x25,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1EID8 = 0x26,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1EID0 = 0x27,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CNF3 = 0x28,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CNF2 = 0x29,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CNF1 = 0x2A,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANINTE = 0x2B,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANINTF = 0x2C,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__EFLG = 0x2D,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0CTRL = 0x30,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0SIDH = 0x31,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0SIDL = 0x32,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0EID8 = 0x33,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0EID0 = 0x34,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0DLC = 0x35,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0DATA = 0x36,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1CTRL = 0x40,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1SIDH = 0x41,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1SIDL = 0x42,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1EID8 = 0x43,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1EID0 = 0x44,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1DLC = 0x45,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1DATA = 0x46,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2CTRL = 0x50,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2SIDH = 0x51,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2SIDL = 0x52,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2EID8 = 0x53,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2EID0 = 0x54,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2DLC = 0x55,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2DATA = 0x56,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0CTRL = 0x60,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0SIDH = 0x61,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0SIDL = 0x62,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0EID8 = 0x63,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0EID0 = 0x64,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0DLC = 0x65,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0DATA = 0x66,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1CTRL = 0x70,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1SIDH = 0x71,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1SIDL = 0x72,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1EID8 = 0x73,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1EID0 = 0x74,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1DLC = 0x75,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1DATA = 0x76,
  ZRTOS_VFS_MODULE_MCP2515_REGISTER__MAX = ZRTOS_TYPES__UINT8_MAX
}
 
enum  zrtos_vfs_module_mcp2515_rxbn_t {
  ZRTOS_VFS_MODULE_MCP2515_RXBN__RXB0 = 0,
  ZRTOS_VFS_MODULE_MCP2515_RXBN__RXB1 = 1,
  ZRTOS_VFS_MODULE_MCP2515_RXBN__LENGTH = 2
}
 
enum  zrtos_vfs_module_mcp2515_txbn_t {
  ZRTOS_VFS_MODULE_MCP2515_TXBN__TXB0 = 0,
  ZRTOS_VFS_MODULE_MCP2515_TXBN__TXB1 = 1,
  ZRTOS_VFS_MODULE_MCP2515_TXBN__TXB2 = 2,
  ZRTOS_VFS_MODULE_MCP2515_TXBN__LENGTH = 3
}
 

Functions

uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg1 (zrtos_vfs_module_mcp2515_bitrate_t thiz)
 
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg2 (zrtos_vfs_module_mcp2515_bitrate_t thiz)
 
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg3 (zrtos_vfs_module_mcp2515_bitrate_t thiz)
 
void * zrtos_vfs_module_mcp2515_id__get_buffer (zrtos_vfs_module_mcp2515_id_t *thiz)
 
size_t zrtos_vfs_module_mcp2515_id__get_length (zrtos_vfs_module_mcp2515_id_t *thiz)
 
zrtos_error_t zrtos_vfs_module_mcp2515__read_registers (zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
 
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__set_registers (zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
 
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_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)
 
uint8_t zrtos_vfs_module_mcp2515__get_status (zrtos_vfs_fd_t fd, uint8_t *res)
 
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode (zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
 
zrtos_error_t zrtos_vfs_module_mcp2515__set_config_mode (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__set_listen_only_mode (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__set_sleep_mode (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__set_loopback_mode (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__set_normal_mode (zrtos_vfs_fd_t fd)
 
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__set_clk_out (zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_clkout_t divisor)
 
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)
 
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__set_filter (zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_rxf_t reg, bool ext, uint32_t ulData)
 
zrtos_error_t zrtos_vfs_module_mcp2515__reset (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_txbn_regs_t zrtos_vfs_module_mcp2515__get_txb (zrtos_vfs_module_mcp2515__txbn_t txbn)
 
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__send_message (zrtos_vfs_fd_t fd, struct can_frame *frame)
 
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__read_message (zrtos_vfs_fd_t fd, struct can_frame *frame)
 
zrtos_error_t zrtos_vfs_module_mcp2515__check_receive (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__check_error (zrtos_vfs_fd_t fd)
 
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__clear_rx_and_ovr_flags (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__clear_interrupts (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__get_interrupt_mask (zrtos_vfs_fd_t fd, uint8_t *res)
 
zrtos_error_t zrtos_vfs_module_mcp2515__clear_tx_interrupts (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__clear_rx_and_ovr (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__clear_merr (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__clear_errif (zrtos_vfs_fd_t fd)
 
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_count_rx (zrtos_vfs_fd_t fd, uint8_t *res)
 
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_count_tx (zrtos_vfs_fd_t fd, uint8_t *res)
 

Variables

typedef enum
 
static uint8_t = 0x08
 

Macro Definition Documentation

◆ ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE

#define ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE (   cfg1,
  cfg2,
  cfg3 
)    ((cfg1) | ((cfg2)<<8) | ((cfg3)<<16))

Definition at line 18 of file mcp2515.h.

Enumeration Type Documentation

◆ zrtos_vfs_module_mcp2515_bitrate_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_BITRATE__MIN 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_1000kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_500kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_250kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_200kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_125kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_100kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_80kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_50kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_40kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_33k3BPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_31k25BPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_20kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_10kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__8MHz_5kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_1000kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_500kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_250kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_200kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_125kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_100kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_95kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_83k3BPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_80kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_50kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_40kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_33k3BPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_20kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_10kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__16MHz_5kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_1000kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_500kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_250kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_200kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_125kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_100kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_83k3BPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_80kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_50kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_40kBPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__20MHz_33k3BPS 
ZRTOS_VFS_MODULE_MCP2515_BITRATE__MAX 

Definition at line 21 of file mcp2515.h.

21  {
#define ZRTOS_TYPES__UINT32_MIN
Definition: types.h:185
zrtos_vfs_module_mcp2515_bitrate_t
Definition: mcp2515.h:21
#define ZRTOS_TYPES__UINT32_MAX
Definition: types.h:186
#define ZRTOS_VFS_MODULE_MCP2515_BITRATE__COMBINE(cfg1, cfg2, cfg3)
Definition: mcp2515.h:18

◆ zrtos_vfs_module_mcp2515_clkout_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__MIN 
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DISABLE 
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV1 
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV2 
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV4 
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__DIV8 
ZRTOS_VFS_MODULE_MCP2515_CLKOUT__MAX 

Definition at line 187 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_error_flag_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__MIN 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RX1OVR 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RX0OVR 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__TXBO 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__TXEP 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RXEP 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__TXWAR 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RXWAR 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__EWARN 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__ERRORMASK 
ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__MAX 

Definition at line 197 of file mcp2515.h.

197  {
207  ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__ERRORMASK = (ZRTOS_VFS_MODULE_MCP2515_ERROR_FLAG__RX1OVR
#define ZRTOS_TYPES__UINT8_MIN
Definition: types.h:181
#define ZRTOS_TYPES__UINT8_MAX
Definition: types.h:182
zrtos_vfs_module_mcp2515_error_flag_t
Definition: mcp2515.h:197

◆ zrtos_vfs_module_mcp2515_instruction_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__MIN 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__WRITE 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__BITMOD 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__LOAD_TX0 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__LOAD_TX1 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__LOAD_TX2 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_TX0 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_TX1 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_TX2 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RTS_ALL 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ_RX0 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ_RX1 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__READ_STATUS 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RX_STATUS 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__RESET 
ZRTOS_VFS_MODULE_MCP2515_INSTRUCTION__MAX 

Definition at line 215 of file mcp2515.h.

215  {
zrtos_vfs_module_mcp2515_instruction_t
Definition: mcp2515.h:215
#define ZRTOS_TYPES__UINT8_MIN
Definition: types.h:181
#define ZRTOS_TYPES__UINT8_MAX
Definition: types.h:182

◆ zrtos_vfs_module_mcp2515_mask_t

◆ zrtos_vfs_module_mcp2515_mcp_dlc_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_MCP_DLC__RTR_MASK 
ZRTOS_VFS_MODULE_MCP2515_MCP_DLC__DLC_MASK 

Definition at line 164 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_mcp_sidl_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_MCP_SIDL__TXB_EXIDE_MASK 

Definition at line 160 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_mcp_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_MCP__SIDH 
ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL 
ZRTOS_VFS_MODULE_MCP2515_MCP__EID8 
ZRTOS_VFS_MODULE_MCP2515_MCP__EID0 
ZRTOS_VFS_MODULE_MCP2515_MCP__DLC 
ZRTOS_VFS_MODULE_MCP2515_MCP__DATA 

Definition at line 169 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_canctrl_reqop_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__NORMAL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__SLEEP 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__LOOPBACK 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__LISTENONLY 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__CONFIG 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL_REQOP__POWERUP 

Definition at line 113 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_canctrl_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__REQOP 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__ABAT 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__OSM 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__CLKEN 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANCTRL__CLKPRE 

Definition at line 105 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_canintf_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__RX0IF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__RX1IF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__TX0IF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__TX1IF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__TX2IF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__ERRIF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__WAKIF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANINTF__MERRF 

Definition at line 94 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_canstat_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANSTAT__OPMOD 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANSTAT__ICOD 

Definition at line 122 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_cnf3_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_CNF3__SOF 

Definition at line 155 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_rxb0ctrl_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB0CTRL__BUKT 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB0CTRL__FILHIT_MASK 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB0CTRL__FILHIT 

Definition at line 144 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_rxb1ctrl_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB1CTRL__FILHIT_MASK 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXB1CTRL__FILHIT 

Definition at line 150 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_rxbnctrl_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_STD 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_EXT 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_STDEXT 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RXM_MASK 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXBNCTRL__RTR 

Definition at line 136 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_register_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER__MIN 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANSTAT 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANCTRL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TEC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__REC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM0EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXM1EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CNF3 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CNF2 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CNF1 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANINTE 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__CANINTF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__EFLG 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0CTRL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0DLC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB0DATA 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1CTRL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1DLC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB1DATA 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2CTRL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2DLC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__TXB2DATA 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0CTRL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0DLC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB0DATA 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1CTRL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1SIDH 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1SIDL 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1EID8 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1EID0 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1DLC 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXB1DATA 
ZRTOS_VFS_MODULE_MCP2515_REGISTER__MAX 

Definition at line 235 of file mcp2515.h.

235  {
#define ZRTOS_TYPES__UINT8_MIN
Definition: types.h:181
#define ZRTOS_TYPES__UINT8_MAX
Definition: types.h:182
zrtos_vfs_module_mcp2515_register_t
Definition: mcp2515.h:235

◆ zrtos_vfs_module_mcp2515_register_txbnctrl_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__ABTF 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__MLOA 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXERR 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXREQ 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXIE 
ZRTOS_VFS_MODULE_MCP2515_REGISTER_TXBNCTRL__TXP 

Definition at line 127 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_rxbn_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_RXBN__RXB0 
ZRTOS_VFS_MODULE_MCP2515_RXBN__RXB1 
ZRTOS_VFS_MODULE_MCP2515_RXBN__LENGTH 

Definition at line 317 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_status_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_STATUS__RX0IF 
ZRTOS_VFS_MODULE_MCP2515_STATUS__RX1IF 
ZRTOS_VFS_MODULE_MCP2515_STATUS__RXIF_MASK 

Definition at line 178 of file mcp2515.h.

◆ zrtos_vfs_module_mcp2515_txbn_t

Enumerator
ZRTOS_VFS_MODULE_MCP2515_TXBN__TXB0 
ZRTOS_VFS_MODULE_MCP2515_TXBN__TXB1 
ZRTOS_VFS_MODULE_MCP2515_TXBN__TXB2 
ZRTOS_VFS_MODULE_MCP2515_TXBN__LENGTH 

Definition at line 323 of file mcp2515.h.

Function Documentation

◆ zrtos_vfs_module_mcp2515__check_error()

zrtos_error_t zrtos_vfs_module_mcp2515__check_error ( zrtos_vfs_fd_t  fd)

Definition at line 1097 of file mcp2515.h.

1097  {
1098  uint8_t res;
1100 
1101  if(zrtos_error__is_success(ret)){
1105  ;
1106  }
1107 
1108  return ret;
1109 }
Unsuccessful program execution status.
Definition: error.h:23
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_flags(zrtos_vfs_fd_t fd, uint8_t *res)
Definition: mcp2515.h:1111
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
Successful program execution status.
Definition: error.h:22
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__check_receive()

zrtos_error_t zrtos_vfs_module_mcp2515__check_receive ( zrtos_vfs_fd_t  fd)

Definition at line 1083 of file mcp2515.h.

1083  {
1084  uint8_t res;
1086 
1087  if(zrtos_error__is_success(ret)){
1091  ;
1092  }
1093 
1094  return res;
1095 }
No data available.
Definition: error.h:85
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
uint8_t zrtos_vfs_module_mcp2515__get_status(zrtos_vfs_fd_t fd, uint8_t *res)
Definition: mcp2515.h:448
Successful program execution status.
Definition: error.h:22
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__clear_errif()

zrtos_error_t zrtos_vfs_module_mcp2515__clear_errif ( zrtos_vfs_fd_t  fd)

Definition at line 1208 of file mcp2515.h.

1208  {
1210  fd
1213  ,0
1214  );
1215 }
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)
Definition: mcp2515.h:425
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__clear_interrupts()

zrtos_error_t zrtos_vfs_module_mcp2515__clear_interrupts ( zrtos_vfs_fd_t  fd)

Definition at line 1147 of file mcp2515.h.

1147  {
1149  fd
1151  ,0
1152  );
1153 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t value)
Definition: mcp2515.h:412
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__clear_merr()

zrtos_error_t zrtos_vfs_module_mcp2515__clear_merr ( zrtos_vfs_fd_t  fd)

Definition at line 1199 of file mcp2515.h.

1199  {
1201  fd
1204  ,0
1205  );
1206 }
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)
Definition: mcp2515.h:425
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__clear_rx_and_ovr()

zrtos_error_t zrtos_vfs_module_mcp2515__clear_rx_and_ovr ( zrtos_vfs_fd_t  fd)

Definition at line 1179 of file mcp2515.h.

1179  {
1180  uint8_t eflg;
1181  zrtos_error_t ret;
1182 
1185  )
1186  && eflg != 0
1189  )
1192  )){
1193  break;
1194  }
1195 
1196  return ret;
1197 }
zrtos_error_t zrtos_vfs_module_mcp2515__clear_interrupts(zrtos_vfs_fd_t fd)
Definition: mcp2515.h:1147
zrtos_error_t zrtos_vfs_module_mcp2515__get_error_flags(zrtos_vfs_fd_t fd, uint8_t *res)
Definition: mcp2515.h:1111
zrtos_error_t zrtos_vfs_module_mcp2515__clear_rx_and_ovr_flags(zrtos_vfs_fd_t fd)
Definition: mcp2515.h:1122
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__clear_rx_and_ovr_flags()

zrtos_error_t zrtos_vfs_module_mcp2515__clear_rx_and_ovr_flags ( zrtos_vfs_fd_t  fd)

Definition at line 1122 of file mcp2515.h.

1124  {
1126  fd
1128  ,(
1131  )
1132  ,0
1133  );
1134 }
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)
Definition: mcp2515.h:425
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__clear_tx_interrupts()

zrtos_error_t zrtos_vfs_module_mcp2515__clear_tx_interrupts ( zrtos_vfs_fd_t  fd)

Definition at line 1166 of file mcp2515.h.

Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__get_available_txb()

zrtos_error_t zrtos_vfs_module_mcp2515__get_available_txb ( zrtos_vfs_fd_t  fd,
zrtos_vfs_module_mcp2515_txbn_regs_t txbn_regs 
)

Definition at line 929 of file mcp2515.h.

932  {
933  zrtos_error_t ret;
934  uint8_t ctrlval;
935 
936  for(size_t i=0; i<ZRTOS_VFS_MODULE_MCP2515_TXBN__LENGTH; i++){
937  *txbn_regs = zrtos_vfs_module_mcp2515__get_txb(i);
940  fd
941  ,txbn_regs->ctrl
942  ,&ctrlval
943  )
944  ))
946  ){
947  goto L_RETURN;
948  }
949  }
950 
951  ret = ZRTOS_ERROR__AGAIN;
952 
953 L_RETURN:
954  return ret;
955 }
Try again.
Definition: error.h:35
zrtos_vfs_module_mcp2515_txbn_regs_t zrtos_vfs_module_mcp2515__get_txb(zrtos_vfs_module_mcp2515__txbn_t txbn)
Definition: mcp2515.h:905
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
zrtos_vfs_module_mcp2515_register_t ctrl
Definition: mcp2515.h:331
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__get_error_count_rx()

zrtos_error_t zrtos_vfs_module_mcp2515__get_error_count_rx ( zrtos_vfs_fd_t  fd,
uint8_t res 
)

Definition at line 1217 of file mcp2515.h.

1220  {
1222  fd
1224  ,res
1225  );
1226 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__get_error_count_tx()

zrtos_error_t zrtos_vfs_module_mcp2515__get_error_count_tx ( zrtos_vfs_fd_t  fd,
uint8_t res 
)

Definition at line 1228 of file mcp2515.h.

1231  {
1233  fd
1235  ,res
1236  );
1237 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__get_error_flags()

zrtos_error_t zrtos_vfs_module_mcp2515__get_error_flags ( zrtos_vfs_fd_t  fd,
uint8_t res 
)

Definition at line 1111 of file mcp2515.h.

1114  {
1116  fd
1118  ,res
1119  );
1120 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__get_interrupt_mask()

zrtos_error_t zrtos_vfs_module_mcp2515__get_interrupt_mask ( zrtos_vfs_fd_t  fd,
uint8_t res 
)

Definition at line 1155 of file mcp2515.h.

1158  {
1160  fd
1162  ,res
1163  );
1164 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__get_interrupts()

zrtos_error_t zrtos_vfs_module_mcp2515__get_interrupts ( zrtos_vfs_fd_t  fd,
uint8_t res 
)

Definition at line 1136 of file mcp2515.h.

1139  {
1141  fd
1143  ,res
1144  );
1145 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__get_status()

uint8_t zrtos_vfs_module_mcp2515__get_status ( zrtos_vfs_fd_t  fd,
uint8_t res 
)

Definition at line 448 of file mcp2515.h.

451  {
452  uint8_t buffer[] = {
454  };
455 
457  fd
458  ,2
459  ,buffer
461  ,res
462  ,1
463  );
464 
465  return ret;
466 }
#define ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(arr)
Definition: types.h:166
zrtos_error_t zrtos_vfs_fd__spi_transfer(zrtos_vfs_fd_t fd, size_t len,...)
Definition: vfs_fd.h:113
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__get_txb()

zrtos_vfs_module_mcp2515_txbn_regs_t zrtos_vfs_module_mcp2515__get_txb ( zrtos_vfs_module_mcp2515__txbn_t  txbn)

◆ zrtos_vfs_module_mcp2515__modify_register()

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 
)

Definition at line 425 of file mcp2515.h.

430  {
431  uint8_t buffer[] = {
433  ,reg
434  ,mask
435  ,data
436  };
437 
439  fd
440  ,1
441  ,buffer
443  );
444 
445  return ret;
446 }
#define ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(arr)
Definition: types.h:166
zrtos_error_t zrtos_vfs_fd__spi_transfer(zrtos_vfs_fd_t fd, size_t len,...)
Definition: vfs_fd.h:113
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__read_message()

zrtos_error_t zrtos_vfs_module_mcp2515__read_message ( zrtos_vfs_fd_t  fd,
struct can_frame *  frame 
)

Definition at line 1054 of file mcp2515.h.

1057  {
1058  uint8_t res;
1060 
1061  if(zrtos_error__is_success(ret)){
1062  if(ret & (
1065  )){
1067  fd
1068  ,(
1072  )
1073  ,frame
1074  );
1075  }else{
1076  ret = ZRTOS_ERROR__NOMSG;
1077  }
1078  }
1079 
1080  return ret;
1081 }
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
uint8_t zrtos_vfs_module_mcp2515__get_status(zrtos_vfs_fd_t fd, uint8_t *res)
Definition: mcp2515.h:448
zrtos_error_t zrtos_vfs_module_mcp2515__read_message_ex(zrtos_vfs_module_mcp2515_rxbn_t rxbn, struct can_frame *frame)
Definition: mcp2515.h:977
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
No message of desired type.
Definition: error.h:66
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__read_message_ex()

zrtos_error_t zrtos_vfs_module_mcp2515__read_message_ex ( zrtos_vfs_module_mcp2515_rxbn_t  rxbn,
struct can_frame *  frame 
)

Definition at line 977 of file mcp2515.h.

980  {
981  zrtos_error_t ret;
983  {
988  }
989  ,{
994  }
995  };
996  zrtos_vfs_module_mcp2515_rxbn_regs_t *rxb = &rxbn_regs[rxbn];
997  uint8_t tbufdata[5];
998 
1001  fd
1002  ,rxb->sidh
1003  ,tbufdata
1004  ,5
1005  )
1006  ))){
1007  uint32_t id = (tbufdata[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDH]<<3) + (tbufdata[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL]>>5);
1008 
1010  id = (id<<2) + (tbufdata[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL] & 0x03);
1011  id = (id<<8) + tbufdata[ZRTOS_VFS_MODULE_MCP2515_MCP__EID8];
1012  id = (id<<8) + tbufdata[ZRTOS_VFS_MODULE_MCP2515_MCP__EID0];
1013  id |= CAN_EFF_FLAG;
1014  }
1015 
1016  uint8_t dlc = (
1019  );
1020  if(dlc <= CAN_MAX_DLEN){
1021  uint8_t ctrl;
1022  ret = zrtos_vfs_module_mcp2515__read_register(fd,rxb->ctrl,&ctrl);
1023  if(zrtos_error__is_success(ret)){
1025  id |= CAN_RTR_FLAG;
1026  }
1027 
1028  frame->can_id = id;
1029  frame->can_dlc = dlc;
1030 
1032  fd
1033  ,rxb->data
1034  ,frame->data
1035  ,dlc
1036  );
1037  if(zrtos_error__is_success(ret)){
1039  fd
1041  ,rxb->rxnif
1042  ,0
1043  );
1044  }
1045  }
1046  }else{
1047  ret = ZRTOS_ERROR__IO;
1048  }
1049  }
1050 
1051  return ret;
1052 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
Definition: mcp2515.h:355
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)
Definition: mcp2515.h:425
zrtos_vfs_module_mcp2515_register_t data
Definition: mcp2515.h:339
zrtos_vfs_module_mcp2515_register_canintf_t rxnif
Definition: mcp2515.h:340
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
zrtos_vfs_module_mcp2515_register_t sidh
Definition: mcp2515.h:338
I/O error.
Definition: error.h:29
zrtos_vfs_module_mcp2515_register_t ctrl
Definition: mcp2515.h:337
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__read_register()

zrtos_error_t zrtos_vfs_module_mcp2515__read_register ( zrtos_vfs_fd_t  fd,
zrtos_vfs_module_mcp2515_register_t  reg,
uint8_t value 
)

Definition at line 377 of file mcp2515.h.

381  {
383  fd
384  ,reg
385  ,value
386  ,1
387  );
388 }
zrtos_error_t zrtos_vfs_module_mcp2515__read_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
Definition: mcp2515.h:355
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__read_registers()

zrtos_error_t zrtos_vfs_module_mcp2515__read_registers ( zrtos_vfs_module_mcp2515_register_t  reg,
uint8_t values,
size_t  values_length 
)

Definition at line 355 of file mcp2515.h.

359  {
360  uint8_t buffer[] = {
362  ,reg
363  };
364 
366  fd
367  ,2
368  ,buffer
370  ,values
371  ,values_length
372  );
373 
374  return ret;
375 }
#define ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(arr)
Definition: types.h:166
zrtos_error_t zrtos_vfs_fd__spi_transfer(zrtos_vfs_fd_t fd, size_t len,...)
Definition: vfs_fd.h:113
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__reset()

zrtos_error_t zrtos_vfs_module_mcp2515__reset ( zrtos_vfs_fd_t  fd)

Definition at line 702 of file mcp2515.h.

702  {
703  uint8_t zeros[14] = {};
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
711  };
715  };
716  uint8_t buffer[] = {
718  };
720  fd
721  ,1
722  ,buffer
724  );
725 
727 
731  fd
733  ,zeros
734  ,14
735  )
736  ))
739  fd
741  ,zeros
742  ,14
743  )
744  ))
747  fd
749  ,zeros
750  ,14
751  )
752  ))
755  fd
757  ,0
758  )
759  ))
762  fd
764  ,0
765  )
766  ))
769  fd
771  ,(
776  )
777  )
778  ))
781  fd
783  ,(
787  ),(
791  )
792  )
793  ))
796  fd
798  ,(
801  ),(
804  )
805  )
806  ))){
807  for(size_t i=0; i<ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(filters); i++){
808  ret = zrtos_vfs_module_mcp2515__set_filter(fd,filters[i],(i == 1),0);
809  if(zrtos_error__is_error(ret)){
810  goto L_RETURN;
811  }
812  }
813 
814  for(size_t i=0; i<ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(masks); i++){
815  ret = zrtos_vfs_module_mcp2515__set_filter_mask(masks[i], true, 0);
816  if(zrtos_error__is_error(ret)){
817  goto L_RETURN;
818  }
819  }
820  }
821 
822 L_RETURN:
823  return ret;
824 }
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)
Definition: mcp2515.h:674
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)
Definition: mcp2515.h:425
bool zrtos_error__is_error(zrtos_error_t thiz)
Definition: error.h:156
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
#define ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(arr)
Definition: types.h:166
zrtos_error_t zrtos_vfs_fd__spi_transfer(zrtos_vfs_fd_t fd, size_t len,...)
Definition: vfs_fd.h:113
zrtos_error_t zrtos_vfs_module_mcp2515__set_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t value)
Definition: mcp2515.h:412
zrtos_error_t zrtos_vfs_module_mcp2515__set_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
Definition: mcp2515.h:390
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)
Definition: mcp2515.h:688
zrtos_vfs_module_mcp2515_mask_t
Definition: mcp2515.h:80
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
void zrtos_gpio__delay_milliseconds(uint16_t ms)
Definition: gpio.h:512
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__send_message()

zrtos_error_t zrtos_vfs_module_mcp2515__send_message ( zrtos_vfs_fd_t  fd,
struct can_frame *  frame 
)

Definition at line 957 of file mcp2515.h.

960  {
961  zrtos_error_t ret;
963 
966  ))){
968  fd
969  ,txbn_regs
970  ,frame
971  );
972  }
973 
974  return ret;
975 }
zrtos_error_t zrtos_vfs_module_mcp2515__get_available_txb(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_txbn_regs_t *txbn_regs)
Definition: mcp2515.h:929
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)
Definition: mcp2515.h:826
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__send_message_ex()

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 
)

Definition at line 826 of file mcp2515.h.

830  {
831  zrtos_error_t ret;
833  uint8_t data[13];
834  bool ext;
835  bool rtr;
836  uint32_t id;
837  uint8_t ctrl;
838 
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));
843 
844  ret = zrtos_vfs_module_mcp2515_id__init(&iddata, ext, id);
845  if(zrtos_error__is_success(ret)){
846  memcpy(
847  &data[0]
850  );
851 
853  ? (
854  frame->can_dlc
856  )
857  : frame->can_dlc
858  ;
859 
860  memcpy(
862  ,frame->data
863  ,frame->can_dlc
864  );
865 
868  fd
869  ,txbn_regs.sidh
870  ,data
871  ,5 + frame->can_dlc
872  )
873  ))
876  fd
877  ,txbn_regs.ctrl
880  )
881  ))
884  fd
885  ,txbn_regs.ctrl
886  ,&ctrl
887  )
888  ))){
889  if((ctrl & (
893  )) != 0){
894  ret = ZRTOS_ERROR__IO;
895  }
896  }
897  }
898  }else{
899  ret = ZRTOS_ERROR__IO;
900  }
901 
902  return ret;
903 }
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)
Definition: mcp2515.h:425
void * zrtos_vfs_module_mcp2515_id__get_buffer(zrtos_vfs_module_mcp2515_id_t *thiz)
Definition: mcp2515.h:347
zrtos_error_t zrtos_vfs_module_mcp2515_id__init(zrtos_vfs_module_mcp2515_id_t *thiz, bool ext, uint32_t id)
Definition: mcp2515.h:616
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
zrtos_error_t zrtos_vfs_module_mcp2515__set_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
Definition: mcp2515.h:390
zrtos_vfs_module_mcp2515_register_t ctrl
Definition: mcp2515.h:331
I/O error.
Definition: error.h:29
static uint8_t
Definition: mcp2515.h:159
size_t zrtos_vfs_module_mcp2515_id__get_length(zrtos_vfs_module_mcp2515_id_t *thiz)
Definition: mcp2515.h:351
zrtos_error_t
Definition: error.h:20
zrtos_vfs_module_mcp2515_register_t sidh
Definition: mcp2515.h:332
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_bitrate()

zrtos_error_t zrtos_vfs_module_mcp2515__set_bitrate ( zrtos_vfs_fd_t  fd,
zrtos_vfs_module_mcp2515_bitrate_t  bitrate 
)

Definition at line 541 of file mcp2515.h.

544  {
545  zrtos_error_t ret;
547  fd
548  ))
550  fd
553  ))
555  fd
558  ))
560  fd
563  ))){
564  continue;
565  }
566  return ret;
567 }
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg1(zrtos_vfs_module_mcp2515_bitrate_t thiz)
Definition: mcp2515.h:68
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
zrtos_error_t zrtos_vfs_module_mcp2515__set_config_mode(zrtos_vfs_fd_t fd)
Definition: mcp2515.h:506
zrtos_error_t zrtos_vfs_module_mcp2515__set_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t value)
Definition: mcp2515.h:412
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg2(zrtos_vfs_module_mcp2515_bitrate_t thiz)
Definition: mcp2515.h:72
uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg3(zrtos_vfs_module_mcp2515_bitrate_t thiz)
Definition: mcp2515.h:76
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__set_clk_out()

zrtos_error_t zrtos_vfs_module_mcp2515__set_clk_out ( zrtos_vfs_fd_t  fd,
zrtos_vfs_module_mcp2515_clkout_t  divisor 
)

Definition at line 569 of file mcp2515.h.

572  {
574  uint8_t clken;
575  uint8_t cnf3;
576 
578  clken = 0x00;//Turn off CLKEN
579  cnf3 = ZRTOS_VFS_MODULE_MCP2515_REGISTER_CNF3__SOF;//Turn on CLKOUT for SOF
580  }else{
582  cnf3 = 0x00;//Turn off CLKOUT for SOF
583 
584  //Set the prescaler (CLKPRE)
586  fd
589  ,divisor
590  );
591  }
592 
596  fd
599  ,clken
600  )
601  ))
604  fd
607  ,cnf3
608  )
609  ))){
610  continue;
611  }
612 
613  return ret;
614 }
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)
Definition: mcp2515.h:425
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
Successful program execution status.
Definition: error.h:22
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__set_config_mode()

zrtos_error_t zrtos_vfs_module_mcp2515__set_config_mode ( zrtos_vfs_fd_t  fd)

Definition at line 506 of file mcp2515.h.

506  {
508  fd
510  );
511 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
Definition: mcp2515.h:468
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_filter()

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 
)

Definition at line 688 of file mcp2515.h.

693  {
695  fd
696  ,reg
697  ,ext
698  ,ulData
699  );
700 }
static zrtos_error_t zrtos_vfs_module_mcp2515__set_filter_ex(zrtos_vfs_fd_t fd, uint8_t reg, bool ext, uint32_t ulData)
Definition: mcp2515.h:651
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_filter_ex()

static zrtos_error_t zrtos_vfs_module_mcp2515__set_filter_ex ( zrtos_vfs_fd_t  fd,
uint8_t  reg,
bool  ext,
uint32_t  ulData 
)
static

Definition at line 651 of file mcp2515.h.

656  {
659 
662  ret = zrtos_vfs_module_mcp2515_id__init(&tbufdata, ext, ulData)
663  ))){
665  reg
668  );
669  }
670 
671  return ret;
672 }
void * zrtos_vfs_module_mcp2515_id__get_buffer(zrtos_vfs_module_mcp2515_id_t *thiz)
Definition: mcp2515.h:347
zrtos_error_t zrtos_vfs_module_mcp2515_id__init(zrtos_vfs_module_mcp2515_id_t *thiz, bool ext, uint32_t id)
Definition: mcp2515.h:616
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
zrtos_error_t zrtos_vfs_module_mcp2515__set_config_mode(zrtos_vfs_fd_t fd)
Definition: mcp2515.h:506
zrtos_error_t zrtos_vfs_module_mcp2515__set_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
Definition: mcp2515.h:390
size_t zrtos_vfs_module_mcp2515_id__get_length(zrtos_vfs_module_mcp2515_id_t *thiz)
Definition: mcp2515.h:351
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_filter_mask()

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 
)

Definition at line 674 of file mcp2515.h.

679  {
681  fd
682  ,reg
683  ,ext
684  ,ulData
685  );
686 }
static zrtos_error_t zrtos_vfs_module_mcp2515__set_filter_ex(zrtos_vfs_fd_t fd, uint8_t reg, bool ext, uint32_t ulData)
Definition: mcp2515.h:651
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_listen_only_mode()

zrtos_error_t zrtos_vfs_module_mcp2515__set_listen_only_mode ( zrtos_vfs_fd_t  fd)

Definition at line 513 of file mcp2515.h.

513  {
515  fd
517  );
518 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
Definition: mcp2515.h:468
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__set_loopback_mode()

zrtos_error_t zrtos_vfs_module_mcp2515__set_loopback_mode ( zrtos_vfs_fd_t  fd)

Definition at line 527 of file mcp2515.h.

527  {
529  fd
531  );
532 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
Definition: mcp2515.h:468
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__set_mode()

zrtos_error_t zrtos_vfs_module_mcp2515__set_mode ( zrtos_vfs_fd_t  fd,
zrtos_vfs_module_mcp2515_register_canctrl_reqop_t  mode 
)

Definition at line 468 of file mcp2515.h.

471  {
473  fd
476  ,mode
477  );
478  size_t l = 10;
479  bool modeMatch = false;
480 
481  if(zrtos_error__is_success(ret)){
482  while(l--){
483  uint8_t newmode;
485  fd
487  ,&newmode
488  );
489  if(!zrtos_error__is_success(ret)
490  || (modeMatch = mode == (newmode & ZRTOS_VFS_MODULE_MCP2515_REGISTER_CANSTAT__OPMOD))){
491  break;
492  }
493  }
494  }
495 
496  if(zrtos_error__is_success(ret)){
497  ret = modeMatch
500  ;
501  }
502 
503  return ret;
504 }
Unsuccessful program execution status.
Definition: error.h:23
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)
Definition: mcp2515.h:425
bool zrtos_error__is_success(zrtos_error_t thiz)
Definition: error.h:152
Successful program execution status.
Definition: error.h:22
zrtos_error_t zrtos_vfs_module_mcp2515__read_register(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_t reg, uint8_t *value)
Definition: mcp2515.h:377
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_normal_mode()

zrtos_error_t zrtos_vfs_module_mcp2515__set_normal_mode ( zrtos_vfs_fd_t  fd)

Definition at line 534 of file mcp2515.h.

534  {
536  fd
538  );
539 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
Definition: mcp2515.h:468
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515__set_register()

zrtos_error_t zrtos_vfs_module_mcp2515__set_register ( zrtos_vfs_fd_t  fd,
zrtos_vfs_module_mcp2515_register_t  reg,
uint8_t  value 
)

Definition at line 412 of file mcp2515.h.

416  {
418  fd
419  ,reg
420  ,&value
421  ,1
422  );
423 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_registers(zrtos_vfs_module_mcp2515_register_t reg, uint8_t *values, size_t values_length)
Definition: mcp2515.h:390
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_registers()

zrtos_error_t zrtos_vfs_module_mcp2515__set_registers ( zrtos_vfs_module_mcp2515_register_t  reg,
uint8_t values,
size_t  values_length 
)

Definition at line 390 of file mcp2515.h.

394  {
395  uint8_t buffer[] = {
397  ,reg
398  };
399 
401  fd
402  ,2
403  ,buffer
405  ,values
406  ,values_length
407  );
408 
409  return ret;
410 }
#define ZRTOS_TYPES__GET_STATIC_ARRAY_LENGTH(arr)
Definition: types.h:166
zrtos_error_t zrtos_vfs_fd__spi_transfer(zrtos_vfs_fd_t fd, size_t len,...)
Definition: vfs_fd.h:113
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515__set_sleep_mode()

zrtos_error_t zrtos_vfs_module_mcp2515__set_sleep_mode ( zrtos_vfs_fd_t  fd)

Definition at line 520 of file mcp2515.h.

520  {
522  fd
524  );
525 }
zrtos_error_t zrtos_vfs_module_mcp2515__set_mode(zrtos_vfs_fd_t fd, zrtos_vfs_module_mcp2515_register_canctrl_reqop_t mode)
Definition: mcp2515.h:468
Here is the call graph for this function:

◆ zrtos_vfs_module_mcp2515_bitrate__get_cfg1()

uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg1 ( zrtos_vfs_module_mcp2515_bitrate_t  thiz)

Definition at line 68 of file mcp2515.h.

68  {
69  return thiz & 0xFF;
70 }
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515_bitrate__get_cfg2()

uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg2 ( zrtos_vfs_module_mcp2515_bitrate_t  thiz)

Definition at line 72 of file mcp2515.h.

72  {
73  return (thiz >> 8) & 0xFF;
74 }
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515_bitrate__get_cfg3()

uint8_t zrtos_vfs_module_mcp2515_bitrate__get_cfg3 ( zrtos_vfs_module_mcp2515_bitrate_t  thiz)

Definition at line 76 of file mcp2515.h.

76  {
77  return (thiz >> 16) & 0xFF;
78 }
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515_id__get_buffer()

void* zrtos_vfs_module_mcp2515_id__get_buffer ( zrtos_vfs_module_mcp2515_id_t thiz)

Definition at line 347 of file mcp2515.h.

347  {
348  return thiz->data;
349 }
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515_id__get_length()

size_t zrtos_vfs_module_mcp2515_id__get_length ( zrtos_vfs_module_mcp2515_id_t thiz)

Definition at line 351 of file mcp2515.h.

351  {
352  return 4;
353 }
Here is the caller graph for this function:

◆ zrtos_vfs_module_mcp2515_id__init()

zrtos_error_t zrtos_vfs_module_mcp2515_id__init ( zrtos_vfs_module_mcp2515_id_t thiz,
bool  ext,
uint32_t  id 
)

Definition at line 616 of file mcp2515.h.

620  {
622  uint8_t *buffer = thiz->data;
623  uint16_t canid = (uint16_t)(id & 0x0FFFF);
624 
625  if(ext){
626  if(id <= 536870911){
627  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__EID0] = (uint8_t) (canid & 0xFF);
628  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__EID8] = (uint8_t) (canid >> 8);
629  canid = (uint16_t)(id >> 16);
630  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL] = (uint8_t) (canid & 0x03);
631  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL] += (uint8_t) ((canid & 0x1C) << 3);
633  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDH] = (uint8_t) (canid >> 5);
634  goto L_RETURN;
635  }
636  }else{
637  if(id <= 2047){
638  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDH] = (uint8_t) (canid >> 3);
639  buffer[ZRTOS_VFS_MODULE_MCP2515_MCP__SIDL] = (uint8_t) ((canid & 0x07 ) << 5);
642  goto L_RETURN;
643  }
644  }
645 
646  ret = ZRTOS_ERROR__INVAL;
647 L_RETURN:
648  return ret;
649 }
Successful program execution status.
Definition: error.h:22
Invalid argument.
Definition: error.h:46
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
Here is the caller graph for this function:

Variable Documentation

◆ enum

typedef enum
Initial value:
{
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF0 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF0SIDH,
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF1 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF1SIDH,
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF2 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF2SIDH,
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF3 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF3SIDH,
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF4 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF4SIDH,
ZRTOS_VFS_MODULE_MCP2515_REGISTER_RXF__RXF5 = ZRTOS_VFS_MODULE_MCP2515_REGISTER__RXF5SIDH
}zrtos_vfs_module_mcp2515_register_rxf_t

Definition at line 85 of file mcp2515.h.

◆ uint8_t

uint8_t = 0x08
static

Definition at line 159 of file mcp2515.h.