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)
-