Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
Classes | Namespaces | Macros | Enumerations | Functions
motion-module.h File Reference
#include <mutex>
#include <bitset>
#include "device.h"

Go to the source code of this file.

Classes

struct  rsimpl::motion_module::motion_event_status
 
struct  rsimpl::motion_module::motion_event
 
struct  rsimpl::motion_module::mm_config
 
struct  rsimpl::motion_module::fw_image_packet
 
struct  rsimpl::motion_module::motion_module_wraparound
 
struct  rsimpl::motion_module::motion_module_parser
 
class  rsimpl::motion_module::motion_module_state
 
class  rsimpl::motion_module::motion_module_control
 

Namespaces

namespace  rsimpl
 
namespace  rsimpl::motion_module
 

Macros

#define MOTION_MODULE_H
 
#define FW_IMAGE_PACKET_PAYLOAD_LEN   (128)
 

Enumerations

enum  rsimpl::motion_module::motion_module_errors {
  rsimpl::motion_module::imu_not_responding = 0 , rsimpl::motion_module::illegal_configuration = 1 , rsimpl::motion_module::ts_fifo_overflow = 2 , rsimpl::motion_module::imu_fifo_overflow = 3 ,
  rsimpl::motion_module::watchdog_reset = 4 , rsimpl::motion_module::crc_error = 5 , rsimpl::motion_module::missing_data_from_imu = 6 , rsimpl::motion_module::bootloader_failure = 7 ,
  rsimpl::motion_module::eeprom_error = 8 , rsimpl::motion_module::bist_check_failed = 9 , rsimpl::motion_module::uctrl_not_responding = 10 , rsimpl::motion_module::cx3_fifo_overflow = 11 ,
  rsimpl::motion_module::general_cx3_failure = 12 , rsimpl::motion_module::cx3_usb_failure = 13 , rsimpl::motion_module::reserved_1 = 14 , rsimpl::motion_module::reserved_2 = 15 ,
  rsimpl::motion_module::max_mm_error
}
 
enum class  rsimpl::motion_module::mm_gyro_range : uint8_t { rsimpl::motion_module::gyro_range_default = 0 , rsimpl::motion_module::gyro_range_1000 = 1 , rsimpl::motion_module::gyro_range_2000 = 2 }
 
enum class  rsimpl::motion_module::mm_gyro_bandwidth : uint8_t { rsimpl::motion_module::gyro_bw_default = 0 , rsimpl::motion_module::gyro_bw_200hz = 1 }
 
enum class  rsimpl::motion_module::mm_accel_range : uint8_t { rsimpl::motion_module::accel_range_default = 0 , rsimpl::motion_module::accel_range_4g = 1 , rsimpl::motion_module::accel_range_8g = 2 , rsimpl::motion_module::accel_range_16g = 3 }
 
enum class  rsimpl::motion_module::mm_accel_bandwidth : uint8_t { rsimpl::motion_module::accel_bw_default = 0 , rsimpl::motion_module::accel_bw_125hz = 1 , rsimpl::motion_module::accel_bw_250hz = 2 }
 
enum  rsimpl::motion_module::mm_request : uint8_t { rsimpl::motion_module::mm_output_undefined = 0 , rsimpl::motion_module::mm_video_output = 1 , rsimpl::motion_module::mm_events_output = 2 }
 
enum  rsimpl::motion_module::mm_state : uint8_t { rsimpl::motion_module::mm_idle = 0 , rsimpl::motion_module::mm_streaming = 1 , rsimpl::motion_module::mm_eventing = 2 , rsimpl::motion_module::mm_full_load = 3 }
 
