CAN Bus Soldered Arduino Library 1.0.0
This is a library for the MCP2518 Can Bus Breakout by Soldered
Loading...
Searching...
No Matches
mcp2518fd Class Reference

#include <mcp2518fd_can.h>

Inherits MCP_CAN.

Inherited by CANBus.

Public Member Functions

 mcp2518fd (byte _CS)
 
virtual void enableTxInterrupt (bool enable=true)
 
virtual void reserveTxBuffers (byte nTxBuf=0)
 
virtual byte getLastTxBuffer ()
 
virtual byte begin (uint32_t speedset, const byte clockset=MCP2518FD_20MHz)
 Init can and set speed.
 
virtual byte init_Mask (byte num, byte ext, unsigned long ulData)
 
virtual byte init_Filt (byte num, byte ext, unsigned long ulData)
 
virtual byte CANFDSPI_FilterDisable (CAN_FILTER filter)
 
virtual byte init_Filt_Mask (byte num, byte ext, unsigned long f, unsigned long m)
 
virtual void setSleepWakeup (const byte enable)
 
virtual byte sleep ()
 
virtual byte wake ()
 
virtual byte __setMode (const byte opMode)
 
virtual byte setMode (const byte opMode)
 
virtual byte getMode ()
 
virtual byte checkError (uint8_t *err_ptr=NULL)
 
virtual byte checkReceive (void)
 
virtual byte readMsgBufID (byte status, volatile unsigned long *id, volatile byte *ext, volatile byte *rtr, volatile byte *len, volatile byte *buf)
 
byte readMsgBufID (unsigned long *ID, byte *len, byte *buf)
 
byte readMsgBuf (byte *len, byte *buf)
 
virtual byte trySendMsgBuf (unsigned long id, byte ext, byte rtr, byte dlc, const byte *buf, byte iTxBuf=0xff)
 
virtual byte sendMsgBuf (byte status, unsigned long id, byte ext, byte rtr, byte dlc, volatile const byte *buf)
 
virtual byte sendMsgBuf (unsigned long id, byte ext, byte rtr, byte dlc, const byte *buf, bool wait_sent=true)
 
byte sendMsgBuf (unsigned long id, byte ext, byte len, const byte *buf)
 
virtual void clearBufferTransmitIfFlags (byte flags=0)
 
virtual byte readRxTxStatus (void)
 Read RX and TX interrupt bits. Function uses status reading, but translates.
 
virtual byte checkClearRxStatus (byte *status)
 Return first found rx CANINTF status and clears it from parameter.
 
virtual byte checkClearTxStatus (byte *status, byte iTxBuf=0xff)
 Return specified buffer of first found tx CANINTF status and clears it from parameter.
 
virtual bool mcpPinMode (const byte pin, const byte mode)
 switch supported pins between HiZ, interrupt, output
 
virtual bool mcpDigitalWrite (const byte pin, const byte mode)
 write HIGH or LOW from supported pins
 
virtual byte mcpDigitalRead (const byte pin)
 read HIGH or LOW from supported pins
 
- Public Member Functions inherited from MCP_CAN
unsigned long getCanId (void)
 
byte isRemoteRequest (void)
 
byte isExtendedFrame (void)
 
 MCP_CAN (byte _CS)
 
void init_CS (byte _CS)
 
void setSPI (SPIClass *_pSPI)
 

Private Member Functions

byte mcp2518fd_readMsgBufID (volatile byte *len, volatile byte *buf)
 
byte mcp2518fd_sendMsg (const byte *buf, byte len, unsigned long id, byte ext, byte rtr, bool wait_sent)
 
int8_t mcp2518fd_receiveMsg ()
 
uint8_t mcp2518fd_init (uint32_t speedset, const byte clock)
 
int8_t mcp2518fd_reset (void)
 Resets device.
 
int8_t mcp2518fd_EccEnable (void)
 Enable error correcting code.
 
int8_t mcp2518fd_RamInit (uint8_t d)
 Initialize RAM.
 
