84 const AnalogConversion_s &accel1,
85 const AnalogConversion_s &accel2,
86 const AnalogConversion_s &brake);
95 const AnalogConversion_s &accel1,
96 const AnalogConversion_s &accel2,
97 const AnalogConversion_s &brake1,
98 const AnalogConversion_s &brake2);
108 const AnalogConversion_s &accel2,
109 const AnalogConversion_s &brake1,
110 const AnalogConversion_s &brake2,
111 unsigned long curr_time);
119 const AnalogConversion_s &accel2,
120 const AnalogConversion_s &brake,
121 unsigned long curr_time);
148 const AnalogConversion_s &pedalData2,
150 float max_percent_diff);
167 const AnalogConversion_s &accelPedalData2,
168 const AnalogConversion_s &brakePedalData1,
169 const AnalogConversion_s &brakePedalData2);
177 const AnalogConversion_s &accelPedalData2,
178 const AnalogConversion_s &brakePedalData);
194 float implaus_margin_scale);
PedalsSystemData_s evaluate_pedals(const AnalogConversion_s &accel1, const AnalogConversion_s &accel2, const AnalogConversion_s &brake1, const AnalogConversion_s &brake2, unsigned long curr_time)
PedalsParams brakeParams_
bool max_duration_of_implausibility_exceeded_(unsigned long curr_time)
PedalsParams accelParams_
unsigned long implausibilityStartTime_
bool evaluate_min_max_pedal_implausibilities_(const AnalogConversion_s &pedalData, int min, int max, float implaus_margin_scale)
PedalsSystem(const PedalsParams &accelParams, const PedalsParams &brakeParams)
pedals system class that evaluates pedals for both accel and brake percent as well as implausibilitie...
bool pedal_is_active_(float pedal1ConvertedData, float pedal2ConvertedData, const PedalsParams ¶ms, bool check_mech_activation)
check whether or not pedal is active according to input parameters. returns true if either pedal is o...
PedalsSystemData_s getPedalsSystemDataCopy()
const PedalsSystemData_s & getPedalsSystemData()
bool evaluate_pedal_oor(const AnalogConversion_s &pedalData, int min, int max)
This checks to see if any pedal sensor is out of range :(.
bool evaluate_pedal_implausibilities_(const AnalogConversion_s &pedalData1, const AnalogConversion_s &pedalData2, const PedalsParams ¶ms, float max_percent_diff)
Evaluate pedal implausibilities_ determines if there is a software implausibility in the pedals cause...
void setParams(const PedalsParams &accelParams, const PedalsParams &brakeParams)
void tick(const SysTick_s &tick, const AnalogConversion_s &accel1, const AnalogConversion_s &accel2, const AnalogConversion_s &brake)
overloaded tick function that runs the evaluation of the pedals system. evaluates brake using only mi...
float getMechBrakeActiveThreshold()
bool evaluate_brake_and_accel_pressed_(const AnalogConversion_s &accelPedalData1, const AnalogConversion_s &accelPedalData2, const AnalogConversion_s &brakePedalData1, const AnalogConversion_s &brakePedalData2)
function to determine if the pedals and the brakes are pressed at the same time. evaluates brake bein...
float remove_deadzone_(float conversion_input, float deadzone)
ParameterInterface params
system interface struct that contains the data from the pedal system
float activation_percentage
float mechanical_activation_percentage
float implausibility_margin