mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-07-13 17:02:06 +08:00
update unsafeMode to alternativeExperience (#23995)
* update unsafeMode to alternativeExperience * fix * fix * bump submodules Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
This commit is contained in:
+1
-1
Submodule cereal updated: 447d8b8a7a...e94649e0ed
+1
-1
Submodule panda updated: e01c64574c...7104818e14
@@ -161,7 +161,7 @@ bool safety_setter_thread(std::vector<Panda *> pandas) {
|
|||||||
int safety_param;
|
int safety_param;
|
||||||
|
|
||||||
auto safety_configs = car_params.getSafetyConfigs();
|
auto safety_configs = car_params.getSafetyConfigs();
|
||||||
uint16_t unsafe_mode = car_params.getUnsafeMode();
|
uint16_t alternative_experience = car_params.getAlternativeExperience();
|
||||||
for (uint32_t i = 0; i < pandas.size(); i++) {
|
for (uint32_t i = 0; i < pandas.size(); i++) {
|
||||||
auto panda = pandas[i];
|
auto panda = pandas[i];
|
||||||
|
|
||||||
@@ -174,8 +174,8 @@ bool safety_setter_thread(std::vector<Panda *> pandas) {
|
|||||||
safety_param = 0;
|
safety_param = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGW("panda %d: setting safety model: %d, param: %d, unsafe mode: %d", i, (int)safety_model, safety_param, unsafe_mode);
|
LOGW("panda %d: setting safety model: %d, param: %d, alternative experience: %d", i, (int)safety_model, safety_param, alternative_experience);
|
||||||
panda->set_unsafe_mode(unsafe_mode);
|
panda->set_alternative_experience(alternative_experience);
|
||||||
panda->set_safety_model(safety_model, safety_param);
|
panda->set_safety_model(safety_model, safety_param);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -362,7 +362,7 @@ std::optional<bool> send_panda_states(PubMaster *pm, const std::vector<Panda *>
|
|||||||
ps.setFaultStatus(cereal::PandaState::FaultStatus(health.fault_status_pkt));
|
ps.setFaultStatus(cereal::PandaState::FaultStatus(health.fault_status_pkt));
|
||||||
ps.setPowerSaveEnabled((bool)(health.power_save_enabled_pkt));
|
ps.setPowerSaveEnabled((bool)(health.power_save_enabled_pkt));
|
||||||
ps.setHeartbeatLost((bool)(health.heartbeat_lost_pkt));
|
ps.setHeartbeatLost((bool)(health.heartbeat_lost_pkt));
|
||||||
ps.setUnsafeMode(health.unsafe_mode_pkt);
|
ps.setAlternativeExperience(health.alternative_experience_pkt);
|
||||||
ps.setHarnessStatus(cereal::PandaState::HarnessStatus(health.car_harness_status_pkt));
|
ps.setHarnessStatus(cereal::PandaState::HarnessStatus(health.car_harness_status_pkt));
|
||||||
|
|
||||||
// Convert faults bitset to capnp list
|
// Convert faults bitset to capnp list
|
||||||
|
|||||||
@@ -251,8 +251,8 @@ void Panda::set_safety_model(cereal::CarParams::SafetyModel safety_model, int sa
|
|||||||
usb_write(0xdc, (uint16_t)safety_model, safety_param);
|
usb_write(0xdc, (uint16_t)safety_model, safety_param);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panda::set_unsafe_mode(uint16_t unsafe_mode) {
|
void Panda::set_alternative_experience(uint16_t alternative_experience) {
|
||||||
usb_write(0xdf, unsafe_mode, 0);
|
usb_write(0xdf, alternative_experience, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
cereal::PandaState::PandaType Panda::get_hw_type() {
|
cereal::PandaState::PandaType Panda::get_hw_type() {
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class Panda {
|
|||||||
// Panda functionality
|
// Panda functionality
|
||||||
cereal::PandaState::PandaType get_hw_type();
|
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, int safety_param=0);
|
||||||
void set_unsafe_mode(uint16_t unsafe_mode);
|
void set_alternative_experience(uint16_t alternative_experience);
|
||||||
void set_rtc(struct tm sys_time);
|
void set_rtc(struct tm sys_time);
|
||||||
struct tm get_rtc();
|
struct tm get_rtc();
|
||||||
void set_fan_speed(uint16_t fan_speed);
|
void set_fan_speed(uint16_t fan_speed);
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class Controls:
|
|||||||
get_one_can(self.can_sock)
|
get_one_can(self.can_sock)
|
||||||
|
|
||||||
self.CI, self.CP = get_car(self.can_sock, self.pm.sock['sendcan'])
|
self.CI, self.CP = get_car(self.can_sock, self.pm.sock['sendcan'])
|
||||||
self.CP.unsafeMode = 0 # see panda/board/safety_declarations.h for allowed values
|
self.CP.alternativeExperience = 0 # see panda/board/safety_declarations.h for allowed values
|
||||||
|
|
||||||
# read params
|
# read params
|
||||||
self.is_metric = params.get_bool("IsMetric")
|
self.is_metric = params.get_bool("IsMetric")
|
||||||
@@ -260,7 +260,7 @@ class Controls:
|
|||||||
if i < len(self.CP.safetyConfigs):
|
if i < len(self.CP.safetyConfigs):
|
||||||
safety_mismatch = pandaState.safetyModel != self.CP.safetyConfigs[i].safetyModel or \
|
safety_mismatch = pandaState.safetyModel != self.CP.safetyConfigs[i].safetyModel or \
|
||||||
pandaState.safetyParam != self.CP.safetyConfigs[i].safetyParam or \
|
pandaState.safetyParam != self.CP.safetyConfigs[i].safetyParam or \
|
||||||
pandaState.unsafeMode != self.CP.unsafeMode
|
pandaState.alternativeExperience != self.CP.alternativeExperience
|
||||||
else:
|
else:
|
||||||
safety_mismatch = pandaState.safetyModel not in IGNORED_SAFETY_MODES
|
safety_mismatch = pandaState.safetyModel not in IGNORED_SAFETY_MODES
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user