Driver for the Microchip MCP2515 can controller.
More...
Driver for the Microchip MCP2515 can controller.
Definition of the MCP2515 SPI driver.
- Author
- Toon Stegen toon..nosp@m.steg.nosp@m.en@al.nosp@m.tran.nosp@m..com
Definition in file mcp2515_spi.h.
#include <stdint.h>
#include "candev_mcp2515.h"
Go to the source code of this file.
| int | mcp2515_spi_init (const candev_mcp2515_t *dev) |
| | Initialize SPI interface. More...
|
| |
| int | mcp2515_spi_reset (const candev_mcp2515_t *dev) |
| | Reset MCP2515 device though SPI interface. More...
|
| |
| int | mcp2515_spi_read (const candev_mcp2515_t *dev, uint8_t addr, uint8_t *buf, unsigned int len) |
| | Read the register value corresponding to addr. More...
|
| |
| int | mcp2515_spi_read_rxbuf (const candev_mcp2515_t *dev, uint8_t mailbox, void *buf, uint8_t len) |
| | Read the can data received in the rx mailbox. More...
|
| |
| int | mcp2515_spi_write (const candev_mcp2515_t *dev, uint8_t addr, uint8_t *buf, unsigned int len) |
| | Send the register value corresponding to addr. More...
|
| |
| int | mcp2515_spi_write_txbuf (const candev_mcp2515_t *dev, uint8_t mailbox, void *buf, uint8_t len) |
| | Send the can data to the tx mailbox. More...
|
| |
| int | mcp2515_spi_rts (const candev_mcp2515_t *dev, uint8_t mailbox) |
| | Initiate message transmission. More...
|
| |
| uint8_t | mcp2515_spi_read_status (const candev_mcp2515_t *dev) |
| | Read MCP2515 status over SPI interface. More...
|
| |
| int | mcp2515_spi_rx_status (const candev_mcp2515_t *dev) |
| | Read MCP2515 receive status over SPI interface. More...
|
| |
| int | mcp2515_spi_bitmod (const candev_mcp2515_t *dev, uint8_t addr, uint8_t mask, uint8_t buf) |
| | Bit modify instruction. More...
|
| |
◆ mcp2515_spi_bitmod()
| int mcp2515_spi_bitmod |
( |
const candev_mcp2515_t * |
dev, |
|
|
uint8_t |
addr, |
|
|
uint8_t |
mask, |
|
|
uint8_t |
buf |
|
) |
| |
Bit modify instruction.
The Bit Modify instruction provides a means for setting or clearing individual bits in specific status and control registers. This command is not available for all registers. Executing this command on registers that are not bit-modifiable will force the mask to FFh.
- Parameters
-
| [in] | dev | device descriptor |
| [in] | addr | register address |
| [in] | mask | mask to modify individual bit |
| [in] | buf | register value |
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_init()
Initialize SPI interface.
The device descriptor contains all information related to the SPI interface.
- Parameters
-
| [out] | dev | device descriptor |
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_read()
| int mcp2515_spi_read |
( |
const candev_mcp2515_t * |
dev, |
|
|
uint8_t |
addr, |
|
|
uint8_t * |
buf, |
|
|
unsigned int |
len |
|
) |
| |
Read the register value corresponding to addr.
- Parameters
-
| [in] | dev | device descriptor |
| [in] | addr | register addr |
| [out] | buf | buffer to receive register value |
| [in] | len | length of register value |
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_read_rxbuf()
| int mcp2515_spi_read_rxbuf |
( |
const candev_mcp2515_t * |
dev, |
|
|
uint8_t |
mailbox, |
|
|
void * |
buf, |
|
|
uint8_t |
len |
|
) |
| |
Read the can data received in the rx mailbox.
- Parameters
-
| [in] | dev | device descriptor |
| [in] | mailbox | rx mailbox |
| [out] | buf | buffer to receive can data |
| [in] | len | length of can data |
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_read_status()
Read MCP2515 status over SPI interface.
- Parameters
-
- Returns
- the read status
◆ mcp2515_spi_reset()
Reset MCP2515 device though SPI interface.
The MCP2515 device is reset by sending the right message over SPI interface.
- Parameters
-
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_rts()
Initiate message transmission.
The RTS command can be used to initiate message transmission for one or more of the transmit buffers.
- Parameters
-
| [in] | dev | device descriptor |
| [in] | mailbox | mailbox to enable transmission |
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_rx_status()
Read MCP2515 receive status over SPI interface.
- Parameters
-
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_write()
| int mcp2515_spi_write |
( |
const candev_mcp2515_t * |
dev, |
|
|
uint8_t |
addr, |
|
|
uint8_t * |
buf, |
|
|
unsigned int |
len |
|
) |
| |
Send the register value corresponding to addr.
- Parameters
-
| [in] | dev | device descriptor |
| [in] | addr | address to write |
| [in] | buf | buffer containing register data |
| [in] | len | buffer length |
- Returns
- 0 on success
-
<0 on error
◆ mcp2515_spi_write_txbuf()
| int mcp2515_spi_write_txbuf |
( |
const candev_mcp2515_t * |
dev, |
|
|
uint8_t |
mailbox, |
|
|
void * |
buf, |
|
|
uint8_t |
len |
|
) |
| |
Send the can data to the tx mailbox.
- Parameters
-
| [in] | dev | device descriptor |
| [in] | mailbox | tx mailbox |
| [in] | buf | buffer containing can data |
| [in] | len | buffer length |
- Returns
- 0 on success
-
<0 on error