int8_t mcp2518fd_ConfigureObjectReset (CAN_CONFIG *config)
 Configure object reset.
 
int8_t mcp2518fd_Configure (CAN_CONFIG *config)
 Sets all configuration data from CAN_CONFIG structure.
 
int8_t mcp2518fd_TransmitChannelConfigureObjectReset (CAN_TX_FIFO_CONFIG *config)
 
int8_t mcp2518fd_TransmitChannelConfigure (CAN_FIFO_CHANNEL channel, CAN_TX_FIFO_CONFIG *config)
 
int8_t mcp2518fd_ReceiveChannelConfigureObjectReset (CAN_RX_FIFO_CONFIG *config)
 
int8_t mcp2518fd_ReceiveChannelConfigure (CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_CONFIG *config)
 
int8_t mcp2518fd_FilterObjectConfigure (CAN_FILTER filter, CAN_FILTEROBJ_ID *id)
 
int8_t mcp2518fd_FilterMaskConfigure (CAN_FILTER filter, CAN_MASKOBJ_ID *mask)
 
int8_t mcp2518fd_FilterToFifoLink (CAN_FILTER filter, CAN_FIFO_CHANNEL channel, bool enable)
 
int8_t mcp2518fd_BitTimeConfigure (uint32_t speedset, CAN_SSP_MODE sspMode, CAN_SYSCLK_SPEED clk)
 
int8_t mcp2518fd_GpioModeConfigure (GPIO_PIN_MODE gpio0, GPIO_PIN_MODE gpio1)
 
int8_t mcp2518fd_TransmitChannelEventEnable (CAN_FIFO_CHANNEL channel, CAN_TX_FIFO_EVENT flags)
 
int8_t mcp2518fd_ReceiveChannelEventEnable (CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_EVENT flags)
 
int8_t mcp2518fd_ModuleEventEnable (CAN_MODULE_EVENT flags)
 
int8_t mcp2518fd_OperationModeSelect (CAN_OPERATION_MODE opMode)
 
CAN_OPERATION_MODE mcp2518fd_OperationModeGet ()
 
void mcp2518fd_TransmitMessageQueue ()
 
int8_t mcp2518fd_TransmitChannelEventGet (CAN_FIFO_CHANNEL channel, CAN_TX_FIFO_EVENT *flags)
 
int8_t mcp2518fd_ErrorCountStateGet (uint8_t *tec, uint8_t *rec, CAN_ERROR_STATE *flags)
 
int8_t mcp2518fd_TransmitChannelLoad (CAN_FIFO_CHANNEL channel, CAN_TX_MSGOBJ *txObj, uint8_t *txd, uint32_t txdNumBytes, bool flush)
 
int8_t mcp2518fd_ReceiveChannelEventGet (CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_EVENT *flags)
 
int8_t mcp2518fd_ReceiveMessageGet (CAN_FIFO_CHANNEL channel, CAN_RX_MSGOBJ *rxObj, uint8_t *rxd, uint8_t nBytes)
 
int8_t mcp2518fd_ReceiveChannelUpdate (CAN_FIFO_CHANNEL channel)
 
int8_t mcp2518fd_TransmitChannelUpdate (CAN_FIFO_CHANNEL channel, bool flush)
 
int8_t mcp2518fd_ReceiveChannelStatusGet (CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_STATUS *status)
 
int8_t mcp2518fd_ErrorStateGet (CAN_ERROR_STATE *flags)
 
int8_t mcp2518fd_ModuleEventRxCodeGet (CAN_RXCODE *rxCode)
 
int8_t mcp2518fd_ModuleEventTxCodeGet (CAN_TXCODE *txCode)
 
int8_t mcp2518fd_TransmitChannelEventAttemptClear (CAN_FIFO_CHANNEL channel)
 
int8_t mcp2518fd_LowPowerModeEnable ()
 
int8_t mcp2518fd_LowPowerModeDisable ()
 
int8_t mcp2518fd_ReadByte (uint16_t address, uint8_t *rxd)
 Reads byte from breakout board.
 
