Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Driver madness 7: Deep dark #1

Open
wants to merge 121 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
32168fb
driver: src: Split devices into into different source files
Dec 4, 2021
a796bcd
hobovr: bin: linux: Fresh driver build
Dec 4, 2021
cfb774b
driver: src: Added addons
Dec 4, 2021
e292903
driver: Added shroom dep submodule
Dec 5, 2021
8138ee4
driver: src: Moved device packet structs and added a udu new device
Dec 5, 2021
54b0466
driver: Fixed cmake build instructions
Dec 5, 2021
be638ec
driver: src: addons: First working implementation of GazeMaster device
Dec 5, 2021
da5be4f
driver: shroom: Checked out latest master
Dec 5, 2021
ed00978
driver: src: driver_hobovr.cpp: Removed useless paths
Dec 5, 2021
b6d9818
driver: src: addons.cpp: Fixed a silly typo
Dec 5, 2021
7fa11d4
driver: src: packets.h: Added an age field to gaze state struct
Dec 5, 2021
b5b49ce
hobovr: bin: Fresh Linux build
Dec 5, 2021
9b953ca
bindings: python: examples: full_udu_test.py: Added GazeMaster device
Dec 5, 2021
fc17ba7
hobovr: resources: rendermodels: hobovr_gaze_master: Added a model fo…
Dec 6, 2021
ab38d88
hobovr: resources: rendermodels: hobovr_gaze_master: Fixed some bugs
Dec 6, 2021
52362ed
driver: src: tracking_references.cpp: Fixed pose update bug
Dec 6, 2021
9e17f2f
hobovr: bin: linux: Fresh driver build
Dec 6, 2021
c7548c0
driver: CMakeLists.txt: More sane platform control
Dec 25, 2021
9f1ad9a
driver: src: Updated receiver and device behavior
Dec 25, 2021
dea2017
driver: src: Updated controller packets
Dec 25, 2021
9ed611f
driver: src: ref: Removed old receiver sources
Dec 25, 2021
17cea2e
driver: src: Updated manager packets
Dec 25, 2021
389a869
driver: src: packets.h: Updated GazeMaster packet
Dec 25, 2021
db7d8a8
hobovr: bin: Latest Linux build
Dec 25, 2021
9ff66eb
driver: src: License headers
Dec 25, 2021
2c85670
driver: src: addons.cpp: Minor fix for failed shmem create
Jan 6, 2022
b485f5d
driver: src: driver_hobovr.cpp: Incorporated new receiver class
Jan 6, 2022
b98f405
driver: src: packets.h: Renamed a bunch of stuff and merged a few str…
Jan 6, 2022
a1fd2a7
driver: src: hobovr_components.h/hobovr_defines.h: Minor fixes
Jan 6, 2022
a4eb35a
driver: src: ref: receiver: A bunch of stuff because raw sockets brin…
Jan 6, 2022
478e50c
driver: src: ref: util.h: Removed unused defines and constexpr
Jan 6, 2022
31a795a
driver: src: trackers.cpp: Weird typo
Jan 6, 2022
09f3907
driver: src: tracking_references.cpp: Updated udu sync method and mes…
Jan 6, 2022
edc6225
hobovr: resources: settings: default.vrsettings: No more default devi…
Jan 6, 2022
68e4789
hobovr: driver: bin: linux: Latest ish driver build
Jan 6, 2022
3551491
driver: CMakeLists.txt: Cleaned up cmake
Jan 19, 2022
bb45ffb
drriver: src: Updated state update methods
Jan 19, 2022
bc13fcb
driver: src: Switched to using lazy_sockets for sockets
Jan 19, 2022
cd6a2c5
driver: src: packets.h: Added a tag struct and id messages
Jan 19, 2022
f0e7320
hobovr: bin: Fresh Linux build
Jan 19, 2022
0fc5198
driver: Added lazy_sockets submodule
Jan 19, 2022
b0e06a3
bindings: cpp: examples: Added a new C++ example
Jan 19, 2022
56634dc
GIT: Removed bad submodule path
Jan 19, 2022
008946b
GIT: Removed bad submodule path
Jan 19, 2022
e187171
bindings: cpp: examples: uduTest: test.cpp: Fixed the manager coms
Jan 20, 2022
6579f19
driver: src: tracking_references.cpp: Fixed manager messages
Jan 20, 2022
3983bca
driver: src: driver_hobovr.cpp: Changed OnPacket() to be similar to t…
Jan 20, 2022
990cc3a
bindings: cpp: examples: uduTest: test.cpp: It can be simple now
Jan 24, 2022
30f85d3
driver: src: ref: hobovr_defines.h: Version bump and removed old defines
Jan 24, 2022
b416b6c
driver: src: Added a new poser response
Jan 24, 2022
bb11a37
driver: src: driver_hobovr.cpp: Removed uneeded calls on driver cleanup
Jan 24, 2022
576b5ea
hobovr: bin: Fresh Linux build
Jan 24, 2022
17fe37a
driver: src: Windows compat
okawo80085 Jan 26, 2022
8ebcbc5
bindings: cpp: examples: uduTest: test.cpp: Windows compat
okawo80085 Jan 26, 2022
59594ad
GITHUB: Updated lazy-sockets submodules
okawo80085 Feb 7, 2022
1b66c21
bindings: cpp: examples: uduTest: lazy-sockets update
okawo80085 Feb 7, 2022
ec07c32
driver: src: Use new lazy-socket features
okawo80085 Feb 7, 2022
a148ee4
driver: shroom: Checked out latest master
okawo80085 Feb 7, 2022
f875c52
hobovr: bin: Fresh Windows build
okawo80085 Feb 7, 2022
43e9a91
GITHUB: Changed lazy-sockets version to 0.2.3
Feb 13, 2022
2cc91e8
hobovr: bin: Fresh Linux build
Feb 13, 2022
c2585a4
driver: src: driver_hobovr.cpp: Changed where manager is activated
Feb 20, 2022
1ca63ae
Merge branch 'master' into driver_madness_7
Mar 9, 2022
819abb7
bindings: cpp: uduTest: Added install and changed target extension
Mar 9, 2022
9828e40
GITHUB: Updated actions to build test poser
Mar 9, 2022
0899adb
GITHUB: Cleaned up actions a bit
Mar 9, 2022
1337607
scripts: linux: Fixed a bug with weird paths
Mar 9, 2022
41ae235
bindings: cpp: uduTest: Added some debug prints
Mar 9, 2022
4fd75b1
driver: src: Fixed HMDless startup bug
Mar 10, 2022
47022ed
bindings: cpp: uduTest: Added more prints
Mar 10, 2022
013e20e
driver: src: ref: hobovr:defines.h: Version bump
Mar 10, 2022
9ea92bc
bindings: cpp: uduTest: Fixed a type convert for windows
Mar 10, 2022
68928a5
driver: src: driver_hobovr.cpp: Less intrusive requireHmd
Mar 11, 2022
dc4dcc7
driver: src: hobovr_defines.h: New persistence keys
Mar 11, 2022
b6c5559
driver: src: hobovr_defines.h: Version bump
Mar 11, 2022
88540fc
bindings: cpp: uduTest: Updated poser to use addon
Mar 20, 2022
d3fce3b
driver: src: addons: Switched to using VRInput API
Mar 20, 2022
dc2eb07
driver: src: packets.h: Updated gaze packet
Mar 20, 2022
815e9ea
driver: src: Potential Windows fix
Mar 20, 2022
b99eefd
driver: src: Added a new timer
Apr 1, 2022
4c6ddc5
driver: src: Increased timer precision
Apr 1, 2022
91042ef
driver: src: Added create device factory
Apr 1, 2022
0fd8fa6
driver: ref: Base class implements interface pattern now
Apr 1, 2022
4ba9cd8
driver: src: driver_hobovr.cpp: Updated device management
Apr 1, 2022
484bec2
driver: src: device_factory.cpp: Error handling
Apr 2, 2022
fc1e0bb
GITHUB: Resolved CI merge conflict
Apr 2, 2022
1246720
GITHUB: Resolved CI merge conflict
Apr 2, 2022
4aa612b
driver: ref: hobovr_device_base.cpp: Fixed destructor
Apr 2, 2022
360cd22
driver: src: Fixed timer declaration
Apr 3, 2022
6d9436a
driver: src: Fixed device model numbers
Apr 3, 2022
6f1983a
driver: src: driver_hobovr.cpp: Fixed segfault
Apr 17, 2022
dc0e481
hobovr: resources: New gaze master icons
Apr 17, 2022
825467b
driver: src: driver_hobovr.cpp: Fixed udu processing
May 2, 2022
f7744a1
driver: src: Fixed timer dead lock
May 2, 2022
9fb02db
driver: src: Merged haptic messages into general response
May 3, 2022
ce0d2f8
bindings: cpp: uduTest: Remade the test poser
May 3, 2022
df40cb4
bindings: cpp: uduTest: Werror complience
May 3, 2022
794d215
bindings: cpp: uduTest: Changed return code on refused conn
May 3, 2022
d88b4b9
driver: src: packets.h: Updated gaze master packet
May 8, 2022
4d4a2a4
driver: src: addons: Updated gaze master logic
May 8, 2022
d176dd4
driver: src: addon.cpp: Werror compliance
May 8, 2022
4330919
bindings: cpp: uduTest: Fixed receive logic for windows
May 9, 2022
a05acb8
driver: src: addons: Added gaze master status logic
May 9, 2022
6503e3a
git-submodules: Updated lazy-sockets to v0.2.6
May 24, 2022
d2dddc1
driver: Added initial version of gaze master plugins
Jun 25, 2022
77e4f05
bindings: cpp: uduTest: Added case for gaze master
Jun 25, 2022
0bee416
ver: src: plugins: Added windows helper
okawo80085 Jun 27, 2022
8e35a01
driver: Fixed windows bug and added gaze logger readme
Jun 28, 2022
c34b449
Driver: Fixed plugin loading for windows.
Jun 28, 2022
aa8af4e
driver: src: Small tweaks
Jun 28, 2022
f624a8e
Driver: Modified windows getString message
Jun 28, 2022
ca9c27a
driver: plugins: Added interface version as activate arg
Jun 29, 2022
7f2233f
driver: Moved to using boost::dll for plugin imports
Aug 2, 2022
8e8dc47
GITHUB: Fixed boost dep in CI
Aug 3, 2022
c40f09c
driver: Windows CI terribleness
okawo80085 Aug 4, 2022
7b09122
GITHUB: Added boost submodule
okawo80085 Aug 9, 2022
be351c4
driver: CMakeLists.txt: Moved to handling boost as a submodule
okawo80085 Aug 9, 2022
2b1d3f8
GITHUB: cmake.yml: Removed boost fetch
okawo80085 Aug 9, 2022
b366ca3
driver: gaze_master_plugins: Windows terribleness
okawo80085 Aug 9, 2022
917a035
driver: gaze_master_plugins: Added missing includes
okawo80085 Aug 9, 2022
d9b5221
GITHUB: workflows: Temp workaround for broken boost cmake install
okawo80085 Aug 9, 2022
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
22 changes: 22 additions & 0 deletions .github/actions/setup-conan/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: "Set up conan"
description: "Set up conan using pip"
runs:
using: "composite"
steps:
# Disabled, because composite run steps don't support "using" yet
# - name: set up python
# uses: actions/setup-python@v1
# with:
# python-version: '3.x'

