mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-08-05 17:45:40 +08:00
Skip heartbeat check if in parked gear (#79)
* Skip heartbeat check if parked * bump panda
This commit is contained in:
+1
-1
Submodule panda updated: 0f4cd5c26b...9ce223d4f9
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user