File clocks.hpp

Clocks used across the API.

Typedefs

using camera_timestamp = camera_clock::time_point
using imu_timestamp = imu_clock::time_point
using gps_timestamp = gps_clock::time_point
using odometry_timestamp = odometry_clock::time_point
using lidar_timestamp = lidar_clock::time_point
using host_timestamp = host_clock::time_point
using camera_duration = camera_clock::duration
using imu_duration = imu_clock::duration
using gps_duration = gps_clock::duration
using odometry_duration = odometry_clock::duration
using lidar_duration = lidar_clock::duration
using host_duration = odometry_clock::duration
namespace slamcore

Helper conversion methods

slamcore::ImageFormat \(\leftrightarrow\) BytesPerChannel

Get information about the client library

Typedefs

using camera_timestamp = camera_clock::time_point
using imu_timestamp = imu_clock::time_point
using gps_timestamp = gps_clock::time_point
using odometry_timestamp = odometry_clock::time_point
using lidar_timestamp = lidar_clock::time_point
using host_timestamp = host_clock::time_point
using camera_duration = camera_clock::duration
using imu_duration = imu_clock::duration
using gps_duration = gps_clock::duration
using odometry_duration = odometry_clock::duration
using lidar_duration = lidar_clock::duration
using host_duration = odometry_clock::duration
struct camera_clock
#include <clocks.hpp>

Public Types

using duration = std::chrono::nanoseconds
using rep = duration::rep
using period = duration::period
using time_point = std::chrono::time_point<camera_clock, duration>

Public Static Functions

static time_point now() noexcept

Public Static Attributes

static constexpr bool is_steady = true
struct gps_clock
#include <clocks.hpp>

Public Types

using duration = std::chrono::nanoseconds
using rep = duration::rep
using period = duration::period
using time_point = std::chrono::time_point<gps_clock, duration>

Public Static Functions

static time_point now()

Public Static Attributes

static constexpr bool is_steady = true
struct host_clock
#include <clocks.hpp>

Defining our own host_clock lets us pretend to have nanosecond resolution everywhere.

Public Types

using duration = std::chrono::duration<std::int64_t, std::nano>
using rep = duration::rep
using period = duration::period
using time_point = std::chrono::time_point<host_clock, duration>

Public Static Functions

static inline time_point now() noexcept
static inline time_point from_time_t(std::time_t t) noexcept
static inline std::time_t to_time_t(const time_point &t) noexcept

Public Static Attributes

static constexpr bool is_steady = std::chrono::system_clock::is_steady
struct imu_clock
#include <clocks.hpp>

Public Types

using duration = std::chrono::nanoseconds
using rep = duration::rep
using period = duration::period
using time_point = std::chrono::time_point<imu_clock, duration>

Public Static Functions

static time_point now() noexcept

Public Static Attributes

static constexpr bool is_steady = true
struct lidar_clock
#include <clocks.hpp>

Public Types

using duration = std::chrono::nanoseconds
using rep = duration::rep
using period = duration::period
using time_point = std::chrono::time_point<lidar_clock, duration>

Public Static Functions

static time_point now() noexcept

Public Static Attributes

static constexpr bool is_steady = true
struct odometry_clock
#include <clocks.hpp>

Public Types

using duration = std::chrono::nanoseconds
using rep = duration::rep
using period = duration::period
using time_point = std::chrono::time_point<odometry_clock, duration>

Public Static Functions

static time_point now() noexcept

Public Static Attributes

static constexpr bool is_steady = true