dvl_teledyne
PD0Messages.hpp
Go to the documentation of this file.
1 #ifndef DVL_TELEDYNE_PD0MESSAGES_HPP
2 #define DVL_TELEDYNE_PD0MESSAGES_HPP
3 
4 #include <stdint.h>
5 #include <base/Time.hpp>
6 #include <base/Eigen.hpp>
7 #include <vector>
8 
9 namespace dvl_teledyne
10 {
11  struct Sensors
12  {
14  bool depth;
15  bool yaw;
16  bool pitch;
17  bool roll;
18  bool salinity;
20  };
21 
23  struct DeviceInfo
24  {
25  uint8_t fw_version;
26  uint8_t fw_revision;
27  uint64_t cpu_board_serno;
29  uint8_t beam_count;
30 
31  /* Set of sensors available on the device */
33  };
34 
37  {
40 
41  uint8_t lag_duration;
43  uint8_t cell_count;
44  uint8_t profiling_mode;
50  float cell_length;
68  float yaw_bias;
78  uint8_t water_layer_end;
94  };
95 
97  {
99  };
100 
103  {
108  };
109 
111  struct Status
112  {
113  uint32_t seq;
114  base::Time time;
115 
116  base::Quaterniond orientation;
118  float stddev_orientation[3];
119 
120  float depth;
122  float salinity;
123  float temperature;
124  float pressure;
126 
127  uint8_t adc_channels[8];
128 
129  base::Time min_preping_wait;
130 
132  uint32_t status_word;
133  };
134 
135  struct CellReading
136  {
147  float velocity[4];
149  float correlation[4];
151  float intensity[4];
167  float quality[4];
168  };
169 
172  {
173  base::Time time;
174  std::vector<CellReading> readings;
175  };
176 
178  {
192  uint8_t mode;
195 
198 
202  uint8_t gain;
203  };
204 
207  {
209  base::Time time;
210 
213  float range[4];
218  float velocity[4];
220  float correlation[4];
222  float evaluation[4];
224  float good_ping_ratio[4];
225 
228  float rssi[4];
229  };
230 }
231 
232 #endif
uint8_t false_target_threshold
Definition: PD0Messages.hpp:82
uint8_t mode
Definition: PD0Messages.hpp:192
float water_layer_velocity_threshold
Definition: PD0Messages.hpp:58
uint32_t status_word
Definition: PD0Messages.hpp:132
Definition: PD0Messages.hpp:23
base::Time time_between_ping_groups
Definition: PD0Messages.hpp:60
float depth
Definition: PD0Messages.hpp:120
Definition: PD0Messages.hpp:111
Definition: PD0Messages.hpp:102
uint8_t low_correlation_threshold
Definition: PD0Messages.hpp:45
uint16_t delay_before_reacquiring
Definition: PD0Messages.hpp:182
float water_layer_min_ping_threshold
Definition: PD0Messages.hpp:55
bool narrow_bandwidth_mode
Definition: PD0Messages.hpp:91
uint8_t profiling_mode
Definition: PD0Messages.hpp:44
uint8_t water_layer_start
Definition: PD0Messages.hpp:76
uint8_t fw_revision
Definition: PD0Messages.hpp:26
float pressure_variance
Definition: PD0Messages.hpp:125
float blank_after_transmit_distance
Definition: PD0Messages.hpp:52
Definition: PD0Messages.hpp:98
bool temperature
Definition: PD0Messages.hpp:19
uint32_t seq
Definition: PD0Messages.hpp:113
Definition: PD0Messages.hpp:98
bool use_3beam_solution
Definition: PD0Messages.hpp:106
float good_ping_threshold
Definition: PD0Messages.hpp:190
base::Quaterniond orientation
Definition: PD0Messages.hpp:116
uint8_t fw_version
Definition: PD0Messages.hpp:25
bool low_latency_trigger
Definition: PD0Messages.hpp:85
float pressure
Definition: PD0Messages.hpp:124
float yaw_bias
Definition: PD0Messages.hpp:68
Sensors used_sensors
Definition: PD0Messages.hpp:39
Definition: PD0Messages.hpp:135
uint8_t rssi[4]
Definition: PD0Raw.hpp:192
bool depth
Definition: PD0Messages.hpp:14
COORDINATE_SYSTEMS coordinate_system
Definition: PD0Messages.hpp:104
float max_velocity_error
Definition: PD0Messages.hpp:194
base::Time time
Definition: PD0Messages.hpp:173
bool yaw
Definition: PD0Messages.hpp:15
uint8_t code_repetition_count
Definition: PD0Messages.hpp:46
CellQuality quality[0]
Definition: PD0Raw.hpp:167
Definition: PD0Messages.hpp:98
uint16_t system_configuration
Definition: PD0Messages.hpp:28
float evaluation_threshold
Definition: PD0Messages.hpp:186
Definition: PD0Messages.hpp:171
uint8_t gain
Definition: PD0Messages.hpp:202
uint8_t cell_count
Definition: PD0Messages.hpp:43
float transmit_pulse_length
Definition: PD0Messages.hpp:74
bool roll
Definition: PD0Messages.hpp:17
float transmit_lag_distance
Definition: PD0Messages.hpp:87
float temperature
Definition: PD0Messages.hpp:123
Definition: PD0Messages.hpp:98
std::vector< CellReading > readings
Definition: PD0Messages.hpp:174
base::Time time
Definition: PD0Messages.hpp:209
uint16_t self_test_result
Definition: PD0Messages.hpp:131
uint64_t cpu_board_serno
Definition: PD0Messages.hpp:27
Definition: PD0Messages.hpp:11
float max_tracking_depth
Definition: PD0Messages.hpp:197
uint16_t ping_per_ensemble
Definition: PD0Messages.hpp:180
uint8_t water_layer_end
Definition: PD0Messages.hpp:78
base::Time min_preping_wait
Definition: PD0Messages.hpp:129
float yaw_alignment
Definition: PD0Messages.hpp:64
bool use_attitude
Definition: PD0Messages.hpp:105
float salinity
Definition: PD0Messages.hpp:122
float correlation_threshold
Definition: PD0Messages.hpp:184
uint8_t beam_count
Definition: PD0Messages.hpp:29
float cell_length
Definition: PD0Messages.hpp:50
uint8_t base_frequency_index
Definition: PD0Messages.hpp:93
float first_cell_distance
Definition: PD0Messages.hpp:71
Definition: PD0Messages.hpp:206
Sensors available_sensors
Definition: PD0Messages.hpp:32
bool pitch
Definition: PD0Messages.hpp:16
Definition: PD0Messages.hpp:36
Definition: Driver.hpp:7
uint16_t pings_per_ensemble
Definition: PD0Messages.hpp:48
bool salinity
Definition: PD0Messages.hpp:18
base::Time time
Definition: PD0Messages.hpp:114
uint8_t lag_duration
Definition: PD0Messages.hpp:41
bool use_bin_mapping
Definition: PD0Messages.hpp:107
uint8_t adc_channels[8]
Definition: PD0Raw.hpp:118
COORDINATE_SYSTEMS
Definition: PD0Messages.hpp:96
bool calculates_speed_of_sound
Definition: PD0Messages.hpp:13
float speed_of_sound
Definition: PD0Messages.hpp:121
Definition: PD0Messages.hpp:177