From 3bf43bd7e357fae0502a98dbca1af88893a0b892 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Sun, 20 Dec 2020 06:13:31 +0800 Subject: [PATCH] ublox_msg.cc: simplify map operations in gen_nav_data (#2004) * simplify map operations in gen_nav_data * same as before * rebase master --- selfdrive/locationd/ublox_msg.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/selfdrive/locationd/ublox_msg.cc b/selfdrive/locationd/ublox_msg.cc index 74d56ed344..8e7656f45e 100644 --- a/selfdrive/locationd/ublox_msg.cc +++ b/selfdrive/locationd/ublox_msg.cc @@ -282,13 +282,15 @@ kj::Array UbloxMsgParser::gen_nav_data() { for(int i = 0; i < msg->numWords;i++) words.push_back(measurements[i].dwrd); - if(subframeId == 1) { - nav_frame_buffer[msg->gnssId][msg->svid] = subframes_map(); - nav_frame_buffer[msg->gnssId][msg->svid][subframeId] = words; - } else if(nav_frame_buffer[msg->gnssId][msg->svid].find(subframeId-1) != nav_frame_buffer[msg->gnssId][msg->svid].end()) - nav_frame_buffer[msg->gnssId][msg->svid][subframeId] = words; - if(nav_frame_buffer[msg->gnssId][msg->svid].size() == 5) { - EphemerisData ephem_data(msg->svid, nav_frame_buffer[msg->gnssId][msg->svid]); + subframes_map &map = nav_frame_buffer[msg->gnssId][msg->svid]; + if (subframeId == 1) { + map = subframes_map(); + map[subframeId] = words; + } else if (map.find(subframeId-1) != map.end()) { + map[subframeId] = words; + } + if(map.size() == 5) { + EphemerisData ephem_data(msg->svid, map); MessageBuilder msg_builder; auto eph = msg_builder.initEvent().initUbloxGnss().initEphemeris(); eph.setSvId(ephem_data.svId);