Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ install_manifest.txt
*.lai
*.la
*.a
/build
44 changes: 24 additions & 20 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,35 @@ Required Tools
The tools required to fully build libfreespace are:

1) git - Use a stable release.
Windows: https://git-scm.com/download/win
Ubuntu: sudo apt-get install git
Windows: https://git-scm.com/download/win
Ubuntu: sudo apt-get install git

2) Python v2.7
Windows: http://www.python.org/download/releases/2.7.5/
Windows: http://www.python.org/download/releases/2.7.5/#download
Update the environment variable PATH to include the folder that
contain python.exe.
Ubuntu: sudo apt-get install python
Ubuntu: sudo apt-get install python

3) Doxygen v1.8.0 (older versions will have formatting problems)
Windows: http://www.stack.nl/~dimitri/doxygen/download.html
Windows: http://www.stack.nl/~dimitri/doxygen/download.html#srcbin
Ubuntu: You cannot use apt-get for doxygen because the version is too
old. Instead, get it from the Doxygen download page.

4) Graphviz v2.30.1
Windows: http://www.graphviz.org/Download_windows.php
Ubuntu: sudo apt-get install graphviz
Windows: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
Update the environment variable PATH to include the folder that
contain dot.exe.
Ubuntu: sudo apt-get install graphviz

5) CMake v2.8 http://www.cmake.org/
Windows: http://www.cmake.org/cmake/resources/software.html
Ubuntu: sudo apt-get install cmake
sudo apt-get install cmake-gui
5) CMake v2.8 http://www.cmake.org/
Windows: http://www.cmake.org/cmake/resources/software.html
Ubuntu: sudo apt-get install cmake
sudo apt-get install cmake-gui

If using Microsoft Windows:

6) MS Visual Studio 10 (2010) or above
The "Express" versions work just fine, although they lack 64-bit compilers.
The "Express" versions work just fine, although they lack 64-bit compilers.
Only the Visual C/C++ parts are necessary.

7) Windows Driver Development Kit (WinDDK) 7.1.0
Expand All @@ -55,10 +57,10 @@ If using Linux:
6) GNU Make and GNU G++
The best way to get these is to get the build-essential package.
This should be available for most Linux distros.
Ubuntu: sudo apt-get install build-essential
Ubuntu: sudo apt-get install build-essential

7) libusb http://www.libusb.org/
Ubuntu: sudo apt-get install libusb-1.0-0-dev
7) libusb http://www.libusb.org/
Ubuntu: sudo apt-get install libusb-1.0-0-dev


Getting the files
Expand Down Expand Up @@ -93,10 +95,12 @@ Windows:
Visual Studio 10 (2010)
Visual Studio 11 (2012)
Visual Studio 12 (2013)

Visual Studio 14 (2015)
Visual Studio 15 (2017)


Linux:
Unix Makefiles
Unix Makefiles

At this point, all the configuration settings will be red. This is the time to
make any changes to the settings that are displayed. Not all settings are
Expand All @@ -118,9 +122,9 @@ them at your libusb installation.
There are other configuration settings available:

CMAKE_INSTALL_PREFIX :
The installation directory where the CMake install project will install to.
This is initiated by building the "INSTALL" project in the VS solution.
Default is typically "C:\Program Files (x86)\libfreespace"
The installation directory where the CMake install project will install to.
This is initiated by building the "INSTALL" project in the VS solution.
Default is typically "C:\Program Files (x86)\libfreespace"
LIBFREESPACE_BACKEND :
Specify an alternate backend on some paltforms. On Linux, valid values are
'hidraw' and 'libusb'
Expand Down
50 changes: 25 additions & 25 deletions doc/mainpage.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,32 @@
*/

/*!
\ingroup messages
\anchor meoutformatinfo
\page meoutformat MotionEngine Output Format
\ingroup messages
\anchor meoutformatinfo
\page meoutformat MotionEngine Output Format

When the user requests motion from a Freespace device using a
Data Mode Control V2 Request, the user must provide a Format by setting the
formatSelect field and then request data fields by setting the appropriate Format
Flags. The Format determines the different data fields that can be
transmitted, and the Format Flags determine which fields are actually
transmitted in the MotionEngine Output Packet. The MotionEngine Output Packets
that are transmitted in response to a Data Mode Control V2 Request will have
the same formatSelect and Format Flag values as the Request, plus the appropriate
real-time data. Below is a table which outlines the available data fields by
Format and Format Flag:
When the user requests motion from a Freespace device using a
Data Mode Control V2 Request, the user must provide a Format by setting the
formatSelect field and then request data fields by setting the appropriate Format
Flags. The Format determines the different data fields that can be
transmitted, and the Format Flags determine which fields are actually
transmitted in the MotionEngine Output Packet. The MotionEngine Output Packets
that are transmitted in response to a Data Mode Control V2 Request will have
the same formatSelect and Format Flag values as the Request, plus the appropriate
real-time data. Below is a table which outlines the available data fields by
Format and Format Flag:

Format Flag | formatSelect = 0 | formatSelect = 1 | formatSelect = 2 | formatSelect = 3
----------------|-----------------------|-----------------------|-----------------------|-------------------
FF0 | Pointer | Acceleration | Reserved | Pointer
FF1 | Linear Acceleration | Linear Acceleration, No Gravity | Reserved | Linear Acceleration
FF2 | Linear Acceleration, No Gravity | Angular Velocity | Reserved | Linear Acceleration, No Gravity
FF3 | Angular Velocity | Magnetometer | Reserved | Angular Velocity
FF4 | Magnetometer | Inclination | Reserved | Magnetometer
FF5 | Temperature | Compass Heading | Reserved | Temperature
FF6 | Angular Position (WXYZ) | Angular Position (XYZW) | Reserved | Angular Position (WXYZ)
FF7 | Reserved | Activity Classification/Power Management Flags | Reserved | Reserved
| Format Flag | formatSelect = 0 | formatSelect = 1 | formatSelect = 2 | formatSelect = 3 |
| ----------- | ------------------------------- | ---------------------------------------------- | ---------------- | ------------------------------- |
| FF0 | Pointer | Acceleration | Reserved | Pointer |
| FF1 | Linear Acceleration | Linear Acceleration, No Gravity | Reserved | Linear Acceleration |
| FF2 | Linear Acceleration, No Gravity | Angular Velocity | Reserved | Linear Acceleration, No Gravity |
| FF3 | Angular Velocity | Magnetometer | Reserved | Angular Velocity |
| FF4 | Magnetometer | Inclination | Reserved | Magnetometer |
| FF5 | Temperature | Compass Heading | Reserved | Temperature |
| FF6 | Angular Position (WXYZ) | Angular Position (XYZW) | Reserved | Angular Position (WXYZ) |
| FF7 | Reserved | Activity Classification/Power Management Flags | Reserved | Reserved |

For more information about using the Data Mode Control V2 Request and MotionEngine Output Packet, or for detailed
information about the meaning, units, and orientation of these data fields, please refer to the 1000-2984 HCOMM Reference Manual.
For more information about using the Data Mode Control V2 Request and MotionEngine Output Packet, or for detailed
information about the meaning, units, and orientation of these data fields, please refer to the 1000-2984 HCOMM Reference Manual.
*/