phins_ixsea
Driver.hpp
Go to the documentation of this file.
1 /*
2  * Driver.hpp
3  *
4  * Created on: 12.06.2012
5  * Author: jrenken
6  */
7 
8 #ifndef _PHINS_IXSEA_DRIVER_HPP_
9 #define _PHINS_IXSEA_DRIVER_HPP_
10 
11 #include <iodrivers_base/Driver.hpp>
12 #include <phins_ixsea/Parser.hpp>
13 #include <phins_ixsea/PhinsTypes.hpp>
14 #include <phins_ixsea/PhinsRaw.hpp>
15 #include <base/samples/RigidBodyState.hpp>
16 
17 
18 namespace phins_ixsea
19 {
40  class Driver : public iodrivers_base::Driver
41  {
42  std::vector<uint8_t> mBuffer;
43  Parser* mParser;
44 
45  base::samples::RigidBodyState mUtmPose;
46  base::samples::RigidBodyState mGeoPose;
47 
48  uint32_t mUpdateFlags;
49 
50  PhinsStatus mPhinsStatus;
51  PhinsExtStatus mPhinsExtStatus;
52 
53  int extractPacket (uint8_t const *buffer, size_t buffer_size) const;
54 
55 
56  void updateSamples();
57 
58 
59  public:
60  Driver(Protocol protocol = PhinsStandard);
61  virtual ~Driver();
62 
63  void setParser(Protocol protocol);
64 
65  void read();
66  bool hasUpdate(uint32_t flags, bool reset = false);
67  const base::samples::RigidBodyState& utmPose() const;
68  const base::samples::RigidBodyState& geoPose() const;
69 
70  base::samples::RigidBodyState relativePose(const base::Position origin) const;
71 
72  PhinsStatus phinsStatus() const;
75  };
76 
77 } // end namespace phins_ixsea
78 
79 #endif // _PHINS_IXSEA_DRIVER_HPP_
Definition: PhinsTypes.hpp:137
Definition: PhinsTypes.hpp:110
NavigationMode navigationMode() const
Definition: Driver.cpp:162
Driver for the IXSEA inertial navigation system PHINS The PHINS provides position and attitude data ...
Definition: Driver.hpp:40
Protocol
Definition: PhinsTypes.hpp:109
PhinsStatus phinsStatus() const
Definition: Driver.cpp:152
Definition: Parser.hpp:24
Definition: Driver.hpp:18
void read()
Definition: Driver.cpp:49
const base::samples::RigidBodyState & geoPose() const
Definition: Driver.cpp:139
Driver(Protocol protocol=PhinsStandard)
Definition: Driver.cpp:15
virtual ~Driver()
Definition: Driver.cpp:30
base::samples::RigidBodyState relativePose(const base::Position origin) const
Definition: Driver.cpp:144
void setParser(Protocol protocol)
Definition: Driver.cpp:35
NavigationMode
Definition: PhinsTypes.hpp:115
bool hasUpdate(uint32_t flags, bool reset=false)
Definition: Driver.cpp:123
Definition: PhinsTypes.hpp:127
const base::samples::RigidBodyState & utmPose() const
Definition: Driver.cpp:135
PhinsExtStatus phinsExtStatus() const
Definition: Driver.cpp:157