9 #include "../core/video.h" 10 #include "../core/motion.h" 11 #include "../media/playback/playback_device.h" 13 #include "../usb/usb-device.h" 14 #include "../usb/usb-messenger.h" 27 bool register_device_notifications);
41 return std::vector<tagged_profile>();
53 return "Intel RealSense T265";
92 void close()
override;
101 bool is_loopback_enabled()
const;
104 void set_exposure_and_gain(
float exposure_ms,
float gain);
105 void set_exposure(
float value);
106 float get_exposure()
const;
107 void set_gain(
float value);
108 float get_gain()
const;
110 void set_manual_exposure(
bool manual);
113 bool export_relocalization_map(std::vector<uint8_t>& lmap_buf)
const override;
114 bool import_relocalization_map(
const std::vector<uint8_t>& lmap_buf)
const override;
117 bool remove_static_node(
const std::string& guid)
const override;
120 bool load_wheel_odometery_config(
const std::vector<uint8_t>& odometry_config_buf)
const override;
124 _async_init = 1 << 0,
125 _async_progress = 1 << 1,
126 _async_success = 1 << 2,
127 _async_fail = 1 << 3,
132 async_op_state perform_async_transfer(std::function<
bool()> transfer_activator,
133 std::function<
void()> on_success,
const std::string& op_description)
const;
135 virtual void create_snapshot(std::shared_ptr<pose_sensor_interface>& snapshot)
const override {}
137 virtual void create_snapshot(std::shared_ptr<wheel_odometry_interface>& snapshot)
const override {}
145 void reset_to_factory_calibration()
override;
146 void write_calibration()
override;
155 void raise_error_notification(
const std::string& msg);
165 bool _pose_output_enabled{
false};
168 void print_logs(
const std::unique_ptr<t265::bulk_message_response_get_and_clear_event_log> &
log);
171 bool start_interrupt();
173 void stop_interrupt();
176 bool log_poll_once(std::unique_ptr<t265::bulk_message_response_get_and_clear_event_log> & log_buffer);
188 float last_exposure = 200.f;
189 float last_gain = 1.f;
190 bool manual_exposure =
false;
203 template <t265::SIXDOF_MODE flag, t265::SIXDOF_MODE depends_on,
bool invert>
friend class tracking_mode_option;
std::vector< t265::supported_raw_stream_libtm_message > _supported_raw_streams
GLenum GLuint GLenum GLsizei const GLchar * message
platform::usb_status stream_write(const t265::bulk_message_request_header *request)
Interrupt get pose message.
Interrupt raw accelerometer stream message.
platform::rs_usb_request _stream_request
virtual void create_snapshot(std::shared_ptr< wheel_odometry_interface > &snapshot) const override
std::shared_ptr< rs2_frame_callback > frame_callback_ptr
Interrupt Get Localization Data Stream message.
platform::rs_usb_request stream_read_request(std::vector< uint8_t > &buffer, std::shared_ptr< platform::usb_request_callback > callback)
platform::rs_usb_device usb_device
std::atomic< bool > _log_poll_thread_stop
SIXDOF_MODE
Defines all 6dof modes.
Bulk raw video stream message.
GeneratorWrapper< std::vector< T > > chunk(size_t size, GeneratorWrapper< T > &&generator)
void register_stream_to_extrinsic_group(const stream_interface &stream, uint32_t group_index)
GLsizei const GLchar *const * string
Interrupt raw gyro stream message.
platform::usb_status bulk_request_response(const Request &request, Response &response, size_t max_response_size=0, bool assert_success=true)
static const textual_icon stop
std::thread _time_sync_thread
std::shared_ptr< dispatcher > _data_dispatcher
platform::rs_usb_endpoint endpoint_int_in
std::condition_variable _async_op
bool compress_while_record() const override
platform::rs_usb_endpoint endpoint_int_out
virtual void enable_recording(std::function< void(const wheel_odometry_interface &)> record_action) override
Bulk Get Temperature Message.
std::chrono::duration< double, std::milli > global_ts
virtual void create_snapshot(std::shared_ptr< pose_sensor_interface > &snapshot) const override
std::atomic< bool > _time_sync_thread_stop
platform::rs_usb_request_callback _interrupt_callback
void disable_loopback() override
std::vector< rs2::stream_profile > init_stream_profiles(sw_context &sctx, std::shared_ptr< rs2::software_sensor > ss, std::string sensor_name, rs2::video_stream_profile c, rs2::video_stream_profile d)
static const char * tm2_device_name()
std::chrono::duration< double, std::milli > arrival_ts
platform::rs_usb_endpoint endpoint_bulk_out
std::atomic< int64_t > device_to_host_ns
std::shared_ptr< playback_device > _loopback
unsigned __int64 uint64_t
async_op_state _async_op_status
std::chrono::duration< double, std::milli > device_ts
std::shared_ptr< tm2_sensor > _sensor
platform::rs_usb_endpoint endpoint_msg_in
std::shared_ptr< tm2_sensor > get_tm2_sensor()
bool is_enabled() const override
void connect_controller(const std::array< uint8_t, 6 > &mac_address) override
std::vector< std::shared_ptr< stream_profile_interface >> stream_profiles
void enable_loopback(const std::string &source_file) override
rs2_stream
Streams are different types of data provided by RealSense devices.
bool is_manual_exposure() const
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
platform::rs_usb_messenger usb_messenger
GLenum GLenum GLenum input
stream_profile to_profile(const stream_profile_interface *sp)
void log(std::string message)
platform::usb_device_info usb_info
platform::rs_usb_request_callback _stream_callback
platform::rs_usb_request interrupt_read_request(std::vector< uint8_t > &buffer, std::shared_ptr< platform::usb_request_callback > callback)
Interrupt Set Localization Data Stream message.
Motion device intrinsics: scale, bias, and variances.
std::pair< uint32_t, rs2_extrinsics > get_extrinsics(const stream_interface &stream) const override
platform::rs_usb_endpoint endpoint_bulk_in
platform::rs_usb_endpoint endpoint_msg_out
std::vector< uint8_t > _async_op_res_buffer
void hardware_reset() override
void disconnect_controller(int id) override
tm2_device(std::shared_ptr< context > ctx, const platform::backend_device_group &group, bool register_device_notifications)
std::vector< t265::supported_raw_stream_libtm_message > _active_raw_streams
bool cancel_request(platform::rs_usb_request request)
virtual void enable_recording(std::function< void(const pose_sensor_interface &)> record_action) override
std::vector< tagged_profile > get_profiles_tags() const override
void submit_request(platform::rs_usb_request request)
platform::rs_usb_request _interrupt_request
std::thread _log_poll_thread