Gas Interceptor: another fix to gas pressed logic

master
George Hotz 2018-03-17 15:50:42 -07:00
parent 196d383d8e
commit 703c0b4ec1
1 changed files with 6 additions and 3 deletions

View File

@ -8,6 +8,7 @@
// brake > 0mph
// these are set in the Honda safety hooks...this is the wrong place
const int gas_interceptor_threshold = 328;
int gas_interceptor_detected = 0;
int brake_prev = 0;
int gas_prev = 0;
@ -55,10 +56,11 @@ static void honda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
if ((to_push->RIR>>21) == 0x201 && (to_push->RDTR & 0xf) == 6) {
gas_interceptor_detected = 1;
int gas_interceptor = ((to_push->RDLR & 0xFF) << 8) | ((to_push->RDLR & 0xFF00) >> 8);
if ((gas_interceptor > 328) && (gas_interceptor_prev <= 328)) {
if ((gas_interceptor > gas_interceptor_threshold) &&
(gas_interceptor_prev <= gas_interceptor_threshold)) {
controls_allowed = 0;
}
gas_interceptor_prev = gas_interceptor > 328;
gas_interceptor_prev = gas_interceptor;
}
// exit controls on rising edge of gas press if no interceptor
@ -83,7 +85,8 @@ static int honda_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
// disallow actuator commands if gas or brake (with vehicle moving) are pressed
// and the the latching controls_allowed flag is True
int pedal_pressed = gas_prev || gas_interceptor_prev || (brake_prev && ego_speed);
int pedal_pressed = gas_prev || (gas_interceptor_prev > gas_interceptor_threshold) ||
(brake_prev && ego_speed);
int current_controls_allowed = controls_allowed && !(pedal_pressed);
// BRAKE: safety check