boardd: small cleanup (#23005)

pull/23011/head
Adeeb Shihadeh 2021-11-22 15:15:03 -08:00 committed by GitHub
parent a941a1040d
commit d482b2d0a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 21 deletions

View File

@ -70,7 +70,10 @@ std::string get_time_str(const struct tm &time) {
bool check_all_connected(const std::vector<Panda *> &pandas) {
for (const auto& panda : pandas) {
if (!panda->connected) return false;
if (!panda->connected) {
do_exit = true;
return false;
}
}
return true;
}
@ -194,14 +197,8 @@ void can_send_thread(std::vector<Panda *> pandas, bool fake_send) {
subscriber->setTimeout(100);
// run as fast as messages come in
while (!do_exit) {
if (!check_all_connected(pandas)) {
do_exit = true;
break;
}
while (!do_exit && check_all_connected(pandas)) {
Message * msg = subscriber->receive();
if (!msg) {
if (errno == EINTR) {
do_exit = true;
@ -239,12 +236,7 @@ void can_recv_thread(std::vector<Panda *> pandas) {
uint64_t next_frame_time = nanos_since_boot() + dt;
std::vector<can_frame> raw_can_data;
while (!do_exit) {
if (!check_all_connected(pandas)){
do_exit = true;
break;
}
while (!do_exit && check_all_connected(pandas)) {
bool comms_healthy = true;
raw_can_data.clear();
for (const auto& panda : pandas) {
@ -416,12 +408,8 @@ void panda_state_thread(PubMaster *pm, std::vector<Panda *> pandas, bool spoofin
LOGD("start panda state thread");
// run at 2hz
while (!do_exit) {
if(!check_all_connected(pandas)) {
do_exit = true;
break;
}
while (!do_exit && check_all_connected(pandas)) {
// send out peripheralState
send_peripheral_state(pm, peripheral_panda);
ignition = send_panda_states(pm, pandas, spoofing_started);
@ -433,7 +421,7 @@ void panda_state_thread(PubMaster *pm, std::vector<Panda *> pandas, bool spoofin
break;
}
// clear VIN, CarParams, and set new safety on car start
// clear ignition-based params and set new safety on car start
if (ignition && !ignition_last) {
params.clearAll(CLEAR_ON_IGNITION_ON);
if (!safety_future.valid() || safety_future.wait_for(0ms) == std::future_status::ready) {