enum class  rsimpl::motion_module::i2c_register : uint32_t {
  rsimpl::motion_module::REG_UCTRL_CFG = 0x00 , rsimpl::motion_module::REG_INT_ID_CONFIG = 0x04 , rsimpl::motion_module::REG_INT_TYPE_CONFIG = 0x08 , rsimpl::motion_module::REG_EEPROM_CMD = 0x0C ,
  rsimpl::motion_module::REG_EEPROM_DATA = 0xD0 , rsimpl::motion_module::REG_TIMER_PRESCALER = 0x14 , rsimpl::motion_module::REG_TIMER_RESET_VALUE = 0x18 , rsimpl::motion_module::REG_GYRO_BYPASS_CMD1 = 0x1C ,
  rsimpl::motion_module::REG_GYRO_BYPASS_CMD2 = 0x20 , rsimpl::motion_module::REG_GYRO_BYPASS_RDOUT1 = 0x24 , rsimpl::motion_module::REG_GYRO_BYPASS_RDOUT2 = 0x28 , rsimpl::motion_module::REG_ACC_BYPASS_CMD1 = 0x2C ,
  rsimpl::motion_module::REG_ACC_BYPASS_CMD2 = 0x30 , rsimpl::motion_module::REG_ACC_BYPASS_RDOUT1 = 0x34 , rsimpl::motion_module::REG_ACC_BYPASS_RDOUT2 = 0x38 , rsimpl::motion_module::REG_REQ_LTR = 0x3C ,
  rsimpl::motion_module::REG_STATUS_REG = 0x40 , rsimpl::motion_module::REG_FIFO_RD = 0x44 , rsimpl::motion_module::REG_FIRST_INT_IGNORE = 0x48 , rsimpl::motion_module::REG_IAP_REG = 0x4C ,
  rsimpl::motion_module::REG_INT_ENABLE = 0x50 , rsimpl::motion_module::REG_CURR_PWR_STATE = 0x54 , rsimpl::motion_module::REG_NEXT_PWR_STATE = 0x58 , rsimpl::motion_module::REG_ACC_BW = 0x5C ,
  rsimpl::motion_module::REG_GYRO_BW = 0x60 , rsimpl::motion_module::REG_ACC_RANGE = 0x64 , rsimpl::motion_module::REG_GYRO_RANGE = 0x68 , rsimpl::motion_module::REG_IMG_VER = 0x6C ,
  rsimpl::motion_module::REG_ERROR = 0x70 , rsimpl::motion_module::REG_JUMP_TO_APP = 0x77
}
 
enum class  rsimpl::motion_module::power_states : uint32_t {
  rsimpl::motion_module::PWR_STATE_DNR = 0x00 , rsimpl::motion_module::PWR_STATE_INIT = 0x02 , rsimpl::motion_module::PWR_STATE_ACTIVE = 0x03 , rsimpl::motion_module::PWR_STATE_PAUSE = 0x04 ,
  rsimpl::motion_module::PWR_STATE_IAP = 0x05
}
 
enum class  rsimpl::motion_module::adaptor_board_command : uint32_t {
  rsimpl::motion_module::IRB = 0x01 , rsimpl::motion_module::IWB = 0x02 , rsimpl::motion_module::GVD = 0x03 , rsimpl::motion_module::IAP_IRB = 0x04 ,
  rsimpl::motion_module::IAP_IWB = 0x05 , rsimpl::motion_module::FRCNT = 0x06 , rsimpl::motion_module::GLD = 0x07 , rsimpl::motion_module::GPW = 0x08 ,
  rsimpl::motion_module::GPR = 0x09 , rsimpl::motion_module::MMPWR = 0x0A , rsimpl::motion_module::DSPWR = 0x0B , rsimpl::motion_module::EXT_TRIG = 0x0C ,
  rsimpl::motion_module::CX3FWUPD = 0x0D , rsimpl::motion_module::MM_SNB = 0x10 , rsimpl::motion_module::MM_TRB = 0x11 , rsimpl::motion_module::MM_ACTIVATE = 0x0E
}
 

Functions

void rsimpl::motion_module::config (uvc::device &device, uint8_t gyro_bw, uint8_t gyro_range, uint8_t accel_bw, uint8_t accel_range, uint32_t time_seed)
 
const char * rsimpl::motion_module::get_mm_request_name (mm_request request)
 
const char * rsimpl::motion_module::get_mm_state_name (mm_state state)
 

Macro Definition Documentation

◆ FW_IMAGE_PACKET_PAYLOAD_LEN

#define FW_IMAGE_PACKET_PAYLOAD_LEN   (128)

◆ MOTION_MODULE_H

#define MOTION_MODULE_H