Class Client

Class Documentation

class Client

Primary class used to communicate with device.

Public Functions

Client()
~Client() = default
bool connect(const std::string &host, int port, int timeout_ms)

Connect to device at host:port over TCP.

Parameters:
  • host[in] The hostname or IP address of the device.

  • port[in] The port to connect to.

  • timeout_ms[in] Connection timeout in milliseconds.

Returns:

True if the connection is successful, false otherwise.

bool connected() const

Check if the device is currently connected.

Returns:

True if the device is connected, false otherwise.

void disconnect()

Disconnect from the device.

std::optional<int> getBatteryPercentage()

Get the current device batter percentage from device.

Only applies to devices with a battery.

Returns:

The battery percentage if the request is successfull, empty otherwise.

Bitmap::Ptr getBitmapData(float x, float y, float width, float height, MapKind kind)

Get map data layer as a bitmap from device.

Parameters:
  • x[in] The min x extent of the map in meters.

  • y[in] The min y extent of the map in meters.

  • width[in] The width of the map in meters.

  • heigher[in] The height of the map in meters.

  • kind[in] The map layer to retrieve.

Returns:

The map data layer if the request is successful, null otherwise.

std::optional<int> getBoardTemperature()

Get the current device board temperature.

Returns:

The board temperature if the request is successfull, empty otherwise.

std::optional<int> getDcInConnected()

Get whether or not DC IN is connected from device.

Only applies to devices with a battery.

Returns:

Whether or not DC IN is connected if the request is successful, empty otherwise.

std::optional<HealthStatus> getHealthStatus()

Get health status information from device.

Returns:

Health status information if the request is successful, empty otherwise.

std::optional<ImuData> getImuData()

Get IMU data from device.

Note: currently only the orientation fields appear to be filled in.

Returns:

IMU data if the request is successful, empty otherwise.

std::optional<int> getIsCharging()

Get whether or not the battery is charging from device.

Only applies to devices with a battery.

Returns:

Whether or not the battery is charging if the request is successful, empty otherwise.

std::optional<cv::Rect_<float>> getKnownArea(MapType type, MapKind kind)

Get the current extents of a map data layer from the device.

Parameters:
  • type[in] The type of map.

  • kind[in] The map layer to get the extents of.

Returns:

The map layer extents if the request is successful, empty otherwise.

LaserScan::Ptr getLaserScan()

Get laser scan data from device.

Returns:

Laser scan data if the request is successful, empty otherwise.

std::optional<Eigen::Vector3d> getLocation()

Get location estimate from device.

Returns:

Location estimate if the request is successful, empty otherwise.

std::optional<int> getOnDock()

Get whether or not the device is on the dock from device.

Only applies to devices with a dock.

Returns:

Whether or not the device is on the dock if the request is successful, empty otherwise.

std::optional<Eigen::Isometry3d> getPose()

Get pose estimate from device.

Returns:

Pose estimate if the request is successful, empty otherwise.

std::optional<ImuData> getRawImuData()

Get IMU data from device.

Note: currently only the orientation fields appear to be filled in.

Returns:

IMU data if the request is successful, empty otherwise.

std::optional<std::string> getSdpVersion()

Get the SPD version from the device.

Returns:

The SPD version if the request is successful, empty otherwise.