memory_blocs_parsers/external_data/usbl.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace ixblue_stdbin_decoder
7 {
8 namespace Parser
9 {
10 class Usbl : public MemoryBlockParser
11 {
12 public:
13  Usbl(int bit_pose) : MemoryBlockParser(bit_pose, 49) {}
14  void parse(boost::asio::const_buffer& buffer,
15  Data::BinaryNav& outBinaryNav) override
16  {
17  Data::Usbl res;
18  buffer >> res.validityTime_100us >> res.usbl_id >> res.beacon_id >>
19  res.latitude_deg >> res.longitude_deg >> res.altitude_m >>
20  res.north_stddev_m >> res.east_stddev_m >> res.lat_lon_cov_m2 >>
22  fillRes(res, outBinaryNav);
23  }
24  virtual void fillRes(const Data::Usbl& res, Data::BinaryNav& outBinaryNav) = 0;
25 };
26 
27 class Usbl1 : public Usbl
28 {
29 public:
30  Usbl1() : Usbl(6) {}
31 
32 protected:
33  void fillRes(const Data::Usbl& res, Data::BinaryNav& outBinaryNav)
34  {
35  outBinaryNav.usbl1 = res;
36  }
37 };
38 
39 class Usbl2 : public Usbl
40 {
41 public:
42  Usbl2() : Usbl(7) {}
43 
44 protected:
45  void fillRes(const Data::Usbl& res, Data::BinaryNav& outBinaryNav)
46  {
47  outBinaryNav.usbl2 = res;
48  }
49 };
50 
51 class Usbl3 : public Usbl
52 {
53 public:
54  Usbl3() : Usbl(8) {}
55 
56 protected:
57  void fillRes(const Data::Usbl& res, Data::BinaryNav& outBinaryNav)
58  {
59  outBinaryNav.usbl3 = res;
60  }
61 };
62 
63 } // namespace Parser
64 } // namespace ixblue_stdbin_decoder
boost::optional< Usbl > usbl3
Definition: stdbin.h:121
boost::optional< Usbl > usbl1
Definition: stdbin.h:119
void fillRes(const Data::Usbl &res, Data::BinaryNav &outBinaryNav)
void fillRes(const Data::Usbl &res, Data::BinaryNav &outBinaryNav)
void parse(boost::asio::const_buffer &buffer, Data::BinaryNav &outBinaryNav) override
boost::optional< Usbl > usbl2
Definition: stdbin.h:120
virtual void fillRes(const Data::Usbl &res, Data::BinaryNav &outBinaryNav)=0
void fillRes(const Data::Usbl &res, Data::BinaryNav &outBinaryNav)


ixblue_stdbin_decoder
Author(s): Adrien BARRAL , Laure LEBROTON
autogenerated on Sat Jan 9 2021 03:13:21