int8_t mcp2518fd_WriteByte (uint16_t address, uint8_t txd)
 Writes byte to breakout board.
 
int8_t mcp2518fd_ReadWord (uint16_t address, uint32_t *rxd)
 Reads 32 bit word from breakout board.
 
int8_t mcp2518fd_WriteWord (uint16_t address, uint32_t txd)
 Writes 32 bit word to breakout board.
 
int8_t mcp2518fd_ReadHalfWord (uint16_t address, uint16_t *rxd)
 Reads 16 bit word from breakout board.
 
int8_t mcp2518fd_WriteHalfWord (uint16_t address, uint16_t txd)
 Writes 16 bit word to breakout board.
 
int8_t mcp2518fd_ReadByteArray (uint16_t address, uint8_t *rxd, uint16_t nBytes)
 Reads n bytes from breakout board.
 
int8_t mcp2518fd_WriteByteArray (uint16_t address, uint8_t *txd, uint16_t nBytes)
 Writes n bytes to breakout board.
 
int8_t mcp2518fd_WriteByteSafe (uint16_t address, uint8_t txd)
 Writes byte to breakout board with CRC method.
 
int8_t mcp2518fd_WriteWordSafe (uint16_t address, uint32_t txd)
 Writes 32 bit word to breakout board with CRC method.
 
int8_t mcp2518fd_ReadByteArrayWithCRC (uint16_t address, uint8_t *rxd, uint16_t nBytes, bool fromRam, bool *crcIsCorrect)
 Reads byteS from breakout board with CRC method.
 
int8_t mcp2518fd_WriteByteArrayWithCRC (uint16_t address, uint8_t *txd, uint16_t nBytes, bool fromRam)
 Write bytes to breakout board with CRC method.
 
int8_t mcp2518fd_ReadWordArray (uint16_t address, uint32_t *rxd, uint16_t nWords)
 Read 32 bit words from breakout board.
 
int8_t mcp2518fd_WriteWordArray (uint16_t address, uint32_t *txd, uint16_t nWords)
 Write 32 bit words to breakout board.
 
int8_t mcp2518fd_BitTimeConfigureNominal (void)
 
int8_t mcp2518fd_BitTimeConfigureData (CAN_SSP_MODE sspMode)
 
uint32_t bittime_compat_to_mcp2518fd (uint32_t speedset)
 
int calcBittime (const uint32_t inDesiredArbitrationBitRate, const uint32_t inTolerancePPM=10000)
 Bittime calculation.
 

Private Attributes

byte nReservedTx
 
CAN_OPERATION_MODE mcpMode = CAN_CLASSIC_MODE
 
uint32_t mSysClock
 
uint32_t mDesiredArbitrationBitRate
 
uint8_t mDataBitRateFactor
 
uint8_t mDataPhaseSegment1 = 0
 
uint8_t mDataPhaseSegment2 = 0
 
uint8_t mDataSJW = 0
 
uint16_t mBitRatePrescaler = 0
 
uint16_t mArbitrationPhaseSegment1 = 0
 
uint8_t mArbitrationPhaseSegment2 = 0
 
uint8_t mArbitrationSJW = 0
 
bool mArbitrationBitRateClosedToDesiredRate = false
 
int8_t mTDCO = 0
 

Additional Inherited Members

- Protected Attributes inherited from MCP_CAN
byte ext_flg
 
unsigned long can_id
 
byte rtr
 
byte SPICS
 
SPIClass * pSPI
 
byte mcpMode
 

Constructor & Destructor Documentation

◆ mcp2518fd()

mcp2518fd::mcp2518fd ( byte _CS)
inline

Member Function Documentation

◆ __setMode()

byte mcp2518fd::__setMode ( const byte opMode)
virtual

Implements MCP_CAN.

◆ begin()

byte mcp2518fd::begin ( uint32_t speedset,
const byte clockset = MCP2518FD_20MHz )
virtual

Init can and set speed.

Parameters
speedset- Data transmission rate
clockset- Frequency set

Implements MCP_CAN.

