Common
common packages for kyubic
 
Loading...
Searching...
No Matches
pd5_types.hpp
Go to the documentation of this file.
1
10#ifndef _PD5_TYPES_HPP
11#define _PD5_TYPES_HPP
12
13#include <cstdint>
14
16{
17
18// Header ID
19const uint8_t DATA_ID = 0x7D;
20
22{
23 bool is_valid = false;
24
25 // Header Info
26 uint8_t id; // 0x7D
27 uint8_t data_structure; // 0=PD4, 1=PD5
28 uint16_t num_bytes; // The number of bytes sent in this data structure
29
30 // System Config
32
33 // Bottom Track Velocity (mm/s)
34 int16_t btm_velocity[4]; // X, Y, Z, Error
35
36 // Range to Bottom (cm for 300/600kHz)
37 uint16_t btm_range[4];
38
39 // Bottom Status
41
42 // Water Mass Reference Layer Velocity (mm/s)
43 int16_t wt_velocity[4];
44
45 // Water Mass Reference Layer Info
46 uint16_t ref_layer_start; // dm
47 uint16_t ref_layer_end; // dm
49
50 // Time of First Ping
51 uint8_t tofp_hour;
52 uint8_t tofp_minute;
53 uint8_t tofp_second;
55
56 // BIT Results (Status for leak sensors)
57 uint16_t bit_results;
58
59 // Environment
60 uint16_t speed_of_sound; // not include (m/s)
61 int16_t temperature; // not include (0.01 deg C)
62
63 // --- PD5 Specific Extension ---
64 bool has_pd5_extension = false;
65 uint8_t salinity; // not include (ppt)
66 uint16_t depth; // not include (dm)
67 int16_t pitch; // not include (0.01 deg)
68 int16_t roll; // not include (0.01 deg)
69 uint16_t heading; // not include (0.01 deg)
70
71 // Cumulative distance from the first ping after initialization or <BREAK> reception
72 int32_t dmg_btm[4]; // Distance Made Good Bottom (mm)
73 int32_t dmg_ref[4]; // Distance Made Good Reference (mm)
74};
75
76} // namespace driver::dvl_driver::path_finder::pd5
77#endif
Definition: pd5_parser.hpp:18
const uint8_t DATA_ID
Definition: pd5_types.hpp:19
uint16_t num_bytes
Definition: pd5_types.hpp:28
uint8_t tofp_hour
Definition: pd5_types.hpp:51
uint8_t id
Definition: pd5_types.hpp:26
uint8_t salinity
Definition: pd5_types.hpp:65
uint8_t tofp_hundredths
Definition: pd5_types.hpp:54
int16_t pitch
Definition: pd5_types.hpp:67
int16_t btm_velocity[4]
Definition: pd5_types.hpp:34
bool has_pd5_extension
Definition: pd5_types.hpp:64
uint16_t speed_of_sound
Definition: pd5_types.hpp:60
uint16_t heading
Definition: pd5_types.hpp:69
int32_t dmg_btm[4]
Definition: pd5_types.hpp:72
int32_t dmg_ref[4]
Definition: pd5_types.hpp:73
int16_t temperature
Definition: pd5_types.hpp:61
int16_t roll
Definition: pd5_types.hpp:68
uint8_t tofp_minute
Definition: pd5_types.hpp:52
uint16_t bit_results
Definition: pd5_types.hpp:57
uint16_t ref_layer_end
Definition: pd5_types.hpp:47
bool is_valid
Definition: pd5_types.hpp:23
uint16_t btm_range[4]
Definition: pd5_types.hpp:37
uint8_t system_config
Definition: pd5_types.hpp:31
int16_t wt_velocity[4]
Definition: pd5_types.hpp:43
uint16_t ref_layer_start
Definition: pd5_types.hpp:46
uint8_t data_structure
Definition: pd5_types.hpp:27
uint8_t tofp_second
Definition: pd5_types.hpp:53
uint8_t ref_layer_status
Definition: pd5_types.hpp:48
uint8_t bottom_status
Definition: pd5_types.hpp:40
uint16_t depth
Definition: pd5_types.hpp:66