From ebec632ea28eaad13a92a7aa44d2f1f230688708 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 21 Apr 2022 00:01:05 -0700 Subject: [PATCH] Make safetyParam unsigned (#24160) * bump panda & cereal * make unsigned in boardd * update health packet version bump panda * fix definition * bump * regen TOYOTA2 route * upload route * oh, ndog param wasn't being set * regenerate routes with non-zero safety params * update refs * regen routes and update refs * bump panda * update refs * update refs * bump submodules to master old-commit-hash: 6e62df65d722bf2013c42514bf56cbe5c838ad63 --- cereal | 2 +- panda | 2 +- selfdrive/boardd/boardd.cc | 4 ++-- selfdrive/boardd/panda.cc | 2 +- selfdrive/boardd/panda.h | 2 +- selfdrive/test/process_replay/ref_commit | 2 +- selfdrive/test/process_replay/regen.py | 2 ++ selfdrive/test/process_replay/test_processes.py | 8 ++++---- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/cereal b/cereal index 6eb3994daa..29f4fe89ef 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit 6eb3994daa0f64f57a36606a7bdd982ed2ac9d2d +Subproject commit 29f4fe89ef710ff86a5aeb998a357187d0619fb8 diff --git a/panda b/panda index a1d97f9a0b..7dd9493eb1 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit a1d97f9a0b33c4574b0e94a3c78c5a886cc95faa +Subproject commit 7dd9493eb102ba8b96362c7265b06851ec1d4bac diff --git a/selfdrive/boardd/boardd.cc b/selfdrive/boardd/boardd.cc index cbd0609f0d..5b44f4d60b 100644 --- a/selfdrive/boardd/boardd.cc +++ b/selfdrive/boardd/boardd.cc @@ -156,7 +156,7 @@ bool safety_setter_thread(std::vector pandas) { capnp::FlatArrayMessageReader cmsg(aligned_buf.align(params.data(), params.size())); cereal::CarParams::Reader car_params = cmsg.getRoot(); cereal::CarParams::SafetyModel safety_model; - int safety_param; + uint32_t safety_param; auto safety_configs = car_params.getSafetyConfigs(); uint16_t alternative_experience = car_params.getAlternativeExperience(); @@ -169,7 +169,7 @@ bool safety_setter_thread(std::vector pandas) { } else { // If no safety mode is specified, default to silent safety_model = cereal::CarParams::SafetyModel::SILENT; - safety_param = 0; + safety_param = 0U; } LOGW("panda %d: setting safety model: %d, param: %d, alternative experience: %d", i, (int)safety_model, safety_param, alternative_experience); diff --git a/selfdrive/boardd/panda.cc b/selfdrive/boardd/panda.cc index 7b4e81f9ae..394437902f 100644 --- a/selfdrive/boardd/panda.cc +++ b/selfdrive/boardd/panda.cc @@ -247,7 +247,7 @@ int Panda::usb_bulk_read(unsigned char endpoint, unsigned char* data, int length return transferred; } -void Panda::set_safety_model(cereal::CarParams::SafetyModel safety_model, int safety_param) { +void Panda::set_safety_model(cereal::CarParams::SafetyModel safety_model, uint32_t safety_param) { usb_write(0xdc, (uint16_t)safety_model, safety_param); } diff --git a/selfdrive/boardd/panda.h b/selfdrive/boardd/panda.h index 294553b413..9bbeee86b4 100644 --- a/selfdrive/boardd/panda.h +++ b/selfdrive/boardd/panda.h @@ -73,7 +73,7 @@ class Panda { // Panda functionality cereal::PandaState::PandaType get_hw_type(); - void set_safety_model(cereal::CarParams::SafetyModel safety_model, int safety_param=0); + void set_safety_model(cereal::CarParams::SafetyModel safety_model, uint32_t safety_param=0U); void set_alternative_experience(uint16_t alternative_experience); void set_rtc(struct tm sys_time); struct tm get_rtc(); diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit index 37276f85cc..bfca5ef7eb 100644 --- a/selfdrive/test/process_replay/ref_commit +++ b/selfdrive/test/process_replay/ref_commit @@ -1 +1 @@ -84bf66d9917e102f581279892d32a04c35fb4d87 \ No newline at end of file +37aac3b4090fcc2f5a0e52c0eb4913706688d3fd \ No newline at end of file diff --git a/selfdrive/test/process_replay/regen.py b/selfdrive/test/process_replay/regen.py index 4374cf9905..ca23309aba 100755 --- a/selfdrive/test/process_replay/regen.py +++ b/selfdrive/test/process_replay/regen.py @@ -36,6 +36,8 @@ def replay_panda_states(s, msgs): cp = [m for m in msgs if m.which() == 'carParams'][0].carParams if len(cp.safetyConfigs): safety_param = cp.safetyConfigs[0].safetyParam + if cp.safetyConfigs[0].safetyParamDEPRECATED != 0: + safety_param = cp.safetyConfigs[0].safetyParamDEPRECATED else: safety_param = cp.safetyParamDEPRECATED diff --git a/selfdrive/test/process_replay/test_processes.py b/selfdrive/test/process_replay/test_processes.py index d29183f1b5..060866efa3 100755 --- a/selfdrive/test/process_replay/test_processes.py +++ b/selfdrive/test/process_replay/test_processes.py @@ -33,11 +33,11 @@ original_segments = [ segments = [ ("BODY", "bd6a637565e91581|2022-04-04--22-05-08--0"), ("HYUNDAI", "fakedata|2022-01-20--17-49-04--0"), - ("TOYOTA", "fakedata|2022-01-20--17-50-51--0"), - ("TOYOTA2", "fakedata|2022-01-20--17-52-36--0"), - ("TOYOTA3", "fakedata|2022-01-20--17-54-50--0"), + ("TOYOTA", "fakedata|2022-04-13--18-53-16--0"), + ("TOYOTA2", "fakedata|2022-04-13--18-59-09--0"), + ("TOYOTA3", "fakedata|2022-04-13--19-09-53--0"), ("HONDA", "fakedata|2022-01-20--17-56-40--0"), - ("HONDA2", "fakedata|2022-01-20--17-58-25--0"), + ("HONDA2", "fakedata|2022-04-13--19-23-30--0"), ("CHRYSLER", "fakedata|2022-01-20--18-00-11--0"), ("SUBARU", "fakedata|2022-01-20--18-01-57--0"), ("GM", "fakedata|2022-01-20--18-03-41--0"),