diff --git a/selfdrive/boardd/pigeon.cc b/selfdrive/boardd/pigeon.cc index 9b3bcd317b..356a2454d3 100644 --- a/selfdrive/boardd/pigeon.cc +++ b/selfdrive/boardd/pigeon.cc @@ -99,15 +99,18 @@ void Pigeon::init() { if (!send_with_ack("\xB5\x62\x06\x08\x06\x00\x64\x00\x01\x00\x00\x00\x79\x10"s)) continue; if (!send_with_ack("\xB5\x62\x06\x24\x24\x00\x05\x00\x04\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5A\x63"s)) continue; if (!send_with_ack("\xB5\x62\x06\x1E\x14\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3C\x37"s)) continue; + if (!send_with_ack("\xB5\x62\x06\x39\x08\x00\x33\xAC\x62\xAD\x1E\x63\x00\x00\xB6\xA5"s)) continue; if (!send_with_ack("\xB5\x62\x06\x24\x00\x00\x2A\x84"s)) continue; if (!send_with_ack("\xB5\x62\x06\x23\x00\x00\x29\x81"s)) continue; if (!send_with_ack("\xB5\x62\x06\x1E\x00\x00\x24\x72"s)) continue; + if (!send_with_ack("\xB5\x62\x06\x39\x00\x00\x3F\xC3"s)) continue; if (!send_with_ack("\xB5\x62\x06\x01\x03\x00\x01\x07\x01\x13\x51"s)) continue; if (!send_with_ack("\xB5\x62\x06\x01\x03\x00\x02\x15\x01\x22\x70"s)) continue; if (!send_with_ack("\xB5\x62\x06\x01\x03\x00\x02\x13\x01\x20\x6C"s)) continue; if (!send_with_ack("\xB5\x62\x06\x01\x03\x00\x0A\x09\x01\x1E\x70"s)) continue; if (!send_with_ack("\xB5\x62\x06\x01\x03\x00\x0A\x0B\x01\x20\x74"s)) continue; + LOGW("panda GPS on"); return; } diff --git a/selfdrive/locationd/test/ublox.py b/selfdrive/locationd/test/ublox.py index 006382dba7..51bc85d9ac 100644 --- a/selfdrive/locationd/test/ublox.py +++ b/selfdrive/locationd/test/ublox.py @@ -96,6 +96,7 @@ MSG_CFG_NMEA = 0x17 MSG_CFG_NVS = 0x22 MSG_CFG_PM2 = 0x3B MSG_CFG_PM = 0x32 +MSG_CFG_ITMF = 0x39 MSG_CFG_RINV = 0x34 MSG_CFG_RST = 0x04 MSG_CFG_RXM = 0x11 @@ -365,6 +366,11 @@ msg_types = { 'portID', 'reserved0', 'txReady', 'mode', 'baudRate', 'inProtoMask', 'outProtoMask', 'reserved4', 'reserved5' ]), + (CLASS_CFG, MSG_CFG_ITMF): + UBloxDescriptor('CFG_ITMF', ' UbloxMsgParser::gen_rxm_rawx(ubx_t::rxm_rawx_t *msg) { kj::Array UbloxMsgParser::gen_mon_hw(ubx_t::mon_hw_t *msg) { MessageBuilder msg_builder; auto hwStatus = msg_builder.initEvent().initUbloxGnss().initHwStatus(); + std::cout << int(msg->flags()) << "\n ------- \n"; hwStatus.setNoisePerMS(msg->noise_per_ms()); hwStatus.setAgcCnt(msg->agc_cnt()); hwStatus.setAStatus((cereal::UbloxGnss::HwStatus::AntennaSupervisorState) msg->a_status());