dont conflate in ubloxd
parent
224672705c
commit
10cb6ab87a
|
@ -27,7 +27,6 @@ void set_do_exit(int sig) {
|
|||
}
|
||||
|
||||
using namespace ublox;
|
||||
const long ZMQ_POLL_TIMEOUT = 1000; // In miliseconds
|
||||
int ubloxd_main(poll_ubloxraw_msg_func poll_func, send_gps_event_func send_func) {
|
||||
LOGW("starting ubloxd");
|
||||
signal(SIGINT, (sighandler_t) set_do_exit);
|
||||
|
@ -35,13 +34,25 @@ int ubloxd_main(poll_ubloxraw_msg_func poll_func, send_gps_event_func send_func)
|
|||
|
||||
UbloxMsgParser parser;
|
||||
|
||||
SubMaster sm({"ubloxRaw"});
|
||||
Context * context = Context::create();
|
||||
SubSocket * subscriber = SubSocket::create(context, "ubloxRaw");
|
||||
assert(subscriber != NULL);
|
||||
|
||||
PubMaster pm({"ubloxGnss", "gpsLocationExternal"});
|
||||
|
||||
while (!do_exit) {
|
||||
if (sm.update(ZMQ_POLL_TIMEOUT) == 0) continue;
|
||||
Message * msg = subscriber->receive();
|
||||
if (!msg){
|
||||
continue;
|
||||
}
|
||||
|
||||
auto amsg = kj::heapArray<capnp::word>((msg->getSize() / sizeof(capnp::word)) + 1);
|
||||
memcpy(amsg.begin(), msg->getData(), msg->getSize());
|
||||
|
||||
capnp::FlatArrayMessageReader cmsg(amsg);
|
||||
cereal::Event::Reader event = cmsg.getRoot<cereal::Event>();
|
||||
auto ubloxRaw = event.getUbloxRaw();
|
||||
|
||||
auto ubloxRaw = sm["ubloxRaw"].getUbloxRaw();
|
||||
const uint8_t *data = ubloxRaw.begin();
|
||||
size_t len = ubloxRaw.size();
|
||||
size_t bytes_consumed = 0;
|
||||
|
@ -93,7 +104,11 @@ int ubloxd_main(poll_ubloxraw_msg_func poll_func, send_gps_event_func send_func)
|
|||
}
|
||||
bytes_consumed += bytes_consumed_this_time;
|
||||
}
|
||||
free(msg);
|
||||
}
|
||||
|
||||
delete subscriber;
|
||||
delete context;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue