Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#THIS FILE IS AUTO GENERATED FROM THE TEMPLATE! DO NOT CHANGE!
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
cmake_minimum_required(VERSION 3.30)
cmake_minimum_required(VERSION 3.25.2)

# specify cross-compilers and tools
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
Expand Down
4 changes: 4 additions & 0 deletions Inc/LightsDriver.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ flag_status_t getRightTurnStatus();
flag_status_t getHazardsStatus();
flag_status_t getHeadlightsStatus();
flag_status_t getBrakeLightsStatus();
flag_status_t getHighBeamsStatus();
flag_status_t getLowBeamsStatus();

//Setters
void setLightsStatus(uint32_t lights);
Expand All @@ -25,6 +27,8 @@ void setLeftTurn(flag_status_t enabled);
void setRightTurn(flag_status_t enabled);
void setHazards(flag_status_t enabled);
void setHeadlights(flag_status_t enabled);
void setHighBeams(flag_status_t enabled);
void setLowBeams(flag_status_t enabled);

//Functions for brake lights
void setRunningLights();
Expand Down
15 changes: 15 additions & 0 deletions Src/CANCallbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "LightsDriver.h"

void LightsDataCallback(iCommsMessage_t *msg){
DebugPrint("Lights CAN Message Received\n");
uint32_t message = 0;
message |= (uint32_t) msg->data[0] << 24;
message |= (uint32_t) msg->data[1] << 16;
Expand All @@ -23,9 +24,23 @@ void LightsDataCallback(iCommsMessage_t *msg){
if (getHazardsStatus()) {
DebugPrint("Hazards CAN\n");
}

if (getBrakeLightsStatus()) {
DebugPrint("Brake Lights CAN \n");
}

if (getHighBeamsStatus()) {
DebugPrint("High Beams CAN \n");
}

if (getLowBeamsStatus()) {
DebugPrint("Low Beams CAN \n");
}

}

void EventDataCallback(iCommsMessage_t *msg) {
DebugPrint("Event CAN Message Received\n");
// if (msg->dataLength == CANMessageLookUpTable[EVENT_DATA_ID].numberOfBytes) {
// EventCode code = msg->data[1];
// flag_status_t status = msg->data[0];
Expand Down
24 changes: 22 additions & 2 deletions Src/LightDriver.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,13 @@ flag_status_t getLeftTurnStatus(){
flag_status_t getRightTurnStatus(){
return lights_status.right_turn_enabled;
}
flag_status_t getHeadlightsStatus(){

flag_status_t getHighBeamsStatus() {
return lights_status.headlights_enabled;
}
flag_status_t getLowBeamsStatus() {
return lights_status.low_beams_enabled;
}
flag_status_t getHazardsStatus(){
return lights_status.hazards_enabled;
}
Expand All @@ -50,6 +54,9 @@ flag_status_t getBrakeLightsStatus(){

//Abstract functions over HAL
void setLeftTurn(flag_status_t enabled) {
#ifdef REAR_LIGHTS
enabled = !enabled;
#endif
HAL_GPIO_WritePin(LeftTurn_port, LeftTurn_pin, enabled ? GPIO_PIN_SET : GPIO_PIN_RESET);
}

Expand All @@ -59,6 +66,9 @@ void setHazards(flag_status_t enabled) {
}

void setRightTurn(flag_status_t enabled) {
#ifdef REAR_LIGHTS
enabled = !enabled;
#endif
HAL_GPIO_WritePin(RightTurn_port, RightTurn_pin, enabled ? GPIO_PIN_SET : GPIO_PIN_RESET);
}

Expand All @@ -68,8 +78,18 @@ void setHeadlights(flag_status_t enabled) {
HAL_GPIO_WritePin(Headlights2_port, Headlights2_pin, enabled ? GPIO_PIN_SET : GPIO_PIN_RESET);
#endif
}
void setHighBeams(flag_status_t enabled) {
#ifdef FRONT_LIGHTS
HAL_GPIO_WritePin(HeadlightsHigh_port, HeadlightsHigh_pin, enabled ? GPIO_PIN_SET : GPIO_PIN_RESET);
#endif
}
void setLowBeams(flag_status_t enabled) {
#ifdef FRONT_LIGHTS
HAL_GPIO_WritePin(HeadlightsLow_port, HeadlightsLow_pin, enabled ? GPIO_PIN_SET : GPIO_PIN_RESET);
#endif
}
void RunningLightsEnabled(flag_status_t enabled){
#ifdef BRUCE_REAR_LIGHTS
#if defined(BRUCE_REAR_LIGHTS)
HAL_GPIO_WritePin(RunningLights_port, RunningLights_pin, enabled ? GPIO_PIN_RESET : GPIO_PIN_SET);
#endif
}
Expand Down
8 changes: 2 additions & 6 deletions Src/TaskManager.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,8 @@ _Noreturn void RunTaskManager(void) {
setRightTurn(getRightTurnStatus() == Set && blink == Set);
}

#ifdef BRUCE_FRONT_LIGHTS
setHeadlights(getHeadlightsStatus() == Set);
#endif
#ifdef BRUCE_REAR_LIGHTS
setBrakesStatus(getBrakeLightsStatus() == Set);
#endif
setHighBeams(getHighBeamsStatus() == Set);
setLowBeams(getLowBeamsStatus() == Set);

setRunningLights();
setBrakeLights();
Expand Down