def init_reader(): port_counter = 0 while True: try: dev = ublox.UBlox(ports[port_counter], baudrate=baudrate, timeout=timeout, panda=panda, grey=grey) configure_ublox(dev) return dev except serial.serialutil.SerialException as e: print(e) port_counter = (port_counter + 1)%len(ports) time.sleep(2)
dev.configure_message_rate(ublox.CLASS_MON, ublox.MSG_MON_HW2, 1) # Query the backup restore status print( "backup restore polling message (implement custom response handler!):") dev.configure_poll(0x09, 0x14) print("if succesfull, send this to clear the flash:") dev.send_message(0x09, 0x14, b"\x01\x00\x00\x00") print("send on stop:") # Save on shutdown # Controlled GNSS stop and hot start payload = struct.pack('<HBB', 0x0000, 0x08, 0x00) dev.send_message(ublox.CLASS_CFG, ublox.MSG_CFG_RST, payload) # UBX-UPD-SOS backup dev.send_message(0x09, 0x14, b"\x00\x00\x00\x00") if __name__ == "__main__": class Device: def write(self, s): d = '"{}"s'.format(''.join('\\x{:02X}'.format(b) for b in s)) print(f" if (!send_with_ack({d})) continue;") dev = ublox.UBlox(Device(), baudrate=baudrate) configure_ublox(dev)