◆ bittime_compat_to_mcp2518fd()

uint32_t mcp2518fd::bittime_compat_to_mcp2518fd ( uint32_t speedset)
private

◆ calcBittime()

int mcp2518fd::calcBittime ( const uint32_t inDesiredArbitrationBitRate,
const uint32_t inTolerancePPM = 10000 )
private

Bittime calculation.

◆ CANFDSPI_FilterDisable()

byte mcp2518fd::CANFDSPI_FilterDisable ( CAN_FILTER filter)
virtual

◆ checkClearRxStatus()

byte mcp2518fd::checkClearRxStatus ( byte * status)
virtual

Return first found rx CANINTF status and clears it from parameter.

Parameters
*status-
Returns
Return first found rx CANINTF status and clears it from parameter.

Implements MCP_CAN.

◆ checkClearTxStatus()

byte mcp2518fd::checkClearTxStatus ( byte * status,
byte iTxBuf = 0xff )
virtual

Return specified buffer of first found tx CANINTF status and clears it from parameter.

Parameters
*status-
iTxBuf-
Returns
Return specified buffer of first found tx CANINTF status and clears it from parameter.

Implements MCP_CAN.

◆ checkError()

byte mcp2518fd::checkError ( uint8_t * err_ptr = NULL)
virtual

Implements MCP_CAN.

◆ checkReceive()

byte mcp2518fd::checkReceive ( void )
virtual

Implements MCP_CAN.

◆ clearBufferTransmitIfFlags()

void mcp2518fd::clearBufferTransmitIfFlags ( byte flags = 0)
virtual

Implements MCP_CAN.

◆ enableTxInterrupt()

void mcp2518fd::enableTxInterrupt ( bool enable = true)
virtual

Implements MCP_CAN.

◆ getLastTxBuffer()

virtual byte mcp2518fd::getLastTxBuffer ( )
inlinevirtual

Implements MCP_CAN.

◆ getMode()

byte mcp2518fd::getMode ( )
virtual

Implements MCP_CAN.

◆ init_Filt()

byte mcp2518fd::init_Filt ( byte num,
byte ext,
unsigned long ulData )
virtual

Implements MCP_CAN.

◆ init_Filt_Mask()

byte mcp2518fd::init_Filt_Mask ( byte num,
byte ext,
unsigned long f,
unsigned long m )
virtual

◆ init_Mask()

byte mcp2518fd::init_Mask ( byte num,
byte ext,
unsigned long ulData )
virtual

Implements MCP_CAN.

◆ mcp2518fd_BitTimeConfigure()

int8_t mcp2518fd::mcp2518fd_BitTimeConfigure ( uint32_t speedset,
CAN_SSP_MODE sspMode,
CAN_SYSCLK_SPEED clk )
private

◆ mcp2518fd_BitTimeConfigureData()

int8_t mcp2518fd::mcp2518fd_BitTimeConfigureData ( CAN_SSP_MODE sspMode)
private

◆ mcp2518fd_BitTimeConfigureNominal()

int8_t mcp2518fd::mcp2518fd_BitTimeConfigureNominal ( void )
private

◆ mcp2518fd_Configure()

int8_t mcp2518fd::mcp2518fd_Configure ( CAN_CONFIG * config)
private

Sets all configuration data from CAN_CONFIG structure.

Parameters
*configStructure containig config data

◆ mcp2518fd_ConfigureObjectReset()

int8_t mcp2518fd::mcp2518fd_ConfigureObjectReset ( CAN_CONFIG * config)
private

Configure object reset.

◆ mcp2518fd_EccEnable()

int8_t mcp2518fd::mcp2518fd_EccEnable ( void )
private

Enable error correcting code.

◆ mcp2518fd_ErrorCountStateGet()

int8_t mcp2518fd::mcp2518fd_ErrorCountStateGet ( uint8_t * tec,
uint8_t * rec,
CAN_ERROR_STATE * flags )
private

◆ mcp2518fd_ErrorStateGet()

