Dear friends following programming code not getting compile... please give suggestion
Arduino: 1.8.10 (Windows 10), Board: "Arduino Uno"
09_08_2022_receive_ready_program:11:9: error: cannot declare variable 'CAN0' to be of abstract type 'MCP_CAN'
MCP_CAN CAN0(10);
^~~~
In file included from C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino:2:0:
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:55:7: note: because the following virtual functions are pure within 'MCP_CAN':
class MCP_CAN
^~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:58:18: note: virtual void MCP_CAN::enableTxInterrupt(bool)
virtual void enableTxInterrupt(bool enable = true) = 0; // enable transmit interrupt
^~~~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:59:18: note: virtual void MCP_CAN::reserveTxBuffers(byte)
virtual void reserveTxBuffers(byte nTxBuf = 0) = 0;
^~~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:60:18: note: virtual byte MCP_CAN::getLastTxBuffer()
virtual byte getLastTxBuffer() = 0;
^~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:65:18: note: virtual byte MCP_CAN::begin(uint32_t, byte)
virtual byte begin(uint32_t speedset, const byte clockset) = 0; // init can
^~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:66:18: note: virtual byte MCP_CAN::init_Mask(byte, byte, long unsigned int)
virtual byte init_Mask(byte num, byte ext, unsigned long ulData) = 0; // init Masks
^~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:67:18: note: virtual byte MCP_CAN::init_Filt(byte, byte, long unsigned int)
virtual byte init_Filt(byte num, byte ext, unsigned long ulData) = 0; // init filters
^~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:68:18: note: virtual void MCP_CAN::setSleepWakeup(byte)
virtual void setSleepWakeup(byte enable) = 0; // Enable or disable the wake up interrupt
^~~~~~~~~~~~~~
In file included from C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino:2:0:
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:70:18: note: virtual byte MCP_CAN::sleep()
virtual byte sleep() = 0; // Put the MCP2515 in sleep mode
^~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:71:18: note: virtual byte MCP_CAN::wake()
virtual byte wake() = 0; // Wake MCP2515 manually from sleep
^~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:72:18: note: virtual byte MCP_CAN::setMode(byte)
virtual byte setMode(byte opMode) = 0; // Set operational mode
^~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:73:18: note: virtual byte MCP_CAN::getMode()
virtual byte getMode() = 0; // Get operational mode
^~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:74:18: note: virtual byte MCP_CAN::checkError(uint8_t*)
virtual byte checkError(uint8_t* err_ptr = NULL) = 0; // if something error
^~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:77:18: note: virtual byte MCP_CAN::checkReceive()
virtual byte checkReceive(void) = 0; // if something received
^~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:78:18: note: virtual byte MCP_CAN::readMsgBufID(byte, volatile long unsigned int*, volatile byte*, volatile byte*, volatile byte*, volatile byte*)
virtual byte readMsgBufID(byte status,
^~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:82:18: note: virtual byte MCP_CAN::readMsgBufID(long unsigned int*, byte*, byte*)
virtual byte readMsgBufID(unsigned long *ID, byte *len, byte *buf) = 0;
^~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:83:18: note: virtual byte MCP_CAN::readMsgBuf(byte*, byte*)
virtual byte readMsgBuf(byte *len, byte *buf) = 0;
^~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:91:18: note: virtual byte MCP_CAN::trySendMsgBuf(long unsigned int, byte, byte, byte, const byte*, byte)
virtual byte trySendMsgBuf(unsigned long id, byte ext, byte rtr,
^~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:93:18: note: virtual byte MCP_CAN::sendMsgBuf(byte, long unsigned int, byte, byte, byte, const volatile byte*)
virtual byte sendMsgBuf(byte status, unsigned long id, byte ext, byte rtr,
^~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:95:18: note: virtual byte MCP_CAN::sendMsgBuf(long unsigned int, byte, byte, byte, const byte*, bool)
virtual byte sendMsgBuf(unsigned long id, byte ext, byte rtrBit,
^~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:98:18: note: virtual void MCP_CAN::clearBufferTransmitIfFlags(byte)
virtual void clearBufferTransmitIfFlags(byte flags = 0) = 0; // Clear transmit flags according to status
^~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:99:18: note: virtual byte MCP_CAN::readRxTxStatus()
virtual byte readRxTxStatus(void) = 0; // read has something send or received
^~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:100:18: note: virtual byte MCP_CAN::checkClearRxStatus(byte*)
virtual byte checkClearRxStatus(byte *status) = 0; // read and clear and return first found rx status bit
^~~~~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:101:18: note: virtual byte MCP_CAN::checkClearTxStatus(byte*, byte)
virtual byte checkClearTxStatus(byte *status, byte iTxBuf = 0xff) = 0; // read and clear and return first found or buffer specified tx status bit
^~~~~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:102:18: note: virtual bool MCP_CAN::mcpPinMode(byte, byte)
virtual bool mcpPinMode(const byte pin, const byte mode) = 0; // switch supported pins between HiZ, interrupt, output or input
^~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:103:18: note: virtual bool MCP_CAN::mcpDigitalWrite(byte, byte)
virtual bool mcpDigitalWrite(const byte pin, const byte mode) = 0; // write HIGH or LOW to RX0BF/RX1BF
^~~~~~~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:104:18: note: virtual byte MCP_CAN::mcpDigitalRead(byte)
virtual byte mcpDigitalRead(const byte pin) = 0; // read HIGH or LOW from supported pins
^~~~~~~~~~~~~~
C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino: In function 'void setup()':
09_08_2022_receive_ready_program:19:17: error: 'MCP_ANY' was not declared in this scope
if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK)
^~~~~~~
C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino:19:17: note: suggested alternative: 'MCP_CAN'
if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK)
^~~~~~~
MCP_CAN
09_08_2022_receive_ready_program:19:39: error: 'MCP_16MHZ' was not declared in this scope
if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK)
^~~~~~~~~
C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino:19:39: note: suggested alternative: 'MCP_16MHz'
if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK)
^~~~~~~~~
MCP_16MHz
09_08_2022_receive_ready_program:24:14: error: 'MCP_NORMAL' was not declared in this scope
CAN0.setMode(MCP_NORMAL);
^~~~~~~~~~
C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino:24:14: note: suggested alternative: 'MCP_NO_MHz'
CAN0.setMode(MCP_NORMAL);
^~~~~~~~~~
MCP_NO_MHz
C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino: In function 'void loop()':
09_08_2022_receive_ready_program:36:39: error: no matching function for call to 'MCP_CAN::readMsgBuf(long unsigned int*, unsigned char*, unsigned char [8])'
CAN0.readMsgBuf(&rxId, &len, rxBuf);
^
In file included from C:\Users\Administrator\Desktop\UPS Project\Arduino configuration study\Trial Programs\09_08_2022_receive_ready_program\09_08_2022_receive_ready_program.ino:2:0:
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:83:18: note: candidate: virtual byte MCP_CAN::readMsgBuf(byte*, byte*)
virtual byte readMsgBuf(byte *len, byte *buf) = 0;
^~~~~~~~~~
C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3\src/mcp_can.h:83:18: note: candidate expects 2 arguments, 3 provided
Multiple libraries were found for "mcp_can.h"
Used: C:\Users\Administrator\Documents\Arduino\libraries\CAN_BUS_Shield-2.3.3
Multiple libraries were found for "SPI.h"
Used: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.2\libraries\SPI
exit status 1
cannot declare variable 'CAN0' to be of abstract type 'MCP_CAN'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.