Vehicle Control Unit 0.01
This is the c library for controlling the car.
|
#include "stm32f7xx_it.h"
#include "../../../../Inc/Systems/Comms/Can/Can.h"
#include "../../../../Inc/Systems/Comms/Can/DBCParser.h"
#include "../../../../Inc/Systems/PrintHelpers.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <inttypes.h>
Go to the source code of this file.
Macros | |
#define | ANSI_COLOR_RESET "\x1b[0m" |
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 *RxHeader, uint8_t *RxData, 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... | |
Variables | |
CAN_MessageList | can_messages [MAX_BUS] |
#define ANSI_COLOR_RESET "\x1b[0m" |
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.
CAN_MessageList can_messages[MAX_BUS] |