memory_blocs_parsers/external_data/vtg.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 Vtg : public MemoryBlockParser
11 {
12 public:
13  Vtg(int bit_pose) : MemoryBlockParser(bit_pose, 17) {}
14  void parse(boost::asio::const_buffer& buffer,
15  Data::BinaryNav& outBinaryNav) override
16  {
17  Data::Vtg res;
18  buffer >> res.validityTime_100us >> res.vtg_id >> res.true_course_deg >>
20  fillRes(res, outBinaryNav);
21  }
22  virtual void fillRes(const Data::Vtg& res, Data::BinaryNav& outBinaryNav) = 0;
23 };
24 
25 class Vtg1 : public Vtg
26 {
27 public:
28  Vtg1() : Vtg(25) {}
29 
30 protected:
31  void fillRes(const Data::Vtg& res, Data::BinaryNav& outBinaryNav)
32  {
33  outBinaryNav.vtg1 = res;
34  }
35 };
36 
37 class Vtg2 : public Vtg
38 {
39 public:
40  Vtg2() : Vtg(26) {}
41 
42 protected:
43  void fillRes(const Data::Vtg& res, Data::BinaryNav& outBinaryNav)
44  {
45  outBinaryNav.vtg2 = res;
46  }
47 };
48 
49 } // namespace Parser
50 } // namespace ixblue_stdbin_decoder
void fillRes(const Data::Vtg &res, Data::BinaryNav &outBinaryNav)
void fillRes(const Data::Vtg &res, Data::BinaryNav &outBinaryNav)
boost::optional< Vtg > vtg2
Definition: stdbin.h:138
boost::optional< Vtg > vtg1
Definition: stdbin.h:137
virtual void fillRes(const Data::Vtg &res, Data::BinaryNav &outBinaryNav)=0
void parse(boost::asio::const_buffer &buffer, Data::BinaryNav &outBinaryNav) override


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