memory_blocs_parsers/external_data/lbl.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 Lbl : public MemoryBlockParser
11 {
12 public:
13  Lbl(int bit_pose) : MemoryBlockParser(bit_pose, 41) {}
14  void parse(boost::asio::const_buffer& buffer,
15  Data::BinaryNav& outBinaryNav) override
16  {
17  Data::Lbl res;
18  buffer >> res.validityTime_100us >> res.rfu >> res.beacon_id >>
20  res.beacon_altitude_m >> res.range_m >> res.range_stddev_m;
21  fillRes(res, outBinaryNav);
22  }
23  virtual void fillRes(const Data::Lbl& res, Data::BinaryNav& outBinaryNav) = 0;
24 };
25 
26 class Lbl1 : public Lbl
27 {
28 public:
29  Lbl1() : Lbl(14) {}
30 
31 protected:
32  void fillRes(const Data::Lbl& res, Data::BinaryNav& outBinaryNav)
33  {
34  outBinaryNav.lbl1 = res;
35  }
36 };
37 
38 class Lbl2 : public Lbl
39 {
40 public:
41  Lbl2() : Lbl(15) {}
42 
43 protected:
44  void fillRes(const Data::Lbl& res, Data::BinaryNav& outBinaryNav)
45  {
46  outBinaryNav.lbl2 = res;
47  }
48 };
49 
50 class Lbl3 : public Lbl
51 {
52 public:
53  Lbl3() : Lbl(16) {}
54 
55 protected:
56  void fillRes(const Data::Lbl& res, Data::BinaryNav& outBinaryNav)
57  {
58  outBinaryNav.lbl3 = res;
59  }
60 };
61 
62 class Lbl4 : public Lbl
63 {
64 public:
65  Lbl4() : Lbl(17) {}
66 
67 protected:
68  void fillRes(const Data::Lbl& res, Data::BinaryNav& outBinaryNav)
69  {
70  outBinaryNav.lbl4 = res;
71  }
72 };
73 
74 } // namespace Parser
75 } // namespace ixblue_stdbin_decoder
ixblue_stdbin_decoder::Data::Lbl::beacon_id
std::array< uint8_t, 8 > beacon_id
Definition: data_models/external_data/lbl.h:14
ixblue_stdbin_decoder::Data::BinaryNav::lbl4
boost::optional< Lbl > lbl4
Definition: stdbin.h:130
ixblue_stdbin_decoder::Data::Lbl::validityTime_100us
int32_t validityTime_100us
Definition: data_models/external_data/lbl.h:12
ixblue_stdbin_decoder::Parser::Lbl4
Definition: memory_blocs_parsers/external_data/lbl.h:62
ixblue_stdbin_decoder::Parser::Lbl2
Definition: memory_blocs_parsers/external_data/lbl.h:38
ixblue_stdbin_decoder::Data::BinaryNav::lbl2
boost::optional< Lbl > lbl2
Definition: stdbin.h:128
ixblue_stdbin_decoder::Parser::Lbl3::fillRes
void fillRes(const Data::Lbl &res, Data::BinaryNav &outBinaryNav)
Definition: memory_blocs_parsers/external_data/lbl.h:56
memory_block_parser.h
ixblue_stdbin_decoder::Parser::Lbl4::Lbl4
Lbl4()
Definition: memory_blocs_parsers/external_data/lbl.h:65
ixblue_stdbin_decoder::Parser::Lbl::parse
void parse(boost::asio::const_buffer &buffer, Data::BinaryNav &outBinaryNav) override
Definition: memory_blocs_parsers/external_data/lbl.h:14
ixblue_stdbin_decoder::Parser::Lbl2::fillRes
void fillRes(const Data::Lbl &res, Data::BinaryNav &outBinaryNav)
Definition: memory_blocs_parsers/external_data/lbl.h:44
ixblue_stdbin_decoder::Parser::Lbl::Lbl
Lbl(int bit_pose)
Definition: memory_blocs_parsers/external_data/lbl.h:13
ixblue_stdbin_decoder::MemoryBlockParser
Definition: memory_block_parser.h:33
ixblue_stdbin_decoder::Data::BinaryNav
Definition: stdbin.h:67
ixblue_stdbin_decoder::Parser::Lbl1::fillRes
void fillRes(const Data::Lbl &res, Data::BinaryNav &outBinaryNav)
Definition: memory_blocs_parsers/external_data/lbl.h:32
ixblue_stdbin_decoder::Parser::Lbl4::fillRes
void fillRes(const Data::Lbl &res, Data::BinaryNav &outBinaryNav)
Definition: memory_blocs_parsers/external_data/lbl.h:68
ixblue_stdbin_decoder::Parser::Lbl::fillRes
virtual void fillRes(const Data::Lbl &res, Data::BinaryNav &outBinaryNav)=0
ixblue_stdbin_decoder::Data::Lbl::beacon_latitude_deg
double beacon_latitude_deg
Definition: data_models/external_data/lbl.h:15
ixblue_stdbin_decoder::Data::Lbl::range_stddev_m
float range_stddev_m
Definition: data_models/external_data/lbl.h:19
ixblue_stdbin_decoder::Data::Lbl::beacon_altitude_m
float beacon_altitude_m
Definition: data_models/external_data/lbl.h:17
lbl.h
ixblue_stdbin_decoder::Parser::Lbl
Definition: memory_blocs_parsers/external_data/lbl.h:10
ixblue_stdbin_decoder::Data::Lbl::range_m
float range_m
Definition: data_models/external_data/lbl.h:18
ixblue_stdbin_decoder::Data::Lbl
Definition: data_models/external_data/lbl.h:10
ixblue_stdbin_decoder::Parser::Lbl3
Definition: memory_blocs_parsers/external_data/lbl.h:50
ixblue_stdbin_decoder::Parser::Lbl2::Lbl2
Lbl2()
Definition: memory_blocs_parsers/external_data/lbl.h:41
ixblue_stdbin_decoder::Data::BinaryNav::lbl3
boost::optional< Lbl > lbl3
Definition: stdbin.h:129
ixblue_stdbin_decoder::Parser::Lbl1
Definition: memory_blocs_parsers/external_data/lbl.h:26
ixblue_stdbin_decoder::Data::BinaryNav::lbl1
boost::optional< Lbl > lbl1
Definition: stdbin.h:127
ixblue_stdbin_decoder::Parser::Lbl1::Lbl1
Lbl1()
Definition: memory_blocs_parsers/external_data/lbl.h:29
ixblue_stdbin_decoder::Data::Lbl::rfu
uint8_t rfu
Definition: data_models/external_data/lbl.h:13
ixblue_stdbin_decoder::Parser::Lbl3::Lbl3
Lbl3()
Definition: memory_blocs_parsers/external_data/lbl.h:53
ixblue_stdbin_decoder
Definition: data_models/extended_navigation_data/raw_rotation_rate_vessel_frame.h:3
ixblue_stdbin_decoder::Data::Lbl::beacon_longitude_deg
double beacon_longitude_deg
Definition: data_models/external_data/lbl.h:16


ixblue_stdbin_decoder
Author(s): Adrien BARRAL , Laure LEBROTON
autogenerated on Wed Apr 6 2022 02:55:48