ovrheadset
: Device that manages the Oculus Rift Headset.
More...
#include <ovrheadset/OVRHeadset.h>
Public Member Functions | |
OVRHeadset () | |
virtual | ~OVRHeadset () |
virtual bool | open (yarp::os::Searchable &cfg) |
Open the DeviceDriver. More... | |
virtual bool | close () |
Close the DeviceDriver. More... | |
virtual bool | threadInit () |
Initialization method. More... | |
virtual void | threadRelease () |
Release method. More... | |
virtual void | run () |
Loop function. More... | |
virtual bool | startService () |
Initiate the service, whatever it is. More... | |
virtual bool | updateService () |
Give the service the chance to run for a while. More... | |
virtual bool | stopService () |
Shut down the service, whatever it is. More... | |
bool | getAxisCount (unsigned int &axis_count) override |
Get number of Axes. More... | |
bool | getButtonCount (unsigned int &button_count) override |
Get number of Buttons. More... | |
bool | getTrackballCount (unsigned int &Trackball_count) override |
Get number of trackballs. More... | |
bool | getHatCount (unsigned int &Hat_count) override |
Get number of Hats. More... | |
bool | getTouchSurfaceCount (unsigned int &touch_count) override |
get the number of touch surface. More... | |
bool | getStickCount (unsigned int &stick_count) override |
get the number of the sticks More... | |
bool | getStickDoF (unsigned int stick_id, unsigned int &DoF) override |
Get the Degree Of Freedom count for desired stick. More... | |
bool | getButton (unsigned int button_id, float &value) override |
Get the value of a button. More... | |
bool | getTrackball (unsigned int trackball_id, yarp::sig::Vector &value) override |
Get the axes change of a Trackball. More... | |
bool | getHat (unsigned int hat_id, unsigned char &value) override |
Get the value of an Hat. More... | |
bool | getAxis (unsigned int axis_id, double &value) override |
Get the value of an axis if present, return false otherwise. More... | |
bool | getStick (unsigned int stick_id, yarp::sig::Vector &value, JoypadCtrl_coordinateMode coordinate_mode) override |
Get the value of a stick if present, return false otherwise. More... | |
bool | getTouch (unsigned int touch_id, yarp::sig::Vector &value) override |
Get the value of a touch if present, return false otherwise. More... | |
Public Member Functions inherited from yarp::dev::DeviceDriver | |
~DeviceDriver () override=default | |
Destructor. More... | |
template<class T > | |
bool | view (T *&x) |
Get an interface to the device driver. More... | |
virtual DeviceDriver * | getImplementation () |
Some drivers are bureaucrats, pointing at others. More... | |
Public Member Functions inherited from yarp::os::IConfig | |
virtual | ~IConfig () |
Destructor. More... | |
virtual bool | configure (Searchable &config) |
Change online parameters. More... | |
Public Member Functions inherited from yarp::os::PeriodicThread | |
PeriodicThread (double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No) | |
Constructor. More... | |
virtual | ~PeriodicThread () |
bool | start () |
Call this to start the thread. More... | |
void | step () |
Call this to "step" the thread rather than starting it. More... | |
void | stop () |
Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() called). More... | |
void | askToStop () |
Stop the thread. More... | |
bool | isRunning () const |
Returns true when the thread is started, false otherwise. More... | |
bool | isSuspended () const |
Returns true when the thread is suspended, false otherwise. More... | |
bool | setPeriod (double period) |
Set the (new) period of the thread. More... | |
double | getPeriod () const |
Return the current period of the thread. More... | |
void | suspend () |
Suspend the thread, the thread keeps running by doLoop is never executed. More... | |
void | resume () |
Resume the thread if previously suspended. More... | |
void | resetStat () |
Reset thread statistics. More... | |
double | getEstimatedPeriod () const |
Return estimated period since last reset. More... | |
void | getEstimatedPeriod (double &av, double &std) const |
Return estimated period since last reset. More... | |
unsigned int | getIterations () const |
Return the number of iterations performed since last reset. More... | |
double | getEstimatedUsed () const |
Return the estimated duration of the run() function since last reset. More... | |
void | getEstimatedUsed (double &av, double &std) const |
Return estimated duration of the run() function since last reset. More... | |
int | setPriority (int priority, int policy=-1) |
Set the priority and scheduling policy of the thread, if the OS supports that. More... | |
int | getPriority () const |
Query the current priority of the thread, if the OS supports that. More... | |
int | getPolicy () const |
Query the current scheduling policy of the thread, if the OS supports that. More... | |
Public Member Functions inherited from yarp::dev::IService | |
virtual | ~IService () |
Public Member Functions inherited from yarp::dev::IJoypadController | |
virtual | ~IJoypadController () |
Destructor. More... | |
virtual bool | eventDriven (bool enable, yarp::dev::IJoypadEvent *event=nullptr) |
Activate event Driven mode. More... | |
virtual bool | isEventDriven () |
Additional Inherited Members | |
Public Types inherited from yarp::dev::IJoypadController | |
enum | JoypadCtrl_coordinateMode { JypCtrlcoord_POLAR = 0, JypCtrlcoord_CARTESIAN = 1 } |
Protected Member Functions inherited from yarp::os::PeriodicThread | |
virtual void | beforeStart () |
Called just before a new thread starts. More... | |
virtual void | afterStart (bool success) |
Called just after a new thread starts (or fails to start), this is executed by the same thread that calls start(). More... | |
Protected Member Functions inherited from yarp::dev::IJoypadController | |
virtual bool | parseActions (const yarp::os::Searchable &cfg, int *count=nullptr) |
virtual bool | executeAction (int action_id) |
Protected Attributes inherited from yarp::dev::IJoypadController | |
std::map< int, std::string > | m_actions |
ovrheadset
: Device that manages the Oculus Rift Headset.
Parameters accepted in the config argument of the open method:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
tfLocal | string | yes | local port name receiving and posting tf | |||
tfRemote | string | yes | name of the transformServer port | |||
tf_left_hand_frame | string | Yes | name of the left hand frame | |||
tf_right_hand_frame | string | yes | name of the right hand frame | |||
tf_root_frame | string | yes | name of the root frame | |||
stick_as_axis | bool | yes | if axes shoud be published as sticks | |||
gui_elements | int | yes | number of the gui element to visualize | |||
hands_relative | bool | false | no | if the hand pose should be w.r.t. head |
Gui Groups parameters | Parameter name | Type | Units | Default Value | Required | Description | Notes | | width | double | pixel | | yes | width of the widget | | | height | double | pixel | | yes | height of the widget | | | x | double | pixel | | yes | x position of the widget | | | y | double | pixel | | yes | y position of the widget | | | z | double | pixel | | yes | z position of the widget | | | alpha | double | | | yes | alpha value of the widget | |
Definition at line 80 of file OVRHeadset.h.
|
explicit |
Definition at line 263 of file OVRHeadset.cpp.
|
virtual |
Definition at line 269 of file OVRHeadset.cpp.
|
virtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 828 of file OVRHeadset.cpp.
|
overridevirtual |
Get the value of an axis if present, return false otherwise.
getAxis
axis_id | Id of the axis to get. must be > -1 && < getAxisCount(), return false otherwise |
value | reference to be valued. the absolute boundaries for the values should be -1.0 and 1.0 However the actual range depends on the physical device (example: analog trigger does not have a central position thus can give a value from 0.0 to 0.1) |
Implements yarp::dev::IJoypadController.
Definition at line 1616 of file OVRHeadset.cpp.
|
overridevirtual |
Get number of Axes.
getAxisCount
axes_count | unsigned int reference that will contain the result |
Implements yarp::dev::IJoypadController.
Definition at line 1534 of file OVRHeadset.cpp.
|
overridevirtual |
Get the value of a button.
from 0-unpressed to 1-fullpressed and values in the middle in the analog-face-button case
getButton
button_id | Id of the button to get. Must be > -1 && < getButtonCount(), return false otherwise |
value | reference to be valued. The value will be from 0.0 (not even touched) to 1.0 (fully pressed) |
Implements yarp::dev::IJoypadController.
Definition at line 1582 of file OVRHeadset.cpp.
|
overridevirtual |
Get number of Buttons.
getButtonCount
button_count | unsigned int reference that will contain the result |
Implements yarp::dev::IJoypadController.
Definition at line 1541 of file OVRHeadset.cpp.
|
overridevirtual |
Get the value of an Hat.
getHat
hat_id | Id of the POV hat to get. Must be > -1 && < getHatCount(), return false otherwise |
value | reference to be valued. use the YRPJOY_HAT_ macro series to get the currently pressed directions |
Implements yarp::dev::IJoypadController.
Definition at line 1600 of file OVRHeadset.cpp.
|
overridevirtual |
Get number of Hats.
getHatsCount
Hat_count | unsigned int reference that will contain the result |
Implements yarp::dev::IJoypadController.
Definition at line 1555 of file OVRHeadset.cpp.
|
overridevirtual |
Get the value of a stick if present, return false otherwise.
getStick
stick_id | Id of the stick to get. must be > -1 && < getStickCount(), return false otherwise |
value | a vector that will contain the joystick position. the size of the vector will give you the Number of degrees of freedom and the value will be from -1.0 to 1.0 |
coordinate_mode | to get data in cartesian mode or polar (spheric in 3 dof position cases) mode |
Implements yarp::dev::IJoypadController.
Definition at line 1629 of file OVRHeadset.cpp.
|
overridevirtual |
get the number of the sticks
getStickCount
stick_count | unsigned int reference that will contain the result |
Implements yarp::dev::IJoypadController.
Definition at line 1569 of file OVRHeadset.cpp.
|
overridevirtual |
Get the Degree Of Freedom count for desired stick.
getStickDoF
stick_id | Id of the stick. must be > -1 && < getStickCount(), return false otherwise |
DoF | an unsigned int reference that will contain the value. |
Implements yarp::dev::IJoypadController.
Definition at line 1576 of file OVRHeadset.cpp.
|
overridevirtual |
Get the value of a touch if present, return false otherwise.
getTouch
value | a vector that will contain the touch values normalized from 0.0 to 1.0. |
Implements yarp::dev::IJoypadController.
Definition at line 1656 of file OVRHeadset.cpp.
|
overridevirtual |
get the number of touch surface.
multiple touch surface can rappresent either multiple physical monotouch surface or a multitouch surface or a combination of the two
hasTouchSurface
touch_count | unsigned int reference that will contain the result |
Implements yarp::dev::IJoypadController.
Definition at line 1562 of file OVRHeadset.cpp.
|
overridevirtual |
Get the axes change of a Trackball.
getTrackball
trackball_id | Id of the Trackball to get. Must be > -1 && < getTrackballCount(), return false otherwise |
value | reference to be valued. the value will be from 0.0 (not moving) to 1.0 (full velocity) |
Implements yarp::dev::IJoypadController.
Definition at line 1595 of file OVRHeadset.cpp.
|
overridevirtual |
Get number of trackballs.
getTrackballCount
Trackball_count | unsigned int reference that will contain the result |
Implements yarp::dev::IJoypadController.
Definition at line 1548 of file OVRHeadset.cpp.
|
virtual |
Open the DeviceDriver.
config | is a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device). |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 375 of file OVRHeadset.cpp.
|
virtual |
Loop function.
This is the thread itself. The thread calls the run() function every <period> ms. At the end of each run, the thread will sleep the amounth of time required, taking into account the time spent inside the loop function. Example: requested period is 10ms, the run() function take 3ms to be executed, the thread will sleep for 7ms.
Note: after each run is completed, the thread will call a yield() in order to facilitate other threads to run.
Implements yarp::os::PeriodicThread.
Definition at line 897 of file OVRHeadset.cpp.
|
virtual |
Initiate the service, whatever it is.
The service should then run by itself, without any further interaction with its creator until stopService() is called.
Reimplemented from yarp::dev::IService.
Definition at line 835 of file OVRHeadset.cpp.
|
virtual |
Shut down the service, whatever it is.
Reimplemented from yarp::dev::IService.
Definition at line 876 of file OVRHeadset.cpp.
|
virtual |
Initialization method.
The thread executes this function when it starts and before "run". This is a good place to perform initialization tasks that need to be done by the thread itself (device drivers initialization, memory allocation etc). If the function returns false the thread quits and never calls "run". The return value of threadInit() is notified to the class and passed as a parameter to afterStart(). Note that afterStart() is called by the same thread that is executing the "start" method.
Reimplemented from yarp::os::PeriodicThread.
Definition at line 612 of file OVRHeadset.cpp.
|
virtual |
Release method.
The thread executes this function once when it exits, after the last "run". This is a good place to release resources that were initialized in threadInit() (release memory, and device driver resources).
Reimplemented from yarp::os::PeriodicThread.
Definition at line 737 of file OVRHeadset.cpp.
|
virtual |
Give the service the chance to run for a while.
This is an alternative to calling startService(). It is more appropriate in a single-threaded environment.
Reimplemented from yarp::dev::IService.
Definition at line 841 of file OVRHeadset.cpp.