From 2b9b7182d817b6e09be8c3006b24e15ee26b51d2 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Wed, 28 Oct 2020 15:21:07 -0500 Subject: [PATCH] Abstract set_unsafe_mode function to Panda (#2431) * Abstract set_unsafe_mode function to panda.cc * whoops * use uint16_t old-commit-hash: 5eea86cbf4da41b43f1d79c76689d49f8ffbde51 --- selfdrive/boardd/boardd.cc | 2 ++ selfdrive/boardd/panda.cc | 4 ++++ selfdrive/boardd/panda.h | 1 + 3 files changed, 7 insertions(+) diff --git a/selfdrive/boardd/boardd.cc b/selfdrive/boardd/boardd.cc index 7fa6d7ae3c..d851f7a449 100644 --- a/selfdrive/boardd/boardd.cc +++ b/selfdrive/boardd/boardd.cc @@ -107,6 +107,8 @@ void safety_setter_thread() { cereal::CarParams::Reader car_params = cmsg.getRoot(); cereal::CarParams::SafetyModel safety_model = car_params.getSafetyModel(); + panda->set_unsafe_mode(0); // see safety_declarations.h for allowed values + auto safety_param = car_params.getSafetyParam(); LOGW("setting safety model: %d with param %d", (int)safety_model, safety_param); diff --git a/selfdrive/boardd/panda.cc b/selfdrive/boardd/panda.cc index ef9b498779..c209cc4f8d 100644 --- a/selfdrive/boardd/panda.cc +++ b/selfdrive/boardd/panda.cc @@ -188,6 +188,10 @@ void Panda::set_safety_model(cereal::CarParams::SafetyModel safety_model, int sa usb_write(0xdc, (uint16_t)safety_model, safety_param); } +void Panda::set_unsafe_mode(uint16_t unsafe_mode) { + usb_write(0xdf, unsafe_mode, 0); +} + cereal::HealthData::HwType Panda::get_hw_type() { unsigned char hw_query[1] = {0}; diff --git a/selfdrive/boardd/panda.h b/selfdrive/boardd/panda.h index c3e2dc981e..119c123b1f 100644 --- a/selfdrive/boardd/panda.h +++ b/selfdrive/boardd/panda.h @@ -63,6 +63,7 @@ class Panda { // Panda functionality cereal::HealthData::HwType get_hw_type(); void set_safety_model(cereal::CarParams::SafetyModel safety_model, int safety_param=0); + void set_unsafe_mode(uint16_t unsafe_mode); void set_rtc(struct tm sys_time); struct tm get_rtc(); void set_fan_speed(uint16_t fan_speed);