MCPcopy Create free account
hub / github.com/PolySync/oscc / process_throttle_command

Function process_throttle_command

firmware/throttle/src/communications.cpp:110–142  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108
109
110static void process_throttle_command(
111 const uint8_t * const data )
112{
113 if ( data != NULL )
114 {
115 const oscc_throttle_command_s * const throttle_command =
116 (oscc_throttle_command_s *) data;
117
118 const float clamped_position = CONSTRAIN(
119 throttle_command->torque_request,
120 MINIMUM_THROTTLE_COMMAND,
121 MAXIMUM_THROTTLE_COMMAND);
122
123 float spoof_voltage_low = THROTTLE_POSITION_TO_VOLTS_LOW( clamped_position );
124
125 spoof_voltage_low = CONSTRAIN(
126 spoof_voltage_low,
127 THROTTLE_SPOOF_LOW_SIGNAL_VOLTAGE_MIN,
128 THROTTLE_SPOOF_LOW_SIGNAL_VOLTAGE_MAX);
129
130 float spoof_voltage_high = THROTTLE_POSITION_TO_VOLTS_HIGH( clamped_position );
131
132 spoof_voltage_high = CONSTRAIN(
133 spoof_voltage_high,
134 THROTTLE_SPOOF_HIGH_SIGNAL_VOLTAGE_MIN,
135 THROTTLE_SPOOF_HIGH_SIGNAL_VOLTAGE_MAX);
136
137 const uint16_t spoof_value_low = STEPS_PER_VOLT * spoof_voltage_low;
138 const uint16_t spoof_value_high = STEPS_PER_VOLT * spoof_voltage_high;
139
140 update_throttle( spoof_value_high, spoof_value_low );
141 }
142}
143
144
145static void process_fault_report(

Callers 1

process_rx_frameFunction · 0.85

Calls 1

update_throttleFunction · 0.85

Tested by

no test coverage detected