Midnight Sun Firmware
Loading...
Searching...
No Matches
button_manager.h
1
#pragma once
2
3
/************************************************************************************************
4
* @file button_manager.h
5
*
6
* @brief Header file for managing and polling multiple buttons on the steering board, including
7
* drive modes, hazards, turn signals, cruise control, and regen.
8
*
9
* @date 2025-07-28
10
* @author Midnight Sun Team #24 - MSXVI
11
************************************************************************************************/
12
13
/* Standard library Headers */
14
#include <stdbool.h>
15
16
/* Inter-component Headers */
17
#include "gpio.h"
18
19
/* Intra-component Headers */
20
#include "button.h"
21
28
#define BUTTON_MANAGER_DEBUG 0
30
#define BUTTON_MANAGER_MAX_BUTTONS 10
35
typedef
struct
{
36
Button
buttons[
BUTTON_MANAGER_MAX_BUTTONS
];
37
uint8_t
num_buttons
;
38
}
ButtonManager
;
39
47
StatusCode
button_manager_init
(
ButtonManager
*manager);
48
55
StatusCode
button_manager_update
(
ButtonManager
*manager);
56
button_manager_update
StatusCode button_manager_update(ButtonManager *manager)
Update the button manager.
Definition:
button_manager.c:244
button_manager_init
StatusCode button_manager_init(ButtonManager *manager)
Initialize the button manager.
Definition:
button_manager.c:230
BUTTON_MANAGER_MAX_BUTTONS
#define BUTTON_MANAGER_MAX_BUTTONS
Definition:
button_manager.h:30
StatusCode
StatusCode
StatusCodes for various errors.
Definition:
status.h:27
ButtonManager
Button Manager structure.
Definition:
button_manager.h:35
ButtonManager::num_buttons
uint8_t num_buttons
Definition:
button_manager.h:37
Button
Button instance structure.
Definition:
button.h:58
projects
steering
inc
button_manager.h
Generated by
1.9.5