DESERT 3.5.1
Loading...
Searching...
No Matches
uwPosBasedRt-hdr.h
Go to the documentation of this file.
1//
2// Copyright (c) 2017 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28//
29
40#ifndef HDR_UWPOS_BASED_RT_H
41#define HDR_UWPOS_BASED_RT_H
42
43#include <packet.h>
44
45#define HDR_UWPOS_BASED_RT(p) (hdr_uwpos_based_rt::access(p))
46
47extern packet_t PT_UWPOSBASEDRT;
48
52typedef struct hdr_uwpos_based_rt {
53
54 double x_ROV_;
55 double y_ROV_;
56 double z_ROV_;
57 double timestamp_;
58 double x_wp_;
59 double y_wp_;
60 double z_wp_;
61 double ROV_speed_;
62 uint8_t ipROV_; /***<IP of the ROV related to the informations inserted in
63 the header. */
64
65 static int offset_;
68 inline double& x_ROV()
69 {
70 return x_ROV_;
71 }
72
73 inline double& y_ROV()
74 {
75 return y_ROV_;
76 }
77
78 inline double& z_ROV()
79 {
80 return z_ROV_;
81 }
82
83 inline double& timestamp()
84 {
85 return timestamp_;
86 }
87
88 inline double& x_waypoint()
89 {
90 return x_wp_;
91 }
92
93 inline double& y_waypoint()
94 {
95 return y_wp_;
96 }
97
98 inline double& z_waypoint()
99 {
100 return z_wp_;
101 }
102
103 inline double& ROV_speed()
104 {
105 return ROV_speed_;
106 }
107
108 inline uint8_t& IP_ROV()
109 {
110 return ipROV_;
111 }
112
113
117 inline static int &
119 {
120 return offset_;
121 }
122
123
124
125 inline static struct hdr_uwpos_based_rt *
126 access(const Packet *p)
127 {
128 return (struct hdr_uwpos_based_rt *) p->access(offset_);
129 }
131
132#endif // HDR_UWPOS_BASED_RT_H
hdr_uwpos_based_rt describes packets used by UWPOSBASEDRT.
double z_wp_
z coordinate of the last received waypoint
static struct hdr_uwpos_based_rt * access(const Packet *p)
double timestamp_
To check validity of packet inormations.
static int offset_
Required by the PacketHeaderManager.
double z_ROV_
ROV z coordinate at the moment when packet is generated.
double x_ROV_
ROV x coordinate at the moment when packet is generated.
double y_wp_
y coordinate of the last received waypoint
static int & offset()
Reference to the offset_ variable.
double y_ROV_
ROV y coordinate at the moment when packet is generated.
double x_wp_
x coordinate of the last received waypoint