====== CAN-Functions ======
====The can_t Structure====
CAN communication between the used CAN boards is (on the programming
level) accessed through the use of a structure named can_t which is defined in
"can.h". The structure can_t consists of variables that can be written to prepare a
message for sending or read to process a received message. Here is an overview
of the variables of this structure:
Structure can_t:
uint32_t id: // message ID
struct flags
int rtr: // remote-transmit-request-frame
int extended: // extended ID ?
uint8_t length: // number of data bytes
uint8_t data[8]: // message data
====Functions for CAN Communication====
The header file "can.h" declares various functions necessary for CAN communi-
cation. The CAN library is open source. The following functions are sufficient
for basic communication:
**Initialization of the CAN interface, setting of the baud rate:**
extern bool can_init(can_bitrate_t bitrate);
// Check if a CAN message has been received (function returns TRUE or FALSE):
extern bool can_check_message(void);
// Retrieving a message out of the receive buffers of the CAN controller:
extern uint8_t can_get_message(can_t *msg);
// Sending a message over the CAN Bus:
extern uint8_t can_send_message(const can_t *msg);