27 #ifndef OVR_SensorImpl_h
28 #define OVR_SensorImpl_h
35 #include "OVR_PhoneSensors.h"
40 struct TrackerMessage;
41 class ExternalVisitor;
203 virtual double OnTicks(
double tickSeconds);
304 #ifdef OVR_OS_ANDROID
305 void replaceWithPhoneMag(
Vector3f* val);
306 PhoneSensors* pPhoneSensors;
316 #endif // OVR_SensorImpl_h
Matrix4f GyroCalibrationMatrix
BootLoaderDeviceCreateDesc(DeviceFactory *factory, const HIDDeviceDesc &hidDesc)
Vector3f AccelCalibrationOffset
void onTrackerMessage(TrackerMessage *message)
DeviceFactory *const pFactory
virtual DeviceBase * NewDeviceInstance()
bool decodeTrackerMessage(TrackerMessage *message, UByte *buffer, int size)
virtual bool MatchVendorProduct(UInt16 vendorId, UInt16 productId) const
virtual bool Initialize(DeviceBase *parent)
virtual void GetRange(SensorRange *range) const
virtual bool GetDeviceInfo(DeviceInfo *info) const
SensorTimeFilter TimeFilter
bool setSerialReport(const SerialReport &data)
virtual bool GetDeviceInfo(DeviceInfo *info) const
virtual unsigned GetReportRate() const
SensorDeviceImpl(SensorDeviceCreateDesc *createDesc)
virtual bool MatchHIDDevice(const HIDDeviceDesc &hidDesc) const
virtual void AddMessageHandler(MessageHandler *handler)
virtual bool DetectHIDDevice(DeviceManager *pdevMgr, const HIDDeviceDesc &desc)
bool GetSerialReport(SerialReport *data)
Matrix4f AccelCalibrationMatrix
virtual DeviceBase * NewDeviceInstance()
virtual void SetReportRate(unsigned rateHz)
virtual double OnTicks(double tickSeconds)
static SensorDeviceFactory & GetInstance()
float CalibrationTemperature
static void EnumerateHMDFromSensorDisplayInfo(const SensorDisplayInfoImpl &displayInfo, DeviceFactory::EnumerateVisitor &visitor)
Void setReportRate(unsigned rateHz)
virtual DeviceCreateDesc * Clone() const
float OutsideLensSurfaceToScreen[2]
virtual bool SetMagCalibrationReport(const MagCalibrationReport &data)
bool setRange(const SensorRange &range)
virtual void OnInputReport(UByte *pData, UInt32 length)
Vector3f GyroCalibrationOffset
virtual void SetOnboardCalibrationEnabled(bool enabled)
CoordinateFrame HWCoordinates
Vector3f LastRotationRate
DeviceManagerImpl * pManager
virtual void GetFactoryCalibration(Vector3f *AccelOffset, Vector3f *GyroOffset, Matrix4f *AccelMatrix, Matrix4f *GyroMatrix, float *Temperature)
bool getSerialReport(SerialReport *data)
virtual bool IsMagCalibrated()
virtual CoordinateFrame GetCoordinateFrame() const
virtual DeviceCreateDesc * Clone() const
virtual void EnumerateDevices(EnumerateVisitor &visitor)
DeviceManager * getManager() const
virtual void SetCoordinateFrame(CoordinateFrame coordframe)
SensorRange MaxValidRange
CoordinateFrame Coordinates
virtual void openDevice()
double NextKeepAliveTickSeconds
void closeDeviceOnError()
Vector3f LastMagneticField
virtual MatchResult MatchDevice(const DeviceCreateDesc &other, DeviceCreateDesc **) const
Void setCoordinateFrame(CoordinateFrame coordframe)
SensorDeviceCreateDesc(DeviceFactory *factory, const HIDDeviceDesc &hidDesc)
virtual bool SetRange(const SensorRange &range, bool waitFlag)
Void setOnboardCalibrationEnabled(bool enabled)
virtual bool MatchHIDDevice(const HIDDeviceDesc &hidDesc) const
bool SetSerialReport(const SerialReport &data)
static int OVR_STDCALL CompareNoCase(const char *a, const char *b)
virtual bool GetMagCalibrationReport(MagCalibrationReport *data)
Vector3f LastAcceleration
virtual MatchResult MatchDevice(const DeviceCreateDesc &other, DeviceCreateDesc **) const