9 #include "../core/motion.h" 10 #include "TrackingManager.h" 11 #include "../media/playback/playback_device.h" 21 tm2_device(std::shared_ptr<perc::TrackingManager> manager,
22 perc::TrackingDevice* dev,
23 std::shared_ptr<context> ctx,
32 static const char* tm2_device_name()
34 return "Intel RealSense T260";
36 std::shared_ptr<perc::TrackingManager> _manager;
37 perc::TrackingDevice* _dev;
38 std::shared_ptr<tm2_sensor> _sensor;
50 void close()
override;
58 void onVideoFrame(perc::TrackingData::VideoFrame& tm_frame)
override;
60 void onGyroFrame(perc::TrackingData::GyroFrame& tm_frame)
override;
61 void onPoseFrame(perc::TrackingData::PoseFrame& tm_frame)
override;
74 void handle_imu_frame(perc::TrackingData::TimestampedData& tm_frame_ts,
unsigned long long frame_number,
rs2_stream stream_type,
int index,
float3 imu_data,
float temperature);
76 void raise_controller_event(
const std::string& msg,
const std::string&
serialized_data,
double timestamp);
77 void raise_error_notification(
const std::string& msg);
80 perc::TrackingDevice* _tm_dev;
81 std::mutex _configure_lock;
82 std::shared_ptr<playback_device> _loopback;
83 perc::TrackingData::Profile _tm_supported_profiles;
84 perc::TrackingData::Profile _tm_active_profiles;
void start(frame_callback_ptr callback) override
void onAccelerometerFrame(perc::TrackingData::AccelerometerFrame &tm_frame) override
void onPoseFrame(perc::TrackingData::PoseFrame &tm_frame) override
void onControllerDisconnectedEventFrame(perc::TrackingData::ControllerDisconnectedEventFrame &frame) override
std::shared_ptr< rs2_frame_callback > frame_callback_ptr
Definition: types.h:822
void onGyroFrame(perc::TrackingData::GyroFrame &tm_frame) override
Definition: concurrency.h:125
void onControllerConnectedEventFrame(perc::TrackingData::ControllerConnectedEventFrame &frame) override
void onControllerDiscoveryEventFrame(perc::TrackingData::ControllerDiscoveryEventFrame &frame) override
tm2_device(std::shared_ptr< perc::TrackingManager > manager, perc::TrackingDevice *dev, std::shared_ptr< context > ctx, const platform::backend_device_group &group)
void enable_loopback(std::shared_ptr< playback_device > input)
Definition: serialization.h:48
rs2_intrinsics get_intrinsics(const stream_profile &profile) const override
Definition: tm-device.h:18
rs2_motion_device_intrinsic get_motion_intrinsics(const motion_stream_profile_interface &profile) const
stream_profiles init_stream_profiles() override
void onVideoFrame(perc::TrackingData::VideoFrame &tm_frame) override
void disable_loopback() override
void detach_controller(int id)
void onControllerFrame(perc::TrackingData::ControllerFrame &frame) override
bool is_enabled() const override
void connect_controller(const std::array< uint8_t, 6 > &mac_address) override
void enable_loopback(const std::string &source_file) override
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:36
void open(const stream_profiles &requests) override
tm2_sensor(tm2_device *owner, perc::TrackingDevice *dev)
std::vector< std::shared_ptr< stream_profile_interface > > stream_profiles
Definition: streaming.h:104
Video stream intrinsics.
Definition: rs_types.h:55
void attach_controller(const std::array< uint8_t, 6 > &mac_addr)
Motion device intrinsics: scale, bias, and variances.
Definition: rs_types.h:68
void disconnect_controller(int id) override
Definition: tm-device.h:41
bool is_loopback_enabled() const