Squashed 'panda/' changes from 06958e4..38dc4e6

38dc4e6 Chrysler safety: better to mention messages we don't want to forward
236705f chrysler: forward bus 0 to bus 2 (#177)
62d4219 debug_console.py: exit when no pandas found (#175)

git-subtree-dir: panda
git-subtree-split: 38dc4e678325d13b4324f91f6eff8cb6a0fe575d

old-commit-hash: 27ef9f2236
commatwo_master
Nigel Armstrong 6 years ago
parent 8f25d45624
commit 698871ecc7
  1. 23
      board/safety/safety_chrysler.h
  2. 3
      tests/debug_console.py

@ -5,7 +5,7 @@ const int CHRYSLER_MAX_RATE_UP = 3;
const int CHRYSLER_MAX_RATE_DOWN = 3; const int CHRYSLER_MAX_RATE_DOWN = 3;
const int CHRYSLER_MAX_TORQUE_ERROR = 80; // max torque cmd in excess of torque motor const int CHRYSLER_MAX_TORQUE_ERROR = 80; // max torque cmd in excess of torque motor
int chrysler_camera_detected = 0; int chrysler_camera_detected = 0; // is giraffe switch 2 high?
int chrysler_rt_torque_last = 0; int chrysler_rt_torque_last = 0;
int chrysler_desired_torque_last = 0; int chrysler_desired_torque_last = 0;
int chrysler_cruise_engaged_last = 0; int chrysler_cruise_engaged_last = 0;
@ -125,12 +125,29 @@ static int chrysler_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
return true; return true;
} }
static void chrysler_init(int16_t param) {
chrysler_camera_detected = 0;
}
static int chrysler_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
int32_t addr = to_fwd->RIR >> 21;
// forward CAN 0 -> 2 so stock LKAS camera sees messages
if (bus_num == 0 && !chrysler_camera_detected) {
return 2;
}
// forward all messages from camera except LKAS_COMMAND and LKAS_HUD
if (bus_num == 2 && !chrysler_camera_detected && addr != 658 && addr != 678) {
return 0;
}
return -1; // do not forward
}
const safety_hooks chrysler_hooks = { const safety_hooks chrysler_hooks = {
.init = nooutput_init, .init = chrysler_init,
.rx = chrysler_rx_hook, .rx = chrysler_rx_hook,
.tx = chrysler_tx_hook, .tx = chrysler_tx_hook,
.tx_lin = nooutput_tx_lin_hook, .tx_lin = nooutput_tx_lin_hook,
.ignition = default_ign_hook, .ignition = default_ign_hook,
.fwd = nooutput_fwd_hook, .fwd = chrysler_fwd_hook,
}; };

@ -21,6 +21,9 @@ if __name__ == "__main__":
pandas = list(map(lambda x: Panda(x, claim=claim), serials)) pandas = list(map(lambda x: Panda(x, claim=claim), serials))
if not len(pandas):
sys.exit("no pandas found")
if os.getenv("BAUD") is not None: if os.getenv("BAUD") is not None:
for panda in pandas: for panda in pandas:
panda.set_uart_baud(port_number, int(os.getenv("BAUD"))) panda.set_uart_baud(port_number, int(os.getenv("BAUD")))

Loading…
Cancel
Save