Midnight Sun Firmware
Loading...
Searching...
No Matches
accel_pedal.h
1#pragma once
2
3/************************************************************************************************
4 * @file accel_pedal.h
5 *
6 * @brief Header file for acceleration pedal manager
7 *
8 * @date 2025-02-02
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdint.h>
14
15/* Inter-component Headers */
16#include "status.h"
17
18/* Intra-component Headers */
19#include "front_controller.h"
20
27typedef struct {
28 uint16_t lower_value;
29 uint16_t upper_value;
31
32typedef struct AccelPedalStorage {
33 float accel_percentage;
34 float prev_accel_percentage;
35
36 AccelPedalCalibrationData calibration_data;
38
46
53
StatusCode accel_pedal_init(FrontControllerStorage *storage)
Initializes the acceleration pedal hardware interface loads calibration data from memory.
Definition: accel_pedal.c:64
StatusCode accel_pedal_run()
Reads the pedal percentage and applies deadzone and filtering before updating the storage.
Definition: accel_pedal.c:29
StatusCode
StatusCodes for various errors.
Definition: status.h:27
Definition: accel_pedal.h:27
uint16_t upper_value
Definition: accel_pedal.h:29
uint16_t lower_value
Definition: accel_pedal.h:28
Definition: accel_pedal.h:32
Front Controller storage.
Definition: front_controller.h:59