Vehicle Control Unit 0.01
This is the c library for controlling the car.
|
Go to the source code of this file.
Classes | |
struct | CAN_Signal_Template |
struct | CAN_Signal |
struct | CAN_Message_Template |
struct | CAN_Message |
struct | CAN_MessageList |
Macros | |
#define | MAX_SIGNALS 8 |
#define | MAX_SIGNAL_NAME_LENGTH 32 |
#define | MAX_UNIT_NAME_LENGTH 32 |
#define | MAX_NODE_NAME_LENGTH 32 |
#define | MAX_MESSAGE_NAME_LENGTH 32 |
#define | MAX_BUS 2 |
#define | MAX_MESSAGES 128 |
Typedefs | |
typedef struct CAN_Signal_Template | CAN_Signal_Template |
typedef struct CAN_Signal | CAN_Signal |
typedef struct CAN_Message_Template | CAN_Message_Template |
typedef struct CAN_Message | CAN_Message |
typedef enum CANBus | CANBus |
typedef enum CANProtocol | CANProtocol |
typedef enum CANBaudrate | CANBaudrate |
typedef struct CAN_MessageList | CAN_MessageList |
Enumerations | |
enum | CANBus { CAN_1 = 0 , CAN_2 = 1 } |
enum | CANProtocol { CAN_2A = 0 , CAN_2B = 1 } |
enum | CANBaudrate { CAN_100KBPS = 100000 , CAN_125KBPS = 125000 , CAN_250KBPS = 250000 , CAN_500KBPS = 500000 , CAN_1MBPS = 1000000 } |
Functions | |
int | init_CANBus (CANBus bus) |
Initializes the CANBus struct. More... | |
int | load_dbc_file (CANBus bus, const unsigned char *filename) |
Loads a DBC file into the CAN database. Makes the messages and signals and stores them in the list. More... | |
int | add_message (CANBus bus, CAN_Message_Template message) |
Adds a message to the CAN message list. More... | |
int | add_message_lop (CANBus bus, int id, int dlc, int ide, int rtr, const char *name, const char *sender, int signal_count, CAN_Signal_Template *signals) |
Adds a message to the CAN message list by passing in the individual message parameters hence "LOP" (List of Parameters) More... | |
int | send_CAN_message (CANBus bus, CANProtocol protocol, uint32_t id, uint8_t *data, uint8_t len) |
Sends a CAN message. More... | |
void | receive_CAN_message (CAN_RxHeaderTypeDef *header, uint8_t *data, CANBus bus) |
Receives a CAN message. More... | |
void | parseMessage (CAN_MessageList *messages, CAN_Message *can_message) |
Parses a CAN message. More... | |
void | parseSignals (CAN_Message_Template *message, CAN_Message *can_message) |
Parses signals in a CAN message. More... | |
void | parseSignal (CAN_Signal_Template *signal, CAN_Signal *can_signal, CAN_Message *can_message) |
Parses a CAN signal. More... | |
void | print_CAN_Messages_Lists () |
Prints the CAN message list. More... | |
typedef struct CAN_Message CAN_Message |
typedef struct CAN_Message_Template CAN_Message_Template |
typedef struct CAN_MessageList CAN_MessageList |
typedef struct CAN_Signal CAN_Signal |
typedef struct CAN_Signal_Template CAN_Signal_Template |
typedef enum CANBaudrate CANBaudrate |
typedef enum CANProtocol CANProtocol |
enum CANBaudrate |
Enumerator | |
---|---|
CAN_100KBPS | |
CAN_125KBPS | |
CAN_250KBPS | |
CAN_500KBPS | |
CAN_1MBPS |
Definition at line 112 of file Can.h.
enum CANBus |
enum CANProtocol |
Enumerator | |
---|---|
CAN_2A | |
CAN_2B |
Definition at line 104 of file Can.h.
int add_message | ( | CANBus | bus, |
CAN_Message_Template | message | ||
) |
Adds a message to the CAN message list.
bus | The CAN bus to add the message to |
message | The message to add |
Definition at line 48 of file Can.c.
int add_message_lop | ( | CANBus | bus, |
int | id, | ||
int | dlc, | ||
int | ide, | ||
int | rtr, | ||
const char * | name, | ||
const char * | sender, | ||
int | signal_count, | ||
CAN_Signal_Template * | signals | ||
) |
Adds a message to the CAN message list by passing in the individual message parameters hence "LOP" (List of Parameters)
bus | The CAN bus to add the message to |
id | The ID of the message |
dlc | The Data Length Code of the message |
ide | The Identifier Extension of the message |
rtr | The Remote Transmission Request of the message |
name | The name of the message |
sender | The sender of the message |
signal_count | The number of signals in the message |
signals | The signals in the message |
Definition at line 55 of file Can.c.
int init_CANBus | ( | CANBus | bus | ) |
int load_dbc_file | ( | CANBus | bus, |
const unsigned char * | filename | ||
) |
Loads a DBC file into the CAN database. Makes the messages and signals and stores them in the list.
bus | The CAN bus to load the DBC file into |
filename | The name of the DBC file to load |
Definition at line 25 of file Can.c.
void parseMessage | ( | CAN_MessageList * | messages, |
CAN_Message * | can_message | ||
) |
Parses a CAN message.
messages | The CAN message list |
can_message | The CAN message to parse |
Definition at line 135 of file Can.c.
void parseSignal | ( | CAN_Signal_Template * | signal, |
CAN_Signal * | can_signal, | ||
CAN_Message * | can_message | ||
) |
Parses a CAN signal.
signal | The CAN signal template |
can_signal | The CAN signal to parse |
can_message | The CAN message to parse |
Definition at line 160 of file Can.c.
void parseSignals | ( | CAN_Message_Template * | message, |
CAN_Message * | can_message | ||
) |
Parses signals in a CAN message.
message | The CAN message template |
can_message | The CAN message to parse |
Definition at line 150 of file Can.c.
void print_CAN_Messages_Lists | ( | ) |
Prints the CAN message list.
Definition at line 190 of file Can.c.
void receive_CAN_message | ( | CAN_RxHeaderTypeDef * | header, |
uint8_t * | data, | ||
CANBus | bus | ||
) |
Receives a CAN message.
RxHeader | The CAN Rx header |
RxData | The CAN Rx data |
bus | The CAN bus to receive the message on |
Definition at line 112 of file Can.c.
int send_CAN_message | ( | CANBus | bus, |
CANProtocol | protocol, | ||
uint32_t | id, | ||
uint8_t * | data, | ||
uint8_t | len | ||
) |
Sends a CAN message.
bus | The CAN bus to send the message on |
protocol | The CAN protocol to use |
id | The ID of the message |
data | The data to send |
len | The length of the data |
Definition at line 79 of file Can.c.