phins_ixsea
PhinsRaw.hpp
Go to the documentation of this file.
1 /*
2  * PhinsRaw.hpp
3  *
4  * Created on: 08.02.2013
5  * Author: jrenken
6  */
7 
8 #ifndef _PHINS_IXSEA_PHINSRAW_HPP_
9 #define _PHINS_IXSEA_PHINSRAW_HPP_
10 
11 #include <stdint.h>
12 #include <base/Time.hpp>
13 
14 namespace phins_ixsea {
15 
16  enum UpdateFlags {
20  UPD_HPR = 6,
21  UPD_SPEED = 8,
22  UPD_UTMPOS = 16,
23  UPD_HEAVE = 32,
25  UPD_DEV_ATT = 128,
26  UPD_DEV_SPD = 256,
31  UPD_STATUS = 3584,
33  UPD_TIME = 16384,
34  UPD_DVL = 16384,
35  UPD_BODY_ROTATION_RATE = 0x00010000,
36  UPD_BODY_SPEED = 0x00020000
37 
38  };
39 
40  enum PhinsStatusL {
41  SERIAL_IN_R_ERR = 0x00000001,
42  INP_A_ERR = 0x00000002,
43  INP_B_ERR = 0x00000004,
44  INP_C_ERR = 0x00000008,
45  INP_D_ERR = 0x00000010,
46  INP_E_ERR = 0x00000020,
47  INPUT_R_ACTIVITY = 0x00000100,
48  INPUT_A_ACTIVITY = 0x00000200,
49  INPUT_B_ACTIVITY = 0x00000400,
50  INPUT_C_ACTIVITY = 0x00000800,
51  INPUT_D_ACTIVITY = 0x00001000,
52  INPUT_E_ACTIVITY = 0x00002000,
53  OUTPUT_R_FULL = 0x00010000,
54  OUTPUT_A_FULL = 0x00020000,
55  OUTPUT_B_FULL = 0x00040000,
56  OUTPUT_C_FULL = 0x00080000,
57  OUTPUT_D_FULL = 0x00100000,
58  OUTPUT_E_FULL = 0x00200000,
59  ETHERNET_PORT_FULL = 0x00400000,
60  EXTERNAL_TIME_USED = 0x01000000,
61  ETHERNET_PORT_ACTIVITY = 0x04000000,
62  PULSE_IN_A_ACTIVITY = 0x08000000,
63  PULSE_IN_B_ACTIVITY = 0x10000000,
64  PULSE_IN_C_ACTIVITY =0x20000000,
65  PULSE_IN_D_ACTIVITY = 0x40000000
66  };
67 
68  enum PhinsStatusH {
69  DVL_BT_DETECTED = 0x00000001,
70  DVL_WT_DETECTED = 0x00000002,
71  GPS_DETECTED = 0x00000004,
72  GPS2_DETECTED = 0x00000008,
73  USBL_DETECTED = 0x00000010,
74  LBL_DETECTED = 0x00000020,
75  DEPTH_DETECTED = 0x00000040,
76  EMLOG_DETECTED = 0x00000080,
77  DMI_DETECTED = 0x00000100,
78  UTC_DETECTED = 0x00000200,
79  ALTITUDE_DETECTED = 0x00000400,
80  PPS_DETECTED = 0x00000800,
81  ZUP_MODE_ACTIVATED = 0x00001000,
82  MANUAL_GPS_DETECTED = 0x00004000,
83  CTD_DETECTED = 0x00008000,
84  SIMULATION_MODE = 0x00010000,
85  DSP_INCOMPATIBILITY = 0x00040000,
86  HEADING_ALERT = 0x00080000,
87  POSITION_ALERT = 0x00100000,
88  WAIT_FOR_POSITION = 0x00200000,
89  MPC_OVERLOAD = 0x08000000,
90  POWER_SUPPLY_FAILURE = 0x10000000,
91  RD_MODE = 0x20000000,
92  CONFIGURATION_SAVED = 0x40000000
93  };
94 
96  NAVIG = 0x00000001,
97  ALIGNE = 0x00000002,
98  FINE_ALIGNE = 0x00000004,
99  DEAD_RECKONING =0x00000008,
100  GPS_ALTITUDE =0x00000010,
101  DEPTHSENSOR_ALTITUDE =0x00000020,
102  ZERO_ALTITUDE =0x00000040,
103  HYDRO_ALTITUDE =0x00000080,
104  LOG_RECEIVED =0x00000100,
105  LOG_VALID =0x00000200,
106  LOG_WAITING =0x00000400,
107  LOG_REJECTED =0x00000800,
108  GPS_RECEIVED =0x00001000,
109  GPS_VALID =0x00002000,
110  GPS_WAITING =0x00004000,
111  GPS_REJECTED =0x00008000,
112  USBL_RECEIVED =0x00010000,
113  USBL_VALID =0x00020000,
114  USBL_WAITING =0x00040000,
115  USBL_REJECTED =0x00080000,
116  DEPTH_RECEIVED =0x00100000,
117  DEPTH_VALID =0x00200000,
118  DEPTH_WAITING =0x00400000,
119  DEPTH_REJECTED =0x00800000,
120  LBL_RECEIVED =0x01000000,
121  LBL_VALID =0x02000000,
122  LBL_WAITING = 0x04000000,
123  LBL_REJECTED =0x08000000,
124  ALT_SATURATION =0x10000000,
125  SPD_SATURATION =0x20000000,
126  INTERPOLATION_MISSED =0x40000000,
128  };
129 
131  WATERTRACK_RECEIVED = 0x00000001,
132  WATERTRACK_VALID = 0x00000002,
133  WATERTRACK_WAITING = 0x00000004,
134  WATERTRACK_REJECTED = 0x00000008,
135  GPS2_RECEIVED = 0x00000010,
136  GPS2_VALID = 0x00000020,
137  GPS2_WAITING = 0x00000040,
138  GPS2_REJECTED = 0x00000080,
139  ALTITUDE_RECEIVED = 0x00001000,
140  ALTITUDE_VALID = 0x00002000,
141  ALTITUDE_WAITING = 0x00004000,
142  ALTITUDE_REJECTED = 0x00008000,
143  ZUPT_MODE_ACTIVATED = 0x00010000,
144  ZUPT_MODE_VALID = 0x00020000,
147  STATIC_CONVERGENCE_ON = 0x00100000,
148  STATIC_CONV_GO_TO_NAV = 0x00200000,
149  FAST_ALIGNEMENT = 0x00400000,
150  EMULATION_MODE = 0x00800000,
151  EMLOG_RECEIVED = 0x01000000,
152  EMLOG_VALID = 0x02000000,
153  EMLOG_WAITING = 0x04000000,
154  EMLOG_REJECTED = 0x08000000,
155  MANUALGPS_RECEIVED = 0x10000000,
156  MANUALGPS_VALID = 0x20000000,
157  MANUALGPS_WAITING = 0x40000000,
158  MANUALGPS_REJECTED = 0x80000000
159  };
160 
162  DVL_RECEIVED_VALID = 0x00000001,
163  GPS_RECEIVED_VALID = 0x00000002,
164  DEPTH_RECEIVED_VALID = 0x00000004,
165  USBL_RECEIVED_VALID = 0x00000008,
166  LBL_RECEIVED_VALID = 0x00000010,
167  GPS2_RECEIVED_VALID = 0x00000020,
168  EMLOG_RECEIVED_VALID = 0x00000040,
170  TIME_RECEIVED_VALID = 0x00000100,
171  FOG_ANOMALY = 0x00000200,
172  ACC_ANOMALY = 0x00000400,
173  TEMPERATURE_ERR = 0x00000800,
174  CPU_OVERLOAD = 0x00001000,
175  DYNAMIC_EXCEDEED = 0x00002000,
176  SPEED_SATURATION = 0x00004000,
177  ALTITUDE_SATURATION = 0x00008000,
178  INPUT_A_ERR = 0x00010000,
179  INPUT_B_ERR = 0x00020000,
180  INPUT_C_ERR = 0x00040000,
181  INPUT_D_ERR = 0x00080000,
182  INPUT_E_ERR = 0x00100000,
183  OUTPUT_A_ERR = 0x00200000,
184  OUTPUT_B_ERR = 0x00400000,
185  OUTPUT_C_ERR = 0x00800000,
186  OUTPUT_D_ERR = 0x01000000,
187  OUTPUT_E_ERR = 0x02000000,
188  HRP_INVALID = 0x04000000,
189  ALIGNEMENT = 0x08000000,
190  FINE_ALIGNEMENT = 0x10000000,
191  NAVIGATION = 0x20000000,
192  DEGRADED = 0x40000000,
193  FAILURE = 0x80000000
194  };
195 
197  STATUS_DV_VALID = 0x00000001,
198  STATUS_GPS_VALID = 0x00000002,
199  STATUS_DPTH_VALID = 0x00000004,
200  STATUS_USBL_VALID = 0x00000008,
201  STATUS_LBL_VALID = 0x00000010,
202  STATUS_GPS2_VALID = 0x00000020,
203  STATUS_EMLOG_VALID = 0x00000040,
204  STATUS_MANGPS_VALID = 0x00000080,
205  STATUS_TIME_VALID = 0x00000100
206  };
207 
209  STATUS_INPUTA_ERR = 0x00000001,
210  STATUS_INPUTB_ERR = 0x00000002,
211  STATUS_INPUTC_ERR = 0x00000004,
212  STATUS_INPUTD_ERR = 0x00000008,
213  STATUS_INPUTE_ERR = 0x00000010
214  };
216  STATUS_OUTPUTA_ERR = 0x00000001,
217  STATUS_OUTPUTB_ERR = 0x00000002,
218  STATUS_OUTPUTC_ERR = 0x00000004,
219  STATUS_OUTPUTD_ERR = 0x00000008,
220  STATUS_OUTPUTE_ERR = 0x00000010
221  };
222 
224  STATUS_FOG = 0x00000001,
225  STATUS_ACC = 0x00000002,
226  STATUS_TEMP = 0x00000004,
227  STATUS_CPU = 0x00000008,
228  STATUS_DYNAMIC = 0x00000010,
229  STATUS_SPEED = 0x00000020,
230  STATUS_ALTITUDE = 0x00000040,
231  STATUS_HPR = 0x00000080,
232  };
233 
235  STATUS_ALIGNE = 0x00000001,
236  STATUS_FINE_ALIGNE = 0x00000002,
237  STATUS_NAVIGATION = 0x00000004,
238  STATUS_DEGRADED = 0x00000008,
239  STATUS_FAILURE = 0x00000010,
240 
241  };
242 
243 
244  struct PhinsRawData {
245  double pos_latitude;
247  double pos_altitude;
248 
249  double att_heading;
250  double att_roll;
251  double att_pitch;
252 
253  double spd_east;
254  double spd_north;
255  double spd_up;
256 
259  double utm_pos_east;
261  double utm_altitude;
262 
263  double heave_surge;
264  double heave_sway;
265  double heave_heave;
266 
270 
274 
278 
282 
288 
289  double dvl_altitude;
292 
293  double sound_speed;
294 
295  uint32_t status_LSB;
296  uint32_t status_MSB;
297  uint32_t algo_status_LSB;
298  uint32_t algo_status_MSB;
299 
300  uint32_t user_status;
301 
302  uint32_t other_status;
303 
304  base::Time time;
305 
306  };
307 
308 } // namespace phins_ixsea
309 
310 
311 #endif /* _PHINS_IXSEA_PHINSRAW_HPP_ */
Definition: PhinsRaw.hpp:31
Definition: PhinsRaw.hpp:123
Definition: PhinsRaw.hpp:200
UpdateFlags
Definition: PhinsRaw.hpp:16
Definition: PhinsRaw.hpp:116
Definition: PhinsRaw.hpp:30
Definition: PhinsRaw.hpp:209
Definition: PhinsRaw.hpp:25
double att_roll
Definition: PhinsRaw.hpp:250
Definition: PhinsRaw.hpp:140
Definition: PhinsRaw.hpp:174
Definition: PhinsRaw.hpp:81
PhinsStatusSensor
Definition: PhinsRaw.hpp:196
Definition: PhinsRaw.hpp:59
Definition: PhinsRaw.hpp:121
Definition: PhinsRaw.hpp:141
Definition: PhinsRaw.hpp:173
Definition: PhinsRaw.hpp:32
Definition: PhinsRaw.hpp:216
Definition: PhinsRaw.hpp:65
Definition: PhinsRaw.hpp:190
Definition: PhinsRaw.hpp:156
Definition: PhinsRaw.hpp:179
double horizontal_speed_course
Definition: PhinsRaw.hpp:283
Definition: PhinsRaw.hpp:61
Definition: PhinsRaw.hpp:64
Definition: PhinsRaw.hpp:106
Definition: PhinsRaw.hpp:139
Definition: PhinsRaw.hpp:217
Definition: PhinsRaw.hpp:51
Definition: PhinsRaw.hpp:142
Definition: PhinsRaw.hpp:182
Definition: PhinsRaw.hpp:29
Definition: PhinsRaw.hpp:91
Definition: PhinsRaw.hpp:191
Definition: PhinsRaw.hpp:78
Definition: PhinsRaw.hpp:226
Definition: PhinsRaw.hpp:119
Definition: PhinsRaw.hpp:176
Definition: PhinsRaw.hpp:122
PhinsStatusMode
Definition: PhinsRaw.hpp:234
Definition: PhinsRaw.hpp:227
Definition: PhinsRaw.hpp:239
Definition: PhinsRaw.hpp:88
Definition: PhinsRaw.hpp:126
Definition: PhinsRaw.hpp:111
Definition: PhinsRaw.hpp:203
Definition: PhinsRaw.hpp:19
Definition: PhinsRaw.hpp:49
Definition: PhinsRaw.hpp:202
double stddev_spd_east
Definition: PhinsRaw.hpp:276
uint32_t algo_status_LSB
Definition: PhinsRaw.hpp:297
Definition: PhinsRaw.hpp:184
Definition: PhinsRaw.hpp:24
Definition: PhinsRaw.hpp:230
Definition: PhinsRaw.hpp:20
Definition: PhinsRaw.hpp:143
Definition: PhinsRaw.hpp:58
Definition: PhinsRaw.hpp:151
Definition: PhinsRaw.hpp:33
Definition: PhinsRaw.hpp:170
Definition: PhinsRaw.hpp:199
Definition: PhinsRaw.hpp:47
PhinsStatusSystem
Definition: PhinsRaw.hpp:223
Definition: PhinsRaw.hpp:137
Definition: PhinsRaw.hpp:229
Definition: PhinsRaw.hpp:169
Definition: PhinsRaw.hpp:177
Definition: PhinsRaw.hpp:133
Definition: PhinsRaw.hpp:197
Definition: PhinsRaw.hpp:83
Definition: PhinsRaw.hpp:211
Definition: PhinsRaw.hpp:164
Definition: PhinsRaw.hpp:118
Definition: PhinsRaw.hpp:134
Definition: PhinsRaw.hpp:192
Definition: PhinsRaw.hpp:62
Definition: PhinsRaw.hpp:220
Definition: PhinsRaw.hpp:75
double stddev_att_roll
Definition: PhinsRaw.hpp:272
Definition: PhinsRaw.hpp:153
Definition: PhinsRaw.hpp:102
Definition: PhinsRaw.hpp:34
Definition: PhinsRaw.hpp:76
Definition: PhinsRaw.hpp:183
Definition: PhinsRaw.hpp:149
PhinsStatusL
Definition: PhinsRaw.hpp:40
double spd_north
Definition: PhinsRaw.hpp:254
Definition: PhinsRaw.hpp:213
Definition: PhinsRaw.hpp:127
Definition: PhinsRaw.hpp:79
Definition: PhinsRaw.hpp:84
Definition: PhinsRaw.hpp:48
Definition: PhinsRaw.hpp:82
double spd_vessel_xv2
Definition: PhinsRaw.hpp:286
Definition: PhinsRaw.hpp:175
double stddev_pos_longitude
Definition: PhinsRaw.hpp:268
Definition: PhinsRaw.hpp:212
double utm_altitude
Definition: PhinsRaw.hpp:261
Definition: PhinsRaw.hpp:144
Definition: PhinsRaw.hpp:201
Definition: PhinsRaw.hpp:92
double stddev_att_heading
Definition: PhinsRaw.hpp:271
Definition: PhinsRaw.hpp:101
Definition: PhinsRaw.hpp:138
uint32_t status_LSB
Definition: PhinsRaw.hpp:295
Definition: PhinsRaw.hpp:36
Definition: PhinsRaw.hpp:204
Definition: PhinsRaw.hpp:244
Definition: PhinsRaw.hpp:166
uint32_t user_status
Definition: PhinsRaw.hpp:300
Definition: PhinsRaw.hpp:225
Definition: PhinsRaw.hpp:147
Definition: PhinsRaw.hpp:90
double stddev_att_pitch
Definition: PhinsRaw.hpp:273
Definition: PhinsRaw.hpp:55
Definition: PhinsRaw.hpp:107
Definition: PhinsRaw.hpp:189
Definition: PhinsRaw.hpp:231
Definition: PhinsRaw.hpp:178
double stddev_pos_altitude
Definition: PhinsRaw.hpp:269
Definition: PhinsRaw.hpp:85
uint32_t status_MSB
Definition: PhinsRaw.hpp:296
Definition: PhinsRaw.hpp:145
double utm_pos_north
Definition: PhinsRaw.hpp:260
Definition: PhinsRaw.hpp:80
Definition: PhinsRaw.hpp:135
Definition: PhinsRaw.hpp:155
Definition: PhinsRaw.hpp:104
Definition: PhinsRaw.hpp:54
Definition: PhinsRaw.hpp:163
base::Time time
Definition: PhinsRaw.hpp:304
Definition: PhinsRaw.hpp:99
Definition: PhinsRaw.hpp:63
Definition: PhinsRaw.hpp:218
double stddev_spd_north
Definition: PhinsRaw.hpp:275
Definition: PhinsRaw.hpp:110
Definition: PhinsRaw.hpp:187
Definition: PhinsRaw.hpp:60
double sound_speed
Definition: PhinsRaw.hpp:293
Definition: PhinsRaw.hpp:42
Definition: Driver.hpp:18
Definition: PhinsRaw.hpp:157
Definition: PhinsRaw.hpp:186
Definition: PhinsRaw.hpp:44
PhinsStatusOutput
Definition: PhinsRaw.hpp:215
double stddev_pos_latitude
Definition: PhinsRaw.hpp:267
Definition: PhinsRaw.hpp:87
Definition: PhinsRaw.hpp:96
Definition: PhinsRaw.hpp:56
Definition: PhinsRaw.hpp:154
double spd_vessel_xv1
Definition: PhinsRaw.hpp:285
Definition: PhinsRaw.hpp:74
Definition: PhinsRaw.hpp:171
Definition: PhinsRaw.hpp:45
Definition: PhinsRaw.hpp:103
Definition: PhinsRaw.hpp:18
Definition: PhinsRaw.hpp:71
double pos_latitude
Definition: PhinsRaw.hpp:245
double rotation_rate_vessel_xv2
Definition: PhinsRaw.hpp:280
Definition: PhinsRaw.hpp:172
double rotation_rate_vessel_xv1
Definition: PhinsRaw.hpp:279
double heave_heave
Definition: PhinsRaw.hpp:265
Definition: PhinsRaw.hpp:124
Definition: PhinsRaw.hpp:69
Definition: PhinsRaw.hpp:237
Definition: PhinsRaw.hpp:72
double dvl_scale_fcator_corr_estimation
Definition: PhinsRaw.hpp:291
Definition: PhinsRaw.hpp:125
Definition: PhinsRaw.hpp:168
PhinsUserStatus
Definition: PhinsRaw.hpp:161
Definition: PhinsRaw.hpp:109
Definition: PhinsRaw.hpp:21
Definition: PhinsRaw.hpp:114
Definition: PhinsRaw.hpp:113
Definition: PhinsRaw.hpp:162
double heave_sway
Definition: PhinsRaw.hpp:264
Definition: PhinsRaw.hpp:158
Definition: PhinsRaw.hpp:219
Definition: PhinsRaw.hpp:198
Definition: PhinsRaw.hpp:136
uint32_t algo_status_MSB
Definition: PhinsRaw.hpp:298
double dvl_altitude
Definition: PhinsRaw.hpp:289
double pos_altitude
Definition: PhinsRaw.hpp:247
Definition: PhinsRaw.hpp:180
Definition: PhinsRaw.hpp:53
char utm_lat_zone
Definition: PhinsRaw.hpp:257
Definition: PhinsRaw.hpp:50
Definition: PhinsRaw.hpp:205
Definition: PhinsRaw.hpp:167
Definition: PhinsRaw.hpp:132
PhinsAlgoStatusL
Definition: PhinsRaw.hpp:95
PhinsAlgoStatusH
Definition: PhinsRaw.hpp:130
Definition: PhinsRaw.hpp:98
Definition: PhinsRaw.hpp:108
Definition: PhinsRaw.hpp:35
double pos_longitude
Definition: PhinsRaw.hpp:246
Definition: PhinsRaw.hpp:131
double dvl_misaligne_estimation
Definition: PhinsRaw.hpp:290
Definition: PhinsRaw.hpp:27
Definition: PhinsRaw.hpp:235
double stddev_spd_up
Definition: PhinsRaw.hpp:277
Definition: PhinsRaw.hpp:100
double heave_surge
Definition: PhinsRaw.hpp:263
Definition: PhinsRaw.hpp:41
double utm_pos_east
Definition: PhinsRaw.hpp:259
Definition: PhinsRaw.hpp:115
Definition: PhinsRaw.hpp:112
Definition: PhinsRaw.hpp:86
Definition: PhinsRaw.hpp:23
Definition: PhinsRaw.hpp:146
Definition: PhinsRaw.hpp:77
Definition: PhinsRaw.hpp:26
Definition: PhinsRaw.hpp:52
Definition: PhinsRaw.hpp:152
double att_pitch
Definition: PhinsRaw.hpp:251
uint32_t other_status
Definition: PhinsRaw.hpp:302
Definition: PhinsRaw.hpp:181
Definition: PhinsRaw.hpp:238
double att_heading
Definition: PhinsRaw.hpp:249
Definition: PhinsRaw.hpp:224
PhinsStatusH
Definition: PhinsRaw.hpp:68
Definition: PhinsRaw.hpp:165
double spd_vessel_xv3
Definition: PhinsRaw.hpp:287
Definition: PhinsRaw.hpp:46
double spd_horizontal
Definition: PhinsRaw.hpp:284
Definition: PhinsRaw.hpp:117
Definition: PhinsRaw.hpp:22
Definition: PhinsRaw.hpp:70
Definition: PhinsRaw.hpp:73
Definition: PhinsRaw.hpp:57
Definition: PhinsRaw.hpp:17
Definition: PhinsRaw.hpp:43
Definition: PhinsRaw.hpp:120
Definition: PhinsRaw.hpp:210
double rotation_rate_vessel_xv3
Definition: PhinsRaw.hpp:281
int utm_lon_zone
Definition: PhinsRaw.hpp:258
double spd_east
Definition: PhinsRaw.hpp:253
Definition: PhinsRaw.hpp:97
Definition: PhinsRaw.hpp:236
Definition: PhinsRaw.hpp:188
PhinsStatusInput
Definition: PhinsRaw.hpp:208
double spd_up
Definition: PhinsRaw.hpp:255
Definition: PhinsRaw.hpp:193
Definition: PhinsRaw.hpp:185
Definition: PhinsRaw.hpp:105
Definition: PhinsRaw.hpp:148
Definition: PhinsRaw.hpp:28
Definition: PhinsRaw.hpp:89
Definition: PhinsRaw.hpp:228
Definition: PhinsRaw.hpp:150