192 template<
class T = DeviceBase>
457 SensorRange(
float maxAcceleration = 0.0f,
float maxRotationRate = 0.0f,
458 float maxMagneticField = 0.0f)
745 UByte sequenceLength,
848 UByte numDistortions,
849 UByte distortionIndex,
856 UInt16 metersPerTanAngleAtCenter,
857 UInt16 chromaticAberration[4])
901 double targetTemperature,
902 double actualTemperature,
1017 float* Temperature) = 0;
1118 virtual bool SetCalibrate(
const Color& calibrationColor,
bool waitFlag =
false) = 0;
UByte UUIDValue[UUID_SIZE]
virtual bool GetDeviceInfo(DeviceInfo *info) const
virtual bool SetCustomPatternReport(const CustomPatternReport &)
ManufacturingReport(UInt16 commandId, UByte numStages, UByte stage, UByte version, UInt16 stageLocation, UInt32 stageTime, UInt32 result)
KeepAliveMuxReport(UInt16 commandId, UByte inReport, UInt16 interval)
UInt16 ChromaticAberration[4]
PositionTypeEnum PositionType
virtual bool GetCustomPatternReport(CustomPatternReport *)
PositionCalibrationReport(UInt16 commandId, UByte version, const Vector3d &position, const Vector3d &normal, double rotation, UInt16 positionIndex, UInt16 numPositions, PositionTypeEnum positionType)
float CenterFromTopInMeters
virtual bool SetManufacturingReport(const ManufacturingReport &)
const DeviceType InfoClassType
virtual ~MessageHandler()
Size< float > ScreenSizeInMeters
void operator=(const DeviceInfo &)
virtual void GetFactoryCalibration(Vector3f *AccelOffset, Vector3f *GyroOffset, Matrix4f *AccelMatrix, Matrix4f *GyroMatrix, float *Temperature)=0
DeviceManager * getThis()
virtual DeviceManager * GetManager() const
virtual unsigned GetReportRate() const =0
virtual DeviceManager * GetManager() const
__BEGIN_NAMESPACE_STD void * memcpy(void *__restrict __dest, const void *__restrict __src, size_t __n) __THROW __nonnull((1
void EncodeUInt16(UByte *buffer, UInt16 val)
TrackingReport(UInt16 commandId, UByte pattern, bool enable, bool autoincrement, bool useCarrier, bool syncInput, bool vsyncLock, bool customPattern, UInt16 exposureLength, UInt16 frameInterval, UInt16 vsyncOffset, UByte dutyCycle)
virtual bool SupportsMessageType(MessageType) const
virtual UByte GetDeviceInterfaceVersion()=0
void operator=(const SensorInfo &)
virtual bool SetUUIDReport(const UUIDReport &)
Lock * GetHandlerLock() const
DeviceEnumerationArgs EnumArgs
virtual DeviceType GetType() const
virtual bool GetTrackingReport(TrackingReport *)
virtual DeviceType GetType() const
MagCalibrationReport(UInt16 commandId, UByte version, const Matrix4f &calibration)
UInt16 DecodeUInt16(const UByte *buffer)
ShutterTypeEnum ShutterType
DeviceInfo(DeviceType type)
void operator=(const HMDInfo &src)
DeviceEnumerationArgs(DeviceType enumType, bool availableOnly)
virtual bool SetSerialReport(const SerialReport &)
virtual bool IsMagCalibrated()
virtual bool SetStartTest(const Color &targetColor, bool waitFlag=false)=0
TemperatureReport(UInt16 commandId, UByte version, UByte numBins, UByte bin, UByte numSamples, UByte sample, double targetTemperature, double actualTemperature, UInt32 time, Vector3d offset)
virtual bool SetMagCalibrationReport(const MagCalibrationReport &)
virtual CoordinateFrame GetCoordinateFrame() const =0
virtual ProfileManager * GetProfileManager() const =0
virtual bool GetAllPositionCalibrationReports(Array< PositionCalibrationReport > *)
float ScreenGapSizeInMeters
bool IsDisconnected() const
LatencyTestConfiguration(const Color &threshold, bool sendSamples=false)
LensDistortionReport(UInt16 commandId, UByte numDistortions, UByte distortionIndex, UByte bitmask, UInt16 lensType, UInt16 version, UInt16 eyeRelief, UInt16 kCoefficients[11], UInt16 maxR, UInt16 metersPerTanAngleAtCenter, UInt16 chromaticAberration[4])
char DisplayDeviceName[32]
SerialImpl(const SerialReport &settings)
float LensSeparationInMeters
virtual bool SetCalibrate(const Color &calibrationColor, bool waitFlag=false)=0
DisplayReport(UInt16 commandId, UByte brightness, ShutterTypeEnum shutterType, CurrentLimitEnum currentLimit, bool useRolling, bool reverseRolling, bool highBrightness, bool selfRefresh, bool readPixel, bool directPentile, UInt16 persistence, UInt16 lightingOffset, UInt16 pixelSettle, UInt16 totalRows)
virtual void OnMessage(const Message &)
virtual bool GetGyroOffsetReport(GyroOffsetReport *)
virtual void SetReportRate(unsigned rateHz)=0
bool IsSameDisplay(const HMDInfo &o) const
virtual bool SetTrackingReport(const TrackingReport &)
UByte SerialNumberValue[SERIAL_NUMBER_SIZE]
virtual DeviceEnumerator EnumerateDevicesEx(const DeviceEnumerationArgs &args)=0
DeviceEnumerator< D > EnumerateDevices(bool availableOnly=true)
CurrentLimitEnum CurrentLimit
virtual bool GetKeepAliveMuxReport(KeepAliveMuxReport *)
virtual bool SetKeepAliveMuxReport(const KeepAliveMuxReport &)
virtual bool GetManufacturingReport(ManufacturingReport *)
virtual bool SetDisplay(const LatencyTestDisplay &display, bool waitFlag=false)=0
virtual DeviceType GetType() const
virtual DeviceType GetType() const
virtual bool GetConfiguration(LatencyTestConfiguration *configuration)=0
PositionCalibrationReport()
virtual bool GetUUIDReport(UUIDReport *)
virtual DeviceBase * GetParent() const
Lock * GetHandlerLock() const
DeviceEnumerator enumeratorFromHandle(const DeviceHandle &h, const DeviceEnumerationArgs &args)
virtual Ptr< DeviceCreateDesc > AddDevice_NeedsLock(const DeviceCreateDesc &createDesc)=0
virtual bool GetDisplayReport(DisplayReport *)
static DeviceManager * Create()
virtual bool SetTemperatureReport(const TemperatureReport &)
virtual bool GetSerialReport(SerialReport *)
float VsyncToFirstScanline
SensorRange(float maxAcceleration=0.0f, float maxRotationRate=0.0f, float maxMagneticField=0.0f)
virtual bool SetPositionCalibrationReport(const PositionCalibrationReport &)
virtual DeviceBase * GetDevice()
DeviceEnumerator(const DeviceHandle &dev, const DeviceEnumerationArgs &args)
virtual bool SetProfileName(const char *name)=0
static const int SERIAL_NUMBER_SIZE
bool IsHandlerInstalled() const
CustomPatternReport(UInt16 commandId, UByte sequenceLength, UInt32 sequence, UInt16 ledIndex, UInt16 numLEDs)
static const int UUID_SIZE
__BEGIN_NAMESPACE_STD void void __END_NAMESPACE_STD void __BEGIN_NAMESPACE_STD void * memset(void *__s, int __c, size_t __n) __THROW __nonnull((1))
virtual bool SetLensDistortionReport(const LensDistortionReport &)
virtual DeviceType GetType() const
virtual DeviceCommon * getDeviceCommon() const =0
virtual void AddMessageHandler(MessageHandler *handler)
bool MatchRule(DeviceType type, bool available) const
GyroOffsetReport(UInt16 commandId, VersionEnum version, Vector3d offset, double temperature)
virtual bool SetDisplayReport(const DisplayReport &)
virtual SensorDevice * GetSensor()=0
virtual bool SetConfiguration(const LatencyTestConfiguration &configuration, bool waitFlag=false)=0
void RemoveHandlerFromDevices()
virtual bool GetMagCalibrationReport(MagCalibrationReport *)
virtual Profile * GetProfile()=0
struct OVR::HMDInfo::ShutterInfo Shutter
bool enumerateNext(const DeviceEnumerationArgs &args)
SerialReport(UInt16 commandId, UByte SNo[SERIAL_NUMBER_SIZE])
Size< int > ResolutionInPixels
UInt16 MetersPerTanAngleAtCenter
virtual void SetCoordinateFrame(CoordinateFrame coordframe)=0
virtual bool SetRange(const SensorRange &range, bool waitFlag=false)=0
virtual void SetOnboardCalibrationEnabled(bool enabled)=0
virtual bool IsConnected()
static int OVR_STDCALL CompareNoCase(const char *a, const char *b)
LatencyTestDisplay(UByte mode, UInt32 value)
virtual const char * GetProfileName()=0
HMDDevice * Disconnect(SensorDevice *)
DeviceBase * CreateDevice()
UUIDReport(UInt16 commandId, UByte uuid[UUID_SIZE])
virtual void GetRange(SensorRange *range) const =0
virtual bool GetLensDistortionReport(LensDistortionReport *)
virtual bool GetAllTemperatureReports(Array< Array< TemperatureReport > > *)
float FirstScanlineToLastScanline