snd = list(filter(lambda x: x[-1] <= 2, snd)) try: sender.can_send_many(snd) except usb1.USBErrorTimeout: pass # Drain panda message buffer sender.can_recv() except Exception: traceback.print_exc() time.sleep(1) if __name__ == "__main__": if jungle: serials = PandaJungle.list() else: serials = Panda.list() num_senders = len(serials) if num_senders == 0: print("No senders found. Exiting") sys.exit(1) else: print("%d senders found. Starting broadcast" % num_senders) if "FLASH" in os.environ: for s in PandaDFU.list(): PandaDFU(s).recover() time.sleep(1)
continue for s in p.list(): if s not in serials: print("starting send thread for", s) serials[s] = Process(target=send_thread, args=(p(s), 3)) serials[s].start() # try to join all send procs cur_serials = serials.copy() for s, p in cur_serials.items(): p.join(0.01) if p.exitcode is not None: del serials[s] time.sleep(1) if __name__ == "__main__": time.sleep(1) if "FLASH" in os.environ and PandaJungle is not None: for s in PandaJungle.list(): PandaJungle(s).flash() while True: try: connect() except Exception: pass