Midnight Sun Firmware
Loading...
Searching...
No Matches
power_outputs.h
1#pragma once
2
3/************************************************************************************************
4 * @file power_ouputs.h
5 *
6 * @brief Power Ouputs
7 *
8 * @date 2025-07-27
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdint.h>
14
15/* Inter-component Headers */
16#include "gpio.h"
17#include "i2c.h"
18
19/* Intra-component Headers */
20
31typedef enum {
32 HORN = 0,
33 SPARE_1,
34 BRAKE_LIGHT,
35 BPS_LIGHT,
36 TELEM,
37 REV_CAM,
38 DRIVER_FAN,
39 RIGHT_SIG,
40 STEERING,
41 LEFT_SIG,
42 NUM_OUTPUTS,
43} OutputId;
44
48typedef enum {
49 OUTPUT_GROUP_ALL = 0,
50 OUTPUT_GROUP_ACTIVE,
51 OUTPUT_GROUP_LEFT_LIGHTS,
52 OUTPUT_GROUP_RIGHT_LIGHTS,
53 OUTPUT_GROUP_HAZARD_LIGHTS,
54 OUTPUT_GROUP_BPS_LIGHTS,
55 OUTPUT_GROUP_BRAKE_LIGHTS,
56 OUTPUT_GROUP_HORN,
57 NUM_OUTPUT_GROUPS,
59
60typedef struct {
61 uint8_t num_outputs;
62 OutputId outputs[NUM_OUTPUTS];
64
OutputId
Power outputs.
Definition: power_outputs.h:31
OutputGroup
Power output groups.
Definition: power_outputs.h:48
Definition: power_outputs.h:60
uint8_t num_outputs
Definition: power_outputs.h:61