VLCB
Loading...
Searching...
No Matches
VLCB::CAN2515 Class Reference

Transport implementation for the MCP2515/25625 CAN controllers. More...

#include <CAN2515.h>

Inheritance diagram for VLCB::CAN2515:
VLCB::CanTransport VLCB::Transport

Public Member Functions

 CAN2515 ()
 constructor
bool begin (bool poll=false, SPIClass &spi=SPI)
virtual bool available () override
 check for unprocessed messages in the buffer
virtual CANFrame getNextCanFrame () override
virtual bool sendCanFrame (CANFrame *frame) override
 send a VLCB message
virtual void reset () override
 reset the MCP2515 transceiver
virtual byte getHardwareType () override
void setNumBuffers (byte num_rx_buffers, byte num_tx_buffers=0)
void printStatus ()
 display the CAN bus status instrumentation
void setOscFreq (unsigned long freq)
void setPins (byte cs_pin, byte int_pin)
 set the CS and interrupt pins - option to override defaults
virtual unsigned int receiveCounter () override
virtual unsigned int transmitCounter () override
virtual unsigned int receiveErrorCounter () override
virtual unsigned int transmitErrorCounter () override
virtual unsigned int receiveBufferSize () override
virtual unsigned int transmitBufferSize () override
virtual unsigned int receiveBufferUsage () override
virtual unsigned int transmitBufferUsage () override
virtual unsigned int receiveBufferPeak () override
virtual unsigned int transmitBufferPeak () override
virtual unsigned int errorStatus () override

Detailed Description

Transport implementation for the MCP2515/25625 CAN controllers.

Constructor & Destructor Documentation

◆ CAN2515()

VLCB::CAN2515::CAN2515 ( )

constructor

Member Function Documentation

◆ begin()

bool VLCB::CAN2515::begin ( bool poll = false,
SPIClass & spi = SPI )

initialise the CAN controller and buffers, and attach the ISR default poll arg is set to false, so as not to break existing code

◆ available()

bool VLCB::CAN2515::available ( )
overridevirtual

check for unprocessed messages in the buffer

Implements VLCB::CanTransport.

◆ getNextCanFrame()

CANFrame VLCB::CAN2515::getNextCanFrame ( )
overridevirtual

get next unprocessed message from the buffer must call available first to ensure there is something to get

Implements VLCB::CanTransport.

◆ sendCanFrame()

bool VLCB::CAN2515::sendCanFrame ( CANFrame * frame)
overridevirtual

send a VLCB message

Implements VLCB::CanTransport.

◆ reset()

void VLCB::CAN2515::reset ( )
overridevirtual

reset the MCP2515 transceiver

Implements VLCB::Transport.

◆ getHardwareType()

virtual byte VLCB::CAN2515::getHardwareType ( )
inlineoverridevirtual

Get the hardware type of the concrete transport class.

Reimplemented from VLCB::CanTransport.

◆ setNumBuffers()

void VLCB::CAN2515::setNumBuffers ( byte num_rx_buffers,
byte num_tx_buffers = 0 )

set the number of CAN frame receive buffers this can be tuned according to bus load and available memory

◆ printStatus()

void VLCB::CAN2515::printStatus ( )

display the CAN bus status instrumentation

◆ setOscFreq()

void VLCB::CAN2515::setOscFreq ( unsigned long freq)

set the MCP2515 crystal frequency default is 16MHz but some modules have an 8MHz crystal

◆ setPins()

void VLCB::CAN2515::setPins ( byte cs_pin,
byte int_pin )

set the CS and interrupt pins - option to override defaults

◆ receiveCounter()

virtual unsigned int VLCB::CAN2515::receiveCounter ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ transmitCounter()

virtual unsigned int VLCB::CAN2515::transmitCounter ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ receiveErrorCounter()

virtual unsigned int VLCB::CAN2515::receiveErrorCounter ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ transmitErrorCounter()

virtual unsigned int VLCB::CAN2515::transmitErrorCounter ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ receiveBufferSize()

virtual unsigned int VLCB::CAN2515::receiveBufferSize ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ transmitBufferSize()

virtual unsigned int VLCB::CAN2515::transmitBufferSize ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ receiveBufferUsage()

virtual unsigned int VLCB::CAN2515::receiveBufferUsage ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ transmitBufferUsage()

virtual unsigned int VLCB::CAN2515::transmitBufferUsage ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ receiveBufferPeak()

virtual unsigned int VLCB::CAN2515::receiveBufferPeak ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ transmitBufferPeak()

virtual unsigned int VLCB::CAN2515::transmitBufferPeak ( )
inlineoverridevirtual

Implements VLCB::Transport.

◆ errorStatus()

virtual unsigned int VLCB::CAN2515::errorStatus ( )
inlineoverridevirtual

Implements VLCB::Transport.


The documentation for this class was generated from the following files: