gForceSDK
gf Namespace Reference

The namespace in which all of the gForceSDK project definitions are contained. More...

Classes

class  Device
 The abstract class of a gForce device. More...
 
class  DeviceSetting
 The abstract of the device setting handler of a gForce device. More...
 
class  Euler
 Data type of Eulerian angle. More...
 
class  Hub
 The abstract of a gForce Hub. More...
 
class  HubListener
 The callback interface for processing messages from the Hub. More...
 
class  HubManager
 The factory of the Hub. More...
 
class  Quaternion
 Data type of quaternion. More...
 

Typedefs

typedef char GF_CHAR
 type definition
 
typedef char * GF_PCHAR
 type definition
 
typedef const char * GF_CPCHAR
 type definition
 
typedef unsigned int GF_UINT
 type definition
 
typedef int GF_INT
 type definition
 
typedef float GF_FLOAT
 type definition
 
typedef unsigned char GF_UINT8
 type definition
 
typedef unsigned char * GF_PUINT8
 type definition
 
typedef unsigned short GF_UINT16
 type definition
 
typedef unsigned short * GF_PUINT16
 type definition
 
typedef unsigned int GF_UINT32
 type definition
 
typedef unsigned long long GF_UINT64
 type definition
 
typedef size_t GF_SIZE
 type definition
 
typedef GF_INT GF_STATUS
 type definition
 
typedef void * GF_HANDLE
 type definition
 
using tstring = std::string
 std::string type definition for ANSI/UNICODE convenience
 
typedef char tchar
 char type definition for ANSI/UNICODE convenience
 
template<typename T >
using gfwPtr = std::weak_ptr< T >
 The weak pointer.
 
template<typename T >
using gfsPtr = std::shared_ptr< T >
 The strong pointer.
 
using WPDEVICE = gfwPtr< Device >
 the weak pointer to Device
 
using SPDEVICE = gfsPtr< Device >
 the strong pointer to Device
 

Enumerations

enum  ResponseResult : GF_UINT32 {
  RREST_SUCCESS, RREST_NOT_SUPPORT, RREST_BAD_PARAM, RREST_FAILED,
  RREST_TIMEOUT
}
 
enum  WorkMode { WorkMode::Freerun, WorkMode::Polling }
 Defines how callbacks are called in threads. More...
 
enum  GF_RET_CODE : GF_UINT32 {
  GF_RET_CODE::GF_SUCCESS = 0, GF_RET_CODE::GF_ERROR, GF_RET_CODE::GF_ERROR_BAD_PARAM, GF_RET_CODE::GF_ERROR_BAD_STATE,
  GF_RET_CODE::GF_ERROR_NOT_SUPPORT, GF_RET_CODE::GF_ERROR_SCAN_BUSY, GF_RET_CODE::GF_ERROR_NO_RESOURCE, GF_RET_CODE::GF_ERROR_TIMEOUT,
  GF_RET_CODE::GF_ERROR_DEVICE_BUSY, GF_RET_CODE::GF_ERROR_NOT_READY
}
 Defines possible return values of methods. More...
 
enum  Gesture : GF_UINT8 {
  Relax = 0x00, Fist = 0x01, SpreadFingers = 0x02, WaveIn = 0x03,
  WaveOut = 0x04, Pinch = 0x05, Shoot = 0x06, UserDefine1 = 0x07,
  UserDefine2 = 0x08, UserDefine3 = 0x09, UserDefine4 = 0x0A, UserDefine5 = 0x0B,
  UserDefine6 = 0x0C, UserDefine7 = 0x0D, UserDefine8 = 0x0E, UserDefine9 = 0x0F,
  Undefined = 0xFF
}
 Gesture types predefined in the gForce device.
 
enum  DeviceStatus : GF_UINT8 {
  None = 0, ReCenter = 1, UsbPlugged = 2, UsbPulled = 3,
  Motionless = 4
}
 Device status notification of a gForce device.
 
enum  HubState {
  Idle, Scanning, Connecting, Disconnected,
  Unknown
}
 Possible Hub states.
 
enum  DeviceConnectionStatus { Disconnected, Disconnecting, Connecting, Connected }
 Possible gForce device connection status.
 
enum  DeviceDataType : GF_UINT32 {
  DDT_INVALID = 0, DDT_ACCELERATE, DDT_GYROSCOPE, DDT_MAGNETOMETER,
  DDT_EULERANGLE, DDT_QUATERNION, DDT_ROTATIONMATRIX, DDT_GESTURE,
  DDT_EMGRAW, DDT_HIDMOUSE, DDT_HIDJOYSTICK, DDT_DEVICESTATUS,
  DDT_MAX
}
 Define the data types the device do support.
 
enum  ProfileCharType : GF_UINT8 {
  PROF_SIMPLE_DATA = 0, PROF_DATA_CMD, PROF_DATA_NTF, PROF_OAD_IDENTIFY,
  PROF_OAD_BLOCK, PROF_OAD_FAST
}
 Define the gforce profile characteristic type.
 

Detailed Description

The namespace in which all of the gForceSDK project definitions are contained.

Enumeration Type Documentation

◆ GF_RET_CODE

enum gf::GF_RET_CODE : GF_UINT32
strong

Defines possible return values of methods.

Enumerator
GF_SUCCESS 

Method returns successfully.

GF_ERROR 

Method returns with a generic error.

GF_ERROR_BAD_PARAM 

Given parameters are not match required.

GF_ERROR_BAD_STATE 

Method call is not allowed by the inner state.

GF_ERROR_NOT_SUPPORT 

Method is not supported at this time.

GF_ERROR_SCAN_BUSY 

Hub is busying on device scan and cannot fulfill the call.

GF_ERROR_NO_RESOURCE 

Insufficient resource to perform the call.

GF_ERROR_TIMEOUT 

A preset timer is expired.

GF_ERROR_DEVICE_BUSY 

Target device is busy and cannot fulfill the call.

GF_ERROR_NOT_READY 

The retrieving data is not ready yet.

◆ WorkMode

enum gf::WorkMode
strong

Defines how callbacks are called in threads.

Enumerator
Freerun 

Callbacks are called in the message senders' threads

Remarks
  1. Callbacks are called in various threads.
  2. No need to call Hub::run, the method will return immediately in this mode.
Polling 

Callbacks are called in the client thread given by method Hub::run

Remarks
Client has to call Hub::run to pull messages (represent as callbacks), otherwise messages are blocking in an inner queue without been handled.