36#ifdef ARDUINO_ARCH_RP2040
37 bool begin(
bool poll =
false, SPIClassRP2040 & spi = SPI);
39 bool begin(
bool poll =
false, SPIClass & spi = SPI);
41 virtual bool available()
override;
42 virtual CANFrame getNextCanFrame()
override;
43 virtual bool sendCanFrame(CANFrame *frame)
override;
44 virtual void reset()
override;
45 virtual byte getHardwareType()
override {
return CAN_HW_MCP2515; };
49 void setNumBuffers(
byte num_rx_buffers,
byte num_tx_buffers = 0);
51 void setOscFreq(
unsigned long freq);
53#ifdef ARDUINO_ARCH_RP2040
54 void setPins(
byte cs_pin,
byte int_pin,
byte mosi_pin,
byte miso_pin,
byte sck_pin);
56 void setPins(
byte cs_pin,
byte int_pin);
59 virtual unsigned int receiveCounter()
override {
return _numMsgsRcvd; }
60 virtual unsigned int transmitCounter()
override {
return _numMsgsSent; }
61 virtual unsigned int receiveErrorCounter()
override {
return canp->receiveErrorCounter(); }
62 virtual unsigned int transmitErrorCounter()
override {
return canp->transmitErrorCounter(); }
63 virtual unsigned int receiveBufferSize()
override {
return canp->receiveBufferSize(); };
64 virtual unsigned int transmitBufferSize()
override {
return canp->transmitBufferSize(0); };
65 virtual unsigned int receiveBufferUsage()
override {
return canp->receiveBufferCount(); };
66 virtual unsigned int transmitBufferUsage()
override {
return canp->transmitBufferCount(0); };
67 virtual unsigned int receiveBufferPeak()
override {
return canp->receiveBufferPeakCount(); };
68 virtual unsigned int transmitBufferPeak()
override {
return canp->transmitBufferPeakCount(0); };
69 virtual unsigned int errorStatus()
override {
return canp->errorFlagRegister(); }
74 unsigned int _numMsgsSent, _numMsgsRcvd;
75 unsigned long _osc_freq;
77 byte _num_rx_buffers, _num_tx_buffers;
80#ifdef ARDUINO_ARCH_RP2040
81 byte _mosi_pin, _miso_pin, _sck_pin;