waterlinkedsonar
C++ client library for the Water Linked Sonar 3D-15
Loading...
Searching...
No Matches
messages.hpp
Go to the documentation of this file.
1
4
5#ifndef WATERLINKEDSONAR_MESSAGES_HPP
6#define WATERLINKEDSONAR_MESSAGES_HPP
7
8#include <cstdint>
10
11namespace waterlinked::sonar {
12
17 std::int64_t timestamp_ns{0};
20 std::uint32_t sequence_id{0};
21};
22
31 float speed_of_sound{0.0F};
32 float range{0.0F};
33 std::uint32_t frequency{0};
34 std::uint32_t width{0};
35 std::uint32_t height{0};
36 float fov_horizontal{0.0F};
37 float fov_vertical{0.0F};
39 float image_pixel_scale{0.0F};
43};
44
46enum class BitmapImageType : std::uint8_t {
52
56 SHADED,
57};
58
75
92
93} // namespace waterlinked::sonar
94
95#endif // WATERLINKEDSONAR_MESSAGES_HPP
Definition client.hpp:14
tcb::span< T > Span
Non-owning view over a contiguous sequence.
Definition span.hpp:17
BitmapImageType
What a BitmapImageView shows.
Definition messages.hpp:46
@ SHADED
Shaded rendering of the range image.
@ SIGNAL_STRENGTH
Logarithmic strength of the strongest reflection per pixel.
Non-owning view over a contiguous sequence.
8-bit greyscale image, displayable without further processing.
Definition messages.hpp:62
float fov_horizontal
Degrees.
Definition messages.hpp:70
Span< const std::uint8_t > image_pixel_data
Row-major, width * height bytes; 0 means no data.
Definition messages.hpp:73
float speed_of_sound
Configured speed of sound in m/s.
Definition messages.hpp:64
float range
Configured maximum range in meters.
Definition messages.hpp:65
std::uint32_t width
Pixels per row.
Definition messages.hpp:68
MessageHeader header
Definition messages.hpp:63
float fov_vertical
Degrees.
Definition messages.hpp:71
BitmapImageType type
Definition messages.hpp:67
std::uint32_t height
Rows.
Definition messages.hpp:69
std::uint32_t frequency
Imaging frequency in Hz.
Definition messages.hpp:66
Batch of approximately 100 Hz IMU samples sent while acoustics is enabled.
Definition messages.hpp:80
Span< const std::int64_t > timestamps_ns
Per-sample device timestamps, nanoseconds since the Unix epoch; samples entries.
Definition messages.hpp:86
std::uint32_t batch_sequence_id
Increments per batch, independent of the imaging sequence IDs.
Definition messages.hpp:82
Span< const float > rate_of_turn
Rate of turn in rad/s; samples * 3 entries as x, y, z triples.
Definition messages.hpp:90
std::uint32_t samples
Definition messages.hpp:83
Span< const float > specific_force
Specific force in m/s^2; samples * 3 entries as x, y, z triples.
Definition messages.hpp:88
Per-shot metadata shared by image message types.
Definition messages.hpp:14
std::uint32_t sequence_id
Increments per acoustic shot; shared between the RangeImageView and BitmapImageView of the same shot.
Definition messages.hpp:20
std::int64_t timestamp_ns
Device timestamp, nanoseconds since the Unix epoch.
Definition messages.hpp:17
Per-pixel distance to the strongest reflection.
Definition messages.hpp:29
float fov_horizontal
Degrees.
Definition messages.hpp:36
MessageHeader header
Definition messages.hpp:30
std::uint32_t width
Pixels per row.
Definition messages.hpp:34
Span< const std::uint32_t > image_pixel_data
Row-major, width * height entries holding 16-bit values; 0 means no data.
Definition messages.hpp:42
std::uint32_t frequency
Imaging frequency in Hz.
Definition messages.hpp:33
float image_pixel_scale
Multiply a pixel value by this to obtain distance in meters.
Definition messages.hpp:39
float range
Configured maximum range in meters.
Definition messages.hpp:32
float fov_vertical
Degrees.
Definition messages.hpp:37
float speed_of_sound
Configured speed of sound in m/s.
Definition messages.hpp:31
std::uint32_t height
Rows.
Definition messages.hpp:35