int8_t mcp2518fd::mcp2518fd_ErrorStateGet ( CAN_ERROR_STATE * flags)
private

◆ mcp2518fd_FilterMaskConfigure()

int8_t mcp2518fd::mcp2518fd_FilterMaskConfigure ( CAN_FILTER filter,
CAN_MASKOBJ_ID * mask )
private

◆ mcp2518fd_FilterObjectConfigure()

int8_t mcp2518fd::mcp2518fd_FilterObjectConfigure ( CAN_FILTER filter,
CAN_FILTEROBJ_ID * id )
private

◆ mcp2518fd_FilterToFifoLink()

int8_t mcp2518fd::mcp2518fd_FilterToFifoLink ( CAN_FILTER filter,
CAN_FIFO_CHANNEL channel,
bool enable )
private

◆ mcp2518fd_GpioModeConfigure()

int8_t mcp2518fd::mcp2518fd_GpioModeConfigure ( GPIO_PIN_MODE gpio0,
GPIO_PIN_MODE gpio1 )
private

◆ mcp2518fd_init()

uint8_t mcp2518fd::mcp2518fd_init ( uint32_t speedset,
const byte clock )
private

◆ mcp2518fd_LowPowerModeDisable()

int8_t mcp2518fd::mcp2518fd_LowPowerModeDisable ( )
private

◆ mcp2518fd_LowPowerModeEnable()

int8_t mcp2518fd::mcp2518fd_LowPowerModeEnable ( )
private

◆ mcp2518fd_ModuleEventEnable()

int8_t mcp2518fd::mcp2518fd_ModuleEventEnable ( CAN_MODULE_EVENT flags)
private

◆ mcp2518fd_ModuleEventRxCodeGet()

int8_t mcp2518fd::mcp2518fd_ModuleEventRxCodeGet ( CAN_RXCODE * rxCode)
private

◆ mcp2518fd_ModuleEventTxCodeGet()

int8_t mcp2518fd::mcp2518fd_ModuleEventTxCodeGet ( CAN_TXCODE * txCode)
private

◆ mcp2518fd_OperationModeGet()

CAN_OPERATION_MODE mcp2518fd::mcp2518fd_OperationModeGet ( )
private

◆ mcp2518fd_OperationModeSelect()

int8_t mcp2518fd::mcp2518fd_OperationModeSelect ( CAN_OPERATION_MODE opMode)
private

◆ mcp2518fd_RamInit()

int8_t mcp2518fd::mcp2518fd_RamInit ( uint8_t d)
private

Initialize RAM.

◆ mcp2518fd_ReadByte()

int8_t mcp2518fd::mcp2518fd_ReadByte ( uint16_t address,
uint8_t * rxd )
private

Reads byte from breakout board.

Parameters
address- Address of byte to read
*rxd- Buffer to receive data in

◆ mcp2518fd_ReadByteArray()

int8_t mcp2518fd::mcp2518fd_ReadByteArray ( uint16_t address,
uint8_t * rxd,
uint16_t nBytes )
private

Reads n bytes from breakout board.

Parameters
address- Address of first byte to read
*rxd- Buffer to receive data in
nBytes- number of bytes to read

◆ mcp2518fd_ReadByteArrayWithCRC()

int8_t mcp2518fd::mcp2518fd_ReadByteArrayWithCRC ( uint16_t address,
uint8_t * rxd,
uint16_t nBytes,
bool fromRam,
bool * crcIsCorrect )
private

Reads byteS from breakout board with CRC method.

Parameters
address- Address of first byte to read
*rxd- Buffer to store bytes
nBytes- Number of bytes to read
fromRam-
*crcIsCorrect- Variable containig feedback about CRC

◆ mcp2518fd_ReadHalfWord()

int8_t mcp2518fd::mcp2518fd_ReadHalfWord ( uint16_t address,
uint16_t * rxd )
private

Reads 16 bit word from breakout board.

Parameters
address- Address of word to read
*rxd- Buffer to receive data in

◆ mcp2518fd_readMsgBufID()

