3.4.7. mcp2515
— CAN BUS chipset¶
MCP2515 is a CAN controller.

Source code: src/drivers/network/mcp2515.h, src/drivers/network/mcp2515.c
Test code: tst/drivers/hardware/network/mcp2515/main.c
Functions
-
int
mcp2515_init
(struct mcp2515_driver_t *self_p, struct spi_device_t *spi_p, struct pin_device_t *cs_p, struct exti_device_t *exti_p, void *chin_p, int mode, int speed)¶ Initialize given driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Driver object to initialize.spi_p
: SPI driver to use.cs_p
: SPI chip select pin.exti_p
: External interrupt tp use.chin_p
: Frames received from the hardware are written to this channel.mode
: Device mode.speed
: CAN bus speed in kbps.
-
int
mcp2515_start
(struct mcp2515_driver_t *self_p)¶ Starts the CAN device using given driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized driver object.
-
int
mcp2515_stop
(struct mcp2515_driver_t *self_p)¶ Stops the CAN device referenced by driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized driver object.
-
ssize_t
mcp2515_read
(struct mcp2515_driver_t *self_p, struct mcp2515_frame_t *frame_p)¶ Read a CAN frame.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized driver object.frame_p
: Read frame.
-
ssize_t
mcp2515_write
(struct mcp2515_driver_t *self_p, const struct mcp2515_frame_t *frame_p)¶ Write a CAN frame.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized driver object.frame_p
: Frame to write.
-
struct
mcp2515_frame_t
¶
-
struct
mcp2515_driver_t
¶ Public Functions
-
mcp2515_driver_t::THRD_STACK(stack, 1024)
-