ublox_msg.cc: simplify map operations in gen_nav_data (#2004)

* simplify map operations in gen_nav_data

* same as before

* rebase master
pull/19546/head
Dean Lee 5 years ago committed by GitHub
parent d6caca9433
commit 3bf43bd7e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      selfdrive/locationd/ublox_msg.cc

@ -282,13 +282,15 @@ kj::Array<capnp::word> UbloxMsgParser::gen_nav_data() {
for(int i = 0; i < msg->numWords;i++) for(int i = 0; i < msg->numWords;i++)
words.push_back(measurements[i].dwrd); words.push_back(measurements[i].dwrd);
if(subframeId == 1) { subframes_map &map = nav_frame_buffer[msg->gnssId][msg->svid];
nav_frame_buffer[msg->gnssId][msg->svid] = subframes_map(); if (subframeId == 1) {
nav_frame_buffer[msg->gnssId][msg->svid][subframeId] = words; map = subframes_map();
} else if(nav_frame_buffer[msg->gnssId][msg->svid].find(subframeId-1) != nav_frame_buffer[msg->gnssId][msg->svid].end()) map[subframeId] = words;
nav_frame_buffer[msg->gnssId][msg->svid][subframeId] = words; } else if (map.find(subframeId-1) != map.end()) {
if(nav_frame_buffer[msg->gnssId][msg->svid].size() == 5) { map[subframeId] = words;
EphemerisData ephem_data(msg->svid, nav_frame_buffer[msg->gnssId][msg->svid]); }
if(map.size() == 5) {
EphemerisData ephem_data(msg->svid, map);
MessageBuilder msg_builder; MessageBuilder msg_builder;
auto eph = msg_builder.initEvent().initUbloxGnss().initEphemeris(); auto eph = msg_builder.initEvent().initUbloxGnss().initEphemeris();
eph.setSvId(ephem_data.svId); eph.setSvId(ephem_data.svId);

Loading…
Cancel
Save