- name: install conan
run: |
python -m pip install --upgrade pip
pip install --upgrade conan
shell: bash

- name: setup conan profile
run: |
conan profile new default --detect
conan profile show default
shell: bash
75 changes: 50 additions & 25 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,53 @@ jobs:
runs-on: ${{ inputs.platform }}

steps:
- name: Clone repo
uses: actions/checkout@v3

- name: Clone submodules
run: git submodule init && git submodule update

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake driver -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{inputs.buildType}}

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{inputs.buildType}}

- name: Install
# Install the built driver into it's directory
run: cmake --install ${{github.workspace}}/build

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: hobovr-build-${{ inputs.platform }}
path: |
hobovr
- name: Clone repo
uses: actions/checkout@v3

- name: Clone submodules
run: git submodule update --init --recursive --jobs $(nproc)

# Configure CMake projects
- name: Configure Driver CMake
run: cmake driver -B ${{github.workspace}}/driver_build -DCMAKE_BUILD_TYPE=${{inputs.buildType}}

- name: Configure Poser Cmake
run: cmake bindings/cpp/examples/uduTest -B ${{github.workspace}}/poser_build -DCMAKE_BUILD_TYPE=${{inputs.buildType}}

# Builds targets
- name: Build Driver
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/driver_build --config ${{inputs.buildType}} -j $(nproc)

