waterlinkedsonar
C++ client library for the Water Linked Sonar 3D-15
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
types.hpp File Reference

Type definitions for the Sonar 3D-15 integration API. More...

#include <chrono>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Classes

struct  waterlinked::sonar::About
 Device identity from GET /about. More...
 
struct  waterlinked::sonar::StatusEntry
 One subsystem's health from GET /status. More...
 
struct  waterlinked::sonar::Status
 Subsystem health from GET /status. More...
 
struct  waterlinked::sonar::Range
 Imaging range limits in meters. More...
 
struct  waterlinked::sonar::UdpConfig
 How the sonar streams data, from GET/POST /udp. More...
 
struct  waterlinked::sonar::TimeStatus
 Device clock state from GET /time/status. More...
 
struct  waterlinked::sonar::ForceSyncResult
 Outcome of a forced NTP sync. More...
 
class  waterlinked::sonar::HttpError
 Transport failure or non-2xx HTTP response. More...
 
class  waterlinked::sonar::VersionError
 Device firmware is older than the endpoint requires. More...
 
class  waterlinked::sonar::ProtocolError
 Device answered with a body the client cannot interpret. More...
 
class  waterlinked::sonar::TimeAlreadySynchronizedError
 set_time_manual() while the device is already NTP-synchronized; the device answers HTTP 409. More...
 
class  waterlinked::sonar::ForceSyncOngoingError
 force_sync_ntp() while another force-sync is running; the device answers HTTP 409. More...
 

Namespaces

namespace  waterlinked
 
namespace  waterlinked::sonar
 

Enumerations

enum class  waterlinked::sonar::AcousticsMode : std::uint8_t { waterlinked::sonar::LOW_FREQUENCY , waterlinked::sonar::HIGH_FREQUENCY }
 Imaging mode: low frequency gives a 90x40 degree field of view at 5 Hz, high frequency 40x40 degrees at 20 Hz. More...
 
enum class  waterlinked::sonar::Salinity : std::uint8_t { waterlinked::sonar::SALT , waterlinked::sonar::FRESH }
 Water salinity, used by the sonar's automatic speed of sound. More...
 

Functions

const char * waterlinked::sonar::to_string (AcousticsMode mode)
 Name used on the wire by the HTTP API: "low-frequency" or "high-frequency".
 
const char * waterlinked::sonar::to_string (Salinity salinity)
 Name used on the wire by the HTTP API: "salt" or "fresh".
 
const char * waterlinked::sonar::to_string (UdpConfig::Mode mode)
 Name used on the wire by the HTTP API: "multicast", "unicast" or "disabled".
 

Variables

constexpr const char * waterlinked::sonar::DEFAULT_IP = "192.168.194.96"
 Factory default IP address of the sonar.
 
constexpr const char * waterlinked::sonar::MULTICAST_GROUP = "224.0.0.96"
 Multicast group address for sonar data streams.
 
constexpr std::uint16_t waterlinked::sonar::MULTICAST_PORT = 4747
 Multicast port for sonar data streams.
 
constexpr std::size_t waterlinked::sonar::MAX_DATAGRAM_SIZE = 65507
 Largest UDP payload the sonar can send; receive buffers are sized to it.
 

Detailed Description

Type definitions for the Sonar 3D-15 integration API.