byte mcp2518fd::mcp2518fd_readMsgBufID ( volatile byte * len,
volatile byte * buf )
private

◆ mcp2518fd_ReadWord()

int8_t mcp2518fd::mcp2518fd_ReadWord ( uint16_t address,
uint32_t * rxd )
private

Reads 32 bit word from breakout board.

Parameters
address- Address of word to read
*rxd- Buffer to receive data in

◆ mcp2518fd_ReadWordArray()

int8_t mcp2518fd::mcp2518fd_ReadWordArray ( uint16_t address,
uint32_t * rxd,
uint16_t nWords )
private

Read 32 bit words from breakout board.

Parameters
address- Address of first word to read
*rxd- buffer to store read bytes
nWords- Number of words to read

◆ mcp2518fd_ReceiveChannelConfigure()

int8_t mcp2518fd::mcp2518fd_ReceiveChannelConfigure ( CAN_FIFO_CHANNEL channel,
CAN_RX_FIFO_CONFIG * config )
private

◆ mcp2518fd_ReceiveChannelConfigureObjectReset()

int8_t mcp2518fd::mcp2518fd_ReceiveChannelConfigureObjectReset ( CAN_RX_FIFO_CONFIG * config)
private

◆ mcp2518fd_ReceiveChannelEventEnable()

int8_t mcp2518fd::mcp2518fd_ReceiveChannelEventEnable ( CAN_FIFO_CHANNEL channel,
CAN_RX_FIFO_EVENT flags )
private

◆ mcp2518fd_ReceiveChannelEventGet()

int8_t mcp2518fd::mcp2518fd_ReceiveChannelEventGet ( CAN_FIFO_CHANNEL channel,
CAN_RX_FIFO_EVENT * flags )
private

◆ mcp2518fd_ReceiveChannelStatusGet()

int8_t mcp2518fd::mcp2518fd_ReceiveChannelStatusGet ( CAN_FIFO_CHANNEL channel,
CAN_RX_FIFO_STATUS * status )
private

◆ mcp2518fd_ReceiveChannelUpdate()

int8_t mcp2518fd::mcp2518fd_ReceiveChannelUpdate ( CAN_FIFO_CHANNEL channel)
private

◆ mcp2518fd_ReceiveMessageGet()

int8_t mcp2518fd::mcp2518fd_ReceiveMessageGet ( CAN_FIFO_CHANNEL channel,
CAN_RX_MSGOBJ * rxObj,
uint8_t * rxd,
uint8_t nBytes )
private

◆ mcp2518fd_receiveMsg()

int8_t mcp2518fd::mcp2518fd_receiveMsg ( )
private

◆ mcp2518fd_reset()

int8_t mcp2518fd::mcp2518fd_reset ( void )
private

Resets device.

Returns
returns SPI transmission ok or not

◆ mcp2518fd_sendMsg()

byte mcp2518fd::mcp2518fd_sendMsg ( const byte * buf,
byte len,
unsigned long id,
byte ext,
byte rtr,
bool wait_sent )
private

◆ mcp2518fd_TransmitChannelConfigure()

int8_t mcp2518fd::mcp2518fd_TransmitChannelConfigure ( CAN_FIFO_CHANNEL channel,
CAN_TX_FIFO_CONFIG * config )
private

◆ mcp2518fd_TransmitChannelConfigureObjectReset()

int8_t mcp2518fd::mcp2518fd_TransmitChannelConfigureObjectReset ( CAN_TX_FIFO_CONFIG * config)
private

◆ mcp2518fd_TransmitChannelEventAttemptClear()

int8_t mcp2518fd::mcp2518fd_TransmitChannelEventAttemptClear ( CAN_FIFO_CHANNEL channel)
private

◆ mcp2518fd_TransmitChannelEventEnable()

int8_t mcp2518fd::mcp2518fd_TransmitChannelEventEnable ( CAN_FIFO_CHANNEL channel,
CAN_TX_FIFO_EVENT flags )
private

◆ mcp2518fd_TransmitChannelEventGet()

