1#ifndef TORQUECONTROLLERSDATA
2#define TORQUECONTROLLERSDATA
6#include "SharedFirmwareTypes.h"
191 bool _drivebrain_timing_failure)
@ STEERING_SYSTEM_MARGINAL
@ STEERING_SYSTEM_NOMINAL
@ STEERING_SYSTEM_DEGRADED
TorqueLimit_e
Defines modes of torque limit to be processed in torque limit map for exact values.
@ TCMUX_NUM_TORQUE_LIMITS
TorqueControllerMuxError
Defines errors for TC Mux to use to maintain system safety.
@ ERROR_CONTROLLER_NULL_POINTER
@ ERROR_CONTROLLER_INDEX_OUT_OF_BOUNDS
@ ERROR_SPEED_DIFF_TOO_HIGH
@ ERROR_TORQUE_DIFF_TOO_HIGH
Stores setpoints for a command to the Drivetrain, containing speed and torque setpoints for each moto...
float inverter_torque_limit[NUM_MOTORS]
float speeds_rpm[NUM_MOTORS]
float measuredTorqueCurrents[NUM_MOTORS]
torque_nm measuredTorques[NUM_MOTORS]
uint16_t measuredInverterFLPackVoltage
speed_rpm measuredSpeeds[NUM_MOTORS]
float measuredMagnetizingCurrents[NUM_MOTORS]
veh_vec< float > loadCellForcesFiltered
veh_vec< AnalogConversion_s > loadCellConversions
veh_vec< int > raw_load_cell_data
bool brakeAndAccelPressedImplausibility
bool implausibilityExceededMaxDuration
car state struct that contains state of everything about the car including
bool drivebrain_timing_failure
SharedCarState_s(const SysTick_s &_systick, const SteeringSystemData_s &_steering_data, const DrivetrainDynamicReport_s &_drivetrain_data, const LoadCellInterfaceOutput_s &_loadcell_data, const PedalsSystemData_s &_pedals_data, const VectornavData_s &_vn_data, const DrivebrainData_s &_db_data, const TorqueControllerMuxStatus &_tc_mux_status)
SteeringSystemData_s steering_data
LoadCellInterfaceOutput_s loadcell_data
PedalsSystemData_s pedals_data
SharedCarState_s()=delete
DrivetrainDynamicReport_s drivetrain_data
LoadCellInterfaceRawOutput_s raw_loadcell_data
TorqueControllerMuxStatus tc_mux_status
SharedCarState_s(const SysTick_s &_systick, const SteeringSystemData_s &_steering_data, const DrivetrainDynamicReport_s &_drivetrain_data, const LoadCellInterfaceOutput_s &_loadcell_data, const LoadCellInterfaceRawOutput_s &_raw_loadcell_data, const PedalsSystemData_s &_pedals_data, const VectornavData_s &_vn_data, const DrivebrainData_s &_db_data, const TorqueControllerMuxStatus &_tc_mux_status, bool _drivebrain_timing_failure)
SteeringSystemStatus_e status
packages TC Mux indicators: errors, mode, torque limit, bypass
TorqueLimit_e active_torque_limit_enum
bool output_is_bypassing_limits
TorqueControllerMuxError active_error
float active_torque_limit_value
ControllerMode_e active_controller_mode
Packages drivetrain command with ready boolean to give feedback on controller successfully evaluating...
DrivetrainCommand_s command
xyz_vec< float > angular_rates
float uncompLinear_accel[3]
generic data vector type that can be used with tire and / or anything to do with 4 corners of the car...