Skip heartbeat check if in parked gear (#79)

* Skip heartbeat check if parked

* bump panda
This commit is contained in:
Jason Wen
2023-05-28 22:56:37 -04:00
committed by GitHub
parent 10d2fbb0b8
commit d27eb2b4b8
4 changed files with 9 additions and 2 deletions
+1 -1
Submodule panda updated: 0f4cd5c26b...9ce223d4f9
+3 -1
View File
@@ -466,7 +466,7 @@ void panda_state_thread(PubMaster *pm, std::vector<Panda *> pandas, bool spoofin
util::set_thread_name("boardd_panda_state");
Params params;
SubMaster sm({"controlsState"});
SubMaster sm({"controlsState", "carState"});
Panda *peripheral_panda = pandas[0];
bool is_onroad = false;
@@ -526,9 +526,11 @@ void panda_state_thread(PubMaster *pm, std::vector<Panda *> pandas, bool spoofin
sm.update(0);
const bool engaged = sm.allAliveAndValid({"controlsState"}) && sm["controlsState"].getControlsState().getEnabled();
const bool parked = sm.allAliveAndValid({"carState"}) && (int(sm["carState"].getCarState().getGearShifter()) == 1);
for (const auto &panda : pandas) {
panda->send_heartbeat(engaged);
panda->parked_heartbeat(parked);
}
uint64_t dt = nanos_since_boot() - start_time;
+4
View File
@@ -163,6 +163,10 @@ void Panda::send_heartbeat(bool engaged) {
handle->control_write(0xf3, engaged, 0);
}
void Panda::parked_heartbeat(bool parked) {
handle->control_write(0xff, parked, 0);
}
void Panda::set_can_speed_kbps(uint16_t bus, uint16_t speed) {
handle->control_write(0xde, bus, (speed * 10));
}
+1
View File
@@ -76,6 +76,7 @@ public:
void set_power_saving(bool power_saving);
void enable_deepsleep();
void send_heartbeat(bool engaged);
void parked_heartbeat(bool parked);
void set_can_speed_kbps(uint16_t bus, uint16_t speed);
void set_data_speed_kbps(uint16_t bus, uint16_t speed);
void set_canfd_non_iso(uint16_t bus, bool non_iso);