int8_t mcp2518fd::mcp2518fd_TransmitChannelEventGet ( CAN_FIFO_CHANNEL channel,
CAN_TX_FIFO_EVENT * flags )
private

◆ mcp2518fd_TransmitChannelLoad()

int8_t mcp2518fd::mcp2518fd_TransmitChannelLoad ( CAN_FIFO_CHANNEL channel,
CAN_TX_MSGOBJ * txObj,
uint8_t * txd,
uint32_t txdNumBytes,
bool flush )
private

◆ mcp2518fd_TransmitChannelUpdate()

int8_t mcp2518fd::mcp2518fd_TransmitChannelUpdate ( CAN_FIFO_CHANNEL channel,
bool flush )
private

◆ mcp2518fd_TransmitMessageQueue()

void mcp2518fd::mcp2518fd_TransmitMessageQueue ( void )
private

◆ mcp2518fd_WriteByte()

int8_t mcp2518fd::mcp2518fd_WriteByte ( uint16_t address,
uint8_t txd )
private

Writes byte to breakout board.

Parameters
address- Address of byte to write
txd- Byte to write

◆ mcp2518fd_WriteByteArray()

int8_t mcp2518fd::mcp2518fd_WriteByteArray ( uint16_t address,
uint8_t * txd,
uint16_t nBytes )
private

Writes n bytes to breakout board.

Parameters
address- Address of first byte to write
*txd- Buffer with data to be sent
nBytes- number of bytes to write

◆ mcp2518fd_WriteByteArrayWithCRC()

int8_t mcp2518fd::mcp2518fd_WriteByteArrayWithCRC ( uint16_t address,
uint8_t * txd,
uint16_t nBytes,
bool fromRam )
private

Write bytes to breakout board with CRC method.

Parameters
address- Address of first byte to write
*txd- Bytes to write
nBytes- Number of bytes to write
fromRam-

◆ mcp2518fd_WriteByteSafe()

int8_t mcp2518fd::mcp2518fd_WriteByteSafe ( uint16_t address,
uint8_t txd )
private

Writes byte to breakout board with CRC method.

Parameters
address- Address of byte to write
txd- Byte to write

◆ mcp2518fd_WriteHalfWord()

int8_t mcp2518fd::mcp2518fd_WriteHalfWord ( uint16_t address,
uint16_t txd )
private

Writes 16 bit word to breakout board.

Parameters
address- Address of word to write
txd- Byte to write

◆ mcp2518fd_WriteWord()

int8_t mcp2518fd::mcp2518fd_WriteWord ( uint16_t address,
uint32_t txd )
private

Writes 32 bit word to breakout board.

Parameters
address- Address of word to write
txd- Byte to write

◆ mcp2518fd_WriteWordArray()

int8_t mcp2518fd::mcp2518fd_WriteWordArray ( uint16_t address,
uint32_t * txd,
uint16_t nWords )
private

Write 32 bit words to breakout board.

Parameters
address- Address of first word to write
*txd- Words to write
nWords- Number of words to write

◆ mcp2518fd_WriteWordSafe()

int8_t mcp2518fd::mcp2518fd_WriteWordSafe ( uint16_t address,
uint32_t txd )
private

Writes 32 bit word to breakout board with CRC method.

Parameters
address- Address of word to write
txd- Word to write

◆ mcpDigitalRead()

byte mcp2518fd::mcpDigitalRead ( const byte pin)
virtual

read HIGH or LOW from supported pins

Parameters
pin- Pin to read
Returns
state

Implements MCP_CAN.

◆ mcpDigitalWrite()

bool mcp2518fd::mcpDigitalWrite ( const byte pin,
const byte mode )
virtual

write HIGH or LOW from supported pins

Parameters
pin- Pin to modify
Returns
SPI transfer error

Implements MCP_CAN.

◆ mcpPinMode()

bool mcp2518fd::mcpPinMode ( const byte pin,
const byte mode )
virtual

switch supported pins between HiZ, interrupt, output

Parameters
pin- Pin to modify
Returns
SPI transfer error

