2.5. can
— CAN bus¶
Source code: src/drivers/can.h, src/drivers/can.c
Test code: tst/drivers/can/main.c
Functions
-
int
can_init
(struct can_driver_t *self_p, struct can_device_t *dev_p, uint32_t speed, void *rxbuf_p, size_t size)¶ Initialize given driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p
-Driver object to initialize.
dev_p
-Device to use.
speed
-Can bus speed.
rxbuf_p
-Reception buffer.
size
-Size of the reception buffer.
-
int
can_start
(struct can_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
can_stop
(struct can_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.
-
int
can_read
(struct can_driver_t *self_p, struct can_frame_t *frame_p, size_t size)¶ Read one or more CAN frames.
- Return
- zero(0) or negative error code.
- Parameters
self_p
-Initialized driver object.
frame_p
-Array of read frames.
size
-Size of frames buffer in words.
-
int
can_write
(struct can_driver_t *self_p, const struct can_frame_t *frame_p, size_t size)¶ Write one or more CAN frames.
- Return
- zero(0) or negative error code.
- Parameters
self_p
-Initialized driver object.
frame_p
-Array of frames to write.
size
-Size of frames buffer in words.
Variables
-
struct can_device_t
can_device
[CAN_DEVICE_MAX]¶
-
struct
can_frame_t
¶