19#include "front_controller.h"
32typedef enum { ACCEL_STATE_DRIVING, ACCEL_STATE_BRAKING } AccelState;
35 float accel_percentage;
36 float prev_accel_percentage;
37 AccelState accel_state;
38 float max_braking_percentage;
39 uint32_t max_vehicle_speed_kph;
44typedef enum { PTS_TYPE_LINEAR, PTS_TYPE_EXPONENTIAL, PTS_TYPE_QUADRATIC } PtsRelationType;
46typedef enum { CURVE_TYPE_LINEAR, CURVE_TYPE_EXPONENTIAL, CURVE_TYPE_QUADRATIC } curveType;
52StatusCode opd_calculate_handler(
float pedal_percentage, PtsRelationType relation_type,
float *calculated_reading, curveType curve_type);
54StatusCode opd_linear_calculate(
float pedal_percentage, PtsRelationType relation_type,
float *calculated_reading);
56StatusCode opd_quadratic_calculate(
float pedal_percentage, PtsRelationType relation_type,
float *calculated_reading);
StatusCode
StatusCodes for various errors.
Definition: status.h:27
Front Controller storage.
Definition: front_controller.h:59
uint16_t upper_value
Definition: opd.h:29
uint16_t lower_value
Definition: opd.h:28