Implements MCP_CAN.

◆ readMsgBuf()

byte mcp2518fd::readMsgBuf ( byte * len,
byte * buf )
inlinevirtual

Implements MCP_CAN.

◆ readMsgBufID() [1/2]

byte mcp2518fd::readMsgBufID ( byte status,
volatile unsigned long * id,
volatile byte * ext,
volatile byte * rtr,
volatile byte * len,
volatile byte * buf )
virtual

Implements MCP_CAN.

◆ readMsgBufID() [2/2]

byte mcp2518fd::readMsgBufID ( unsigned long * ID,
byte * len,
byte * buf )
inlinevirtual

Implements MCP_CAN.

◆ readRxTxStatus()

byte mcp2518fd::readRxTxStatus ( void )
virtual

Read RX and TX interrupt bits. Function uses status reading, but translates.

Returns
RX and TX interrupt bits.

Implements MCP_CAN.

◆ reserveTxBuffers()

virtual void mcp2518fd::reserveTxBuffers ( byte nTxBuf = 0)
inlinevirtual

Implements MCP_CAN.

◆ sendMsgBuf() [1/3]

byte mcp2518fd::sendMsgBuf ( byte status,
unsigned long id,
byte ext,
byte rtr,
byte dlc,
volatile const byte * buf )
virtual

Implements MCP_CAN.

◆ sendMsgBuf() [2/3]

byte mcp2518fd::sendMsgBuf ( unsigned long id,
byte ext,
byte len,
const byte * buf )
inline

◆ sendMsgBuf() [3/3]

byte mcp2518fd::sendMsgBuf ( unsigned long id,
byte ext,
byte rtr,
byte dlc,
const byte * buf,
bool wait_sent = true )
virtual

Implements MCP_CAN.

◆ setMode()

virtual byte mcp2518fd::setMode ( const byte opMode)
inlinevirtual

◆ setSleepWakeup()

void mcp2518fd::setSleepWakeup ( const byte enable)
virtual

Implements MCP_CAN.

◆ sleep()

byte mcp2518fd::sleep ( )
virtual

Implements MCP_CAN.

◆ trySendMsgBuf()

byte mcp2518fd::trySendMsgBuf ( unsigned long id,
byte ext,
byte rtr,
byte dlc,
const byte * buf,
byte iTxBuf = 0xff )
virtual

Implements MCP_CAN.

◆ wake()

byte mcp2518fd::wake ( )
virtual

Implements MCP_CAN.

Member Data Documentation

◆ mArbitrationBitRateClosedToDesiredRate

bool mcp2518fd::mArbitrationBitRateClosedToDesiredRate = false
private

◆ mArbitrationPhaseSegment1

uint16_t mcp2518fd::mArbitrationPhaseSegment1 = 0
private

◆ mArbitrationPhaseSegment2

uint8_t mcp2518fd::mArbitrationPhaseSegment2 = 0
private

◆ mArbitrationSJW

uint8_t mcp2518fd::mArbitrationSJW = 0
private

◆ mBitRatePrescaler

uint16_t mcp2518fd::mBitRatePrescaler = 0
private

◆ mcpMode

CAN_OPERATION_MODE mcp2518fd::mcpMode = CAN_CLASSIC_MODE
private

◆ mDataBitRateFactor

uint8_t mcp2518fd::mDataBitRateFactor
private

◆ mDataPhaseSegment1

uint8_t mcp2518fd::mDataPhaseSegment1 = 0
private

◆ mDataPhaseSegment2

uint8_t mcp2518fd::mDataPhaseSegment2 = 0
private

◆ mDataSJW

uint8_t mcp2518fd::mDataSJW = 0
private

◆ mDesiredArbitrationBitRate

uint32_t mcp2518fd::mDesiredArbitrationBitRate
private

◆ mSysClock

uint32_t mcp2518fd::mSysClock
private

◆ mTDCO

int8_t mcp2518fd::mTDCO = 0
private

◆ nReservedTx

byte mcp2518fd::nReservedTx
private

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