|
|
@ -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
|
|
|
|