- name: Build Poser
run: cmake --build ${{github.workspace}}/poser_build --config ${{inputs.buildType}} -j $(nproc)

- name: Fix Boost Install
uses: "finnp/create-file-action@master"
env:
FILE_NAME: ${{github.workspace}}/driver_build/boost/cmake_install.cmake
FILE_DATA: ""

# Install targets
- name: Install Driver
# Install the built driver into it's directory
run: cmake --install ${{github.workspace}}/driver_build

- name: Install Poser
run: cmake --install ${{github.workspace}}/poser_build

# Upload build artifacts
- name: Upload Driver Artifacts
uses: actions/upload-artifact@v3
with:
name: hobovr-build-${{ inputs.platform }}
path: |
hobovr

- name: Upload poser Artifacts
uses: actions/upload-artifact@v3
with:
name: test-poser-${{ inputs.platform }}
# could have different extensions depending on the platform
path: bindings/cpp/examples/uduTest/output/test_poser

1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ Matrix3x3.hpp
Vector2.hpp
Vector3.hpp
Quaternion.hpp
boost/
venv/
bindings/cpp/examples/uduPoserTemplate/*.h
bindings/cpp/examples/uduPoserTemplate/uduPoserTemplate/*.h
Expand Down
12 changes: 12 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
[submodule "driver/openvr"]
path = driver/openvr
url = https://github.com/okawo80085/openvr.git
[submodule "driver/shroom"]
path = driver/shroom
url = https://github.com/HoboVR-Labs/shroom.git
[submodule "driver/lazy-sockets"]
path = driver/lazy-sockets
url = https://github.com/HoboVR-Labs/lazy-sockets.git
[submodule "bindings/cpp/examples/uduTest/lazy-sockets"]
path = bindings/cpp/examples/uduTest/lazy-sockets
url = https://github.com/HoboVR-Labs/lazy-sockets.git
[submodule "driver/boost"]
path = driver/boost
url = https://github.com/HoboVR-Labs/boost.git
65 changes: 65 additions & 0 deletions bindings/cpp/examples/uduTest/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
cmake_minimum_required(VERSION 3.16)


project(test_poser)

set(TARGET_NAME test_poser)
set(CMAKE_CXX_STANDARD 17)

# Set a default build type if none was specified
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message("Setting build type to 'RelWithDebInfo' as none was specified.")
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
"MinSizeRel" "RelWithDebInfo")
endif()

if (MSVC)
# all warnings as errors
add_compile_options(/W4 /WX)
else()
# all warnings as errors
add_compile_options(-Wall -Wextra -pedantic -Werror -Wno-missing-braces)
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")

# lazy-sockets dep
add_subdirectory("lazy-sockets")
set(LAZY_SOCKETS_INCLUDE_DIR "lazy-sockets/src/")


include_directories(
"../../../../driver/src/"
${LAZY_SOCKETS_INCLUDE_DIR}
)

file(GLOB poser_src
"./*.cpp"
"./*.h"
)

add_executable(${TARGET_NAME}
"../../../../driver/src/timer.cpp"
${poser_src}
)
set_target_properties(
${TARGET_NAME}
PROPERTIES
OUTPUT_NAME ${TARGET_NAME}
SUFFIX ""
)

target_link_libraries(${TARGET_NAME}
lazy_sockets
${CMAKE_DL_LIBS}
)


install(
TARGETS
${TARGET_NAME}
DESTINATION
${test_poser_SOURCE_DIR}/output/
)
1 change: 1 addition & 0 deletions bindings/cpp/examples/uduTest/lazy-sockets
Submodule lazy-sockets added at 6ffcac
Loading