![]() |
Gemini Sonar Driver
1.0.0
A ROS2 Package for the Tritech Gemini 1200ikd sonar
|
#include "package_defs.hpp"#include <rclcpp/logging.hpp>#include <std_msgs/msg/header.hpp>#include <geometry_msgs/msg/vector3.hpp>#include <marine_acoustic_msgs/msg/raw_sonar_image.hpp>#include <marine_acoustic_msgs/msg/projected_sonar_image.hpp>#include "types.h"#include "GenesisSerializer/GlfLoggerGeminiStructure.h"#include <vector>#include <cstdint>

Classes | |
| struct | gemini_sonar_driver::glf_processor::PingMetadata |
| Processed ping metadata extracted from GLF::GMainImage. More... | |
| struct | gemini_sonar_driver::glf_processor::BeamData |
| Processed beam data ready for ROS message conversion. More... | |
Namespaces | |
| namespace | gemini_sonar_driver |
| namespace | gemini_sonar_driver::glf_processor |
| GLF (Gemini Log Format) data processing utilities. | |
| namespace | gemini_sonar_driver::glf_processor::PingFlags |
| Ping flags bit definitions. | |
| namespace | gemini_sonar_driver::glf_processor::FrequencyResolution1200ikd |
| Frequency resolution constants in meters. | |
Enumerations | |
| enum class | gemini_sonar_driver::glf_processor::FrequencyMode : uint8_t { gemini_sonar_driver::glf_processor::LOW_FREQUENCY = 0 , gemini_sonar_driver::glf_processor::HIGH_FREQUENCY = 1 } |
| Ping frequency modes. More... | |
| enum class | gemini_sonar_driver::glf_processor::SoSMode : uint8_t { gemini_sonar_driver::glf_processor::SONAR_SENSOR = 0 , gemini_sonar_driver::glf_processor::MANUAL = 1 } |
| Speed of sound source modes. More... | |
Functions | |
| PingMetadata | gemini_sonar_driver::glf_processor::extractPingMetadata (const GLF::GMainImage &mainImage, uint32_t ping_number) |
| Extract ping metadata from GLF::GMainImage. | |
| BeamData | gemini_sonar_driver::glf_processor::extractBeamData (const GLF::GMainImage &mainImage, const PingMetadata &metadata) |
| Extract beam intensity data from GLF::GMainImage. | |
| bool | gemini_sonar_driver::glf_processor::isCompressed (const GLF::GMainImage &mainImage) |
| Check if data is compressed and needs decompression. | |
| bool | gemini_sonar_driver::glf_processor::decompress (GLF::GMainImage &mainImage) |
| Decompress GLF image data if needed. | |
| marine_acoustic_msgs::msg::PingInfo | gemini_sonar_driver::glf_processor::createPingInfo (const PingMetadata &metadata) |
| Create PingInfo message from conversion parameters. | |
| marine_acoustic_msgs::msg::SonarImageData | gemini_sonar_driver::glf_processor::createSonarImageData (const BeamData &beam_data, const PingMetadata &metadata, uint8_t dtype) |
| Create SonarImageData message from beam data (OPTIMIZED) | |
| marine_acoustic_msgs::msg::RawSonarImage | gemini_sonar_driver::glf_processor::createRawSonarImage (const GLF::GMainImage &mainImage, const PingMetadata &metadata, const BeamData &beam_data, const std::string &frame_id) |
| Create marine_acoustic_msgs/RawSonarImage from parsed GLF data. | |
| marine_acoustic_msgs::msg::ProjectedSonarImage | gemini_sonar_driver::glf_processor::createProjectedSonarImage (const GLF::GMainImage &mainImage, const PingMetadata &metadata, const BeamData &beam_data, const std::string &frame_id) |
| Create marine_acoustic_msgs/ProjectedSonarImage (spatial domain) | |
Variables | |
| constexpr uint16_t | gemini_sonar_driver::glf_processor::PingFlags::FREQUENCY_MASK = 0x0100 |
| Bit 8: Frequency mode (1=High/1200kHz, 0=Low/720kHz) | |
| constexpr uint16_t | gemini_sonar_driver::glf_processor::PingFlags::SOS_MODE_MASK = 0x8000 |
| Bit 15: Speed of sound mode. | |
| constexpr double | gemini_sonar_driver::glf_processor::FrequencyResolution1200ikd::RES_720KHZ = 0.0040 |
| 720kHz frequency resolution (4.0mm) | |
| constexpr double | gemini_sonar_driver::glf_processor::FrequencyResolution1200ikd::RES_1200KHZ = 0.0024 |
| 1200kHz frequency resolution (2.4mm) | |