46 std::this_thread::sleep_for(std::chrono::milliseconds(10));
48 return (status & 0xE0) == 0x80;
112 return mode == expectedMode;
142 uint8_t tx[] = {command};
153 std::vector<uint8_t> CAN_RX_Buf;
158 frameID = (sidh << 3) | (sidl >> 5);
161 for (uint8_t i = 0; i < len; ++i) {
187 for (uint8_t j = 0; j < length1; ++j) {
191 if (tempdata & 0x04) {
192 std::this_thread::sleep_for(
193 std::chrono::milliseconds(10));
Definition of the MCP2515Configurator class.
Interface for the SPI controller.
MCP2515Configurator(ISPIController &spiController)
Construct a new MCP2515Configurator::MCP2515Configurator object.
static constexpr uint8_t RXB0SIDH
static constexpr uint8_t CNF2
static constexpr uint8_t CNF1
bool verifyMode(uint8_t expectedMode)
Verify the mode of the MCP2515.
static constexpr uint8_t TXB0CTRL
static constexpr uint8_t TXB0EID8
static constexpr uint8_t CNF3
static constexpr uint8_t CANCTRL
void configureRXBuffer()
Configure the RX buffer for the MCP2515.
static constexpr uint8_t TXB0D0
static constexpr uint8_t CANINTF
void setMode(uint8_t mode)
Set the mode for the MCP2515.
static constexpr uint8_t TXB0SIDL
static constexpr uint8_t RESET_CMD
bool resetChip()
clean up the resources used by the MCP2515Configurator.
void configureBaudRate()
Configure the baud rate for the MCP2515.
ISPIController & spiController
Reference to the SPI controller.
static constexpr uint8_t CANINTE
uint8_t readRegister(uint8_t address)
Read a value from a register.
void writeRegister(uint8_t address, uint8_t value)
Write a value to a register.
void configureInterrupts()
Configure the interrupts for the MCP2515.
static constexpr uint8_t CAN_RD_STATUS
void sendCommand(uint8_t command)
Send a command to the MCP2515.
std::vector< uint8_t > readCANMessage(uint16_t &frameID)
Read a CAN message from the MCP2515.
static constexpr uint8_t TXB0EID0
static constexpr uint8_t RXB0SIDL
static constexpr uint8_t TXB0SIDH
void configureFiltersAndMasks()
Configure the filters and masks for the MCP2515.
static constexpr uint8_t CAN_RTS_TXB0
static constexpr uint8_t TXB0DLC
void configureTXBuffer()
Configure the TX buffer for the MCP2515.
static constexpr uint8_t CANSTAT
void sendCANMessage(uint16_t frameID, uint8_t *CAN_TX_Buf, uint8_t length1)
Send a CAN message to the MCP2515.
static constexpr uint8_t RXB0CTRL