Midnight Sun Firmware
Loading...
Searching...
No Matches
light_signal_manager.h
1#pragma once
2
3/************************************************************************************************
4 * @file light_signal_manager.h
5 *
6 * @brief Header file for light signal manager (turn signals, hazard)
7 *
8 * @date 2025-07-16
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdbool.h>
14
15/* Inter-component Headers */
16#include "software_timer.h"
17
18/* Intra-component Headers */
19#include "gpio.h"
20#include "steering_hw_defs.h"
21
25#define LIGHT_SIGNAL_BLINK_PERIOD_MS 600
26
36typedef enum {
42
46typedef enum {
52
57
63
68
74
void lights_signal_manager_request(LightsSignalRequest req)
Make a request to change the signal state.
Definition: light_signal_manager.c:44
LightsSignalState
Light signal states representing the current output.
Definition: light_signal_manager.h:36
LightsSignalState lights_signal_manager_get_state(void)
Get the current state of the signal lights.
Definition: light_signal_manager.c:98
LightsSignalRequest
Requests made to control the light signals.
Definition: light_signal_manager.h:46
void lights_signal_manager_init(void)
Initialize state variables and timer.
Definition: light_signal_manager.c:38
void lights_signal_manager_update(void)
Update the signal state based on the current request.
Definition: light_signal_manager.c:48
@ LIGHTS_SIGNAL_STATE_HAZARD
Definition: light_signal_manager.h:40
@ LIGHTS_SIGNAL_STATE_OFF
Definition: light_signal_manager.h:37
@ LIGHTS_SIGNAL_STATE_RIGHT
Definition: light_signal_manager.h:39
@ LIGHTS_SIGNAL_STATE_LEFT
Definition: light_signal_manager.h:38
@ LIGHTS_SIGNAL_REQUEST_RIGHT
Definition: light_signal_manager.h:49
@ LIGHTS_SIGNAL_REQUEST_LEFT
Definition: light_signal_manager.h:48
@ LIGHTS_SIGNAL_REQUEST_OFF
Definition: light_signal_manager.h:47
@ LIGHTS_SIGNAL_REQUEST_HAZARD
Definition: light_signal_manager.h:50