|
|
|
@ -185,7 +185,7 @@ Panda *usb_connect(std::string serial="", uint32_t index=0) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void can_send_thread(std::vector<Panda *> pandas, bool fake_send) { |
|
|
|
|
LOGD("start send thread"); |
|
|
|
|
set_thread_name("boardd_can_send"); |
|
|
|
|
|
|
|
|
|
AlignedBuffer aligned_buf; |
|
|
|
|
Context * context = Context::create(); |
|
|
|
@ -229,7 +229,7 @@ void can_send_thread(std::vector<Panda *> pandas, bool fake_send) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void can_recv_thread(std::vector<Panda *> pandas) { |
|
|
|
|
LOGD("start recv thread"); |
|
|
|
|
set_thread_name("boardd_can_recv"); |
|
|
|
|
|
|
|
|
|
// can = 8006
|
|
|
|
|
PubMaster pm({"can"}); |
|
|
|
@ -406,6 +406,8 @@ void send_peripheral_state(PubMaster *pm, Panda *panda) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void panda_state_thread(PubMaster *pm, std::vector<Panda *> pandas, bool spoofing_started) { |
|
|
|
|
set_thread_name("boardd_panda_state"); |
|
|
|
|
|
|
|
|
|
Params params; |
|
|
|
|
Panda *peripheral_panda = pandas[0]; |
|
|
|
|
bool ignition_last = false; |
|
|
|
@ -453,7 +455,8 @@ void panda_state_thread(PubMaster *pm, std::vector<Panda *> pandas, bool spoofin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void peripheral_control_thread(Panda *panda) { |
|
|
|
|
LOGD("start peripheral control thread"); |
|
|
|
|
set_thread_name("boardd_peripheral_control"); |
|
|
|
|
|
|
|
|
|
SubMaster sm({"deviceState", "driverCameraState"}); |
|
|
|
|
|
|
|
|
|
uint64_t last_front_frame_t = 0; |
|
|
|
@ -551,6 +554,8 @@ static void pigeon_publish_raw(PubMaster &pm, const std::string &dat) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void pigeon_thread(Panda *panda) { |
|
|
|
|
set_thread_name("boardd_pigeon"); |
|
|
|
|
|
|
|
|
|
PubMaster pm({"ubloxRaw"}); |
|
|
|
|
bool ignition_last = false; |
|
|
|
|
|
|
|
|
|