Jakob Bornecrantz
8be59f73ec
xrt: Return xrt_result_t from xrt_gfx_provider_create_gl_egl
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
8992f79257
c/main: Be even more paranoid about display timing code
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
dac5bc0ea5
u/timing: Deal slightly better when timing info appears to time travel
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
d71ccc39ce
u/timing: Add when_predict_ns on first frame
2021-03-10 17:53:36 +00:00
Christoph Haag
7b95330bb5
ipc: Print information to delete socket file
2021-03-10 02:02:44 +01:00
Christoph Haag
2a02130301
build/meson: Install systemd service file with meson
2021-03-10 01:58:18 +01:00
Christoph Haag
851a600a6a
build/meson: Add systemd feature option for monado-service
2021-03-10 01:57:55 +01:00
Christoph Haag
0adcc179c0
xrt: Fix typo in u_file
2021-03-10 01:56:07 +01:00
Jakob Bornecrantz
a6da40de50
c/main: Remove unused fields
...
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:16:01 +00:00
Jakob Bornecrantz
003b70d05e
c/main: Use correct predicted display time for rendering
...
Closes #114
Reported-by: Boris-Chengbiao Zhou <bobo1239@web.de>
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:15:52 +00:00
Christoph Haag
eb594409dd
xrt: Increase number of autoprobers to 16
...
We actually have a total of 11 auto probers.
2021-03-09 14:16:28 +01:00
Christoph Haag
a887ddcc3c
d/hdk: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
5c014193f7
d/vive_controller: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
aa65480607
d/vive: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
484d63a4eb
d/survive: Use thread for processing events
...
Due to an oversight libsurvive events were only processed when inputs were updated.
If only triggering event processing when an event is needed, we would need to process
a random number of events, causing random overhead.
Rather, follow the model of other drivers and process events in a thread.
This required creating a local copy of the xrt_input arrays.
Fixes #113
Fixes !679
v2: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
1e24602ca0
st/prober: fix off by one in reallocating list of disabled drivers
2021-03-09 13:22:41 +01:00
Jakob Bornecrantz
966b4b7048
t/service: Enable tracing
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
7524239b1f
t/oxr: Enable tracing
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
b4f9d07abf
ipc: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
f754fb583f
st/oxr: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
8c724d67d4
c/main: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
fac1ce4a5a
c/main: Hookup up new frame timing code
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
a40c2e7d50
aux/vk: Load VK_GOOGLE_display_timing functions
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
e2104a4f31
t/cli: Add trace piping support
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
049f6be351
u/timing: Add frame timing code
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
3077660f1d
u/tracing: Add trace marker code
2021-03-08 11:20:52 +00:00
Mateo de Mayo
75e908552f
doc: Fix missing entities from modules documentation
2021-03-06 20:34:35 -03:00
Christoph Haag
12ad9a6766
d/ns: Remove tracker logic in favor of tracking overrides
2021-03-02 19:43:19 +01:00
Christoph Haag
44e375dd8a
aux/util: Save tracking override config
2021-03-02 19:43:19 +01:00
Christoph Haag
c077788436
aux/util: Store calibration config non-destructively
...
On save
* delete only nodes pertaining to calibration
* add new calibration nodes
* write config file
2021-03-02 19:43:19 +01:00
Christoph Haag
de169bf575
gui: Add gui for tracking overrides
2021-03-02 19:43:19 +01:00
Christoph Haag
5e4c62c8aa
aux/util: Move json config parsing to aux/util
2021-03-02 19:43:19 +01:00
Christoph Haag
aa9298f70d
aux/util: Move read_content to u_file
2021-03-02 19:43:19 +01:00
Christoph Haag
ff16eab9df
xrt: implement multi device wrappers for tracking overrides
...
Example config ~/.config/monado/config_v0.json
{
"active": "tracking",
"tracking": {
"version": 0,
"tracking_overrides": [
{
"target_device_serial": "LHR-E8CC625B",
"tracker_device_serial": "LHR-1D80A098",
"offset": {
"orientation": {
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"position": {
"x": 0,
"y": 0,
"z": 0
}
}
}
]
}
}
v2: Add multi device wrapper
2021-03-02 19:43:19 +01:00
Christoph Haag
13db11901c
d/rs: Add prober and create xrt_device for rs
2021-03-02 19:43:19 +01:00
Christoph Haag
6c6c70f700
d/rs: exit early if no realsense device is connected
...
Previously we only exited after rs2_pipeline_start_with_config timed out.
2021-03-02 19:27:36 +01:00
Christoph Haag
aa7b3978b7
d/rs: Initialize offset to identity
2021-03-02 19:27:36 +01:00
Christoph Haag
9332bb04c8
st/prober: Disable vive driver when we have survive
...
Unless survive is disabled via config, then don't disable vive.
2021-03-02 17:50:19 +00:00
Christoph Haag
ebd4b8eae4
st/prober: Add ability to skip drivers
...
Only for drivers loaded with probers and autoprobers for now.
Example config:
{
"disabled": [
"survive"
]
}
2021-03-02 17:50:19 +00:00
Christoph Haag
279520c302
d/survive: Use autoprober interface
2021-03-02 17:50:19 +00:00
Christoph Haag
a89f32470e
cli: Print built in drivers from driver names
...
for probers and auto probers only for now
2021-03-02 17:50:19 +00:00
Christoph Haag
58e68e0a4a
st/prober: Allow querying entries and autoprobers
2021-03-02 17:50:19 +00:00
Christoph Haag
37c96ee7fb
xrt: Add a static driver_name to probers
2021-03-02 17:50:19 +00:00
Christoph Haag
6914bae78e
d/ns: Add autoprober name
2021-03-02 17:50:19 +00:00
Christoph Haag
9ea02ac032
d/vive: Give consistent name to HMD
2021-03-02 17:50:19 +00:00
Christoph Haag
6e852ec9a0
d/survive: Give consistent name to HMD
2021-03-02 17:50:19 +00:00
Christoph Haag
92d94ddcc7
d/psvr: Don't report created device if creation failed
2021-03-02 17:50:19 +00:00
Christoph Haag
ea404a265b
st/prober: Print name of misbehaving autoprober
2021-03-02 17:50:19 +00:00
zhibinw
57b42cad9a
ipc/android: Start client listener thread when get new fd from client.
2021-03-02 14:02:54 +08:00
Jakob Bornecrantz
d6eda06ae2
doc: Remove md prefix from all Markdown pages
2021-03-01 19:42:52 +00:00
Jakob Bornecrantz
ecfec5028e
xrt: Add doccomment and fix doxygen error
2021-03-01 19:31:25 +00:00
Mateo de Mayo
116d77f52e
st/prober: Allow autoprobe function to create more than one device.
2021-02-28 15:27:52 +00:00
zhibinw
f55c0d7bfb
t/service-lib: Remove unused header.
2021-02-27 09:55:26 +08:00
Ryan Pavlik
1963e313b1
ipc/android: Switch to using client push mutex to avoid cond var wait in server.
2021-02-24 15:25:28 -06:00
Ryan Pavlik
12e07bdb69
ipc/android: Fix potential lost signal to client
2021-02-24 15:23:26 -06:00
Ryan Pavlik
ccf6ac4b94
ipc/android: Remove old workaround
2021-02-24 15:23:26 -06:00
Ryan Pavlik
01fbbc4ed5
ipc/server, t/server_lib: Implement mainloop code for Android, using a pipe.
2021-02-24 15:23:26 -06:00
Jakob Bornecrantz
5e06acf2ad
t/cli: Tidy
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
48c2fe1f87
c/main: Refactor out wait idle to own function
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
616b7f6ae0
c/main: Tidy comp_target_swapchain
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
77baa0c6ca
u/ht: Sort build files
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
7460ae54f4
u/timing: Rename files
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
b810c2df0a
u/timing: Improve render code, predict when frame should be delivered
2021-02-24 14:33:30 +00:00
Jakob Bornecrantz
55c7690185
u/time: Make defines more readable and add more defines
2021-02-24 13:55:07 +00:00
Jakob Bornecrantz
69eebb49e2
u/time: Use double for time conversion
2021-02-24 04:14:51 +00:00
Jakob Bornecrantz
5291b8d2bb
ipc: Refactor out broadcasting of timings
2021-02-24 01:23:55 +00:00
Jakob Bornecrantz
97d7902f94
targets: Show implot demo
2021-02-22 23:20:05 +00:00
Jakob Bornecrantz
4cf20b0dd3
imgui: Add implot demo
2021-02-22 23:20:05 +00:00
Ryan Pavlik
f15a14b193
ipc/server: Factor out the mainloop code that may vary between platforms
2021-02-22 17:03:16 -06:00
Ryan Pavlik
0644521da9
d/ht: Fix typo in docs
...
Fixes doxygen warning.
2021-02-22 16:50:00 -06:00
Ryan Pavlik
b7cc966cb0
aux/vk: Add docs to helpers
2021-02-22 16:50:00 -06:00
Moses Turner
daff282946
ipc: don't drop the blend mode on the floor
2021-02-19 17:47:07 -06:00
Christoph Haag
4d1b5f033a
d/vive: Add controller rotation pose prediction
2021-02-17 19:59:59 +01:00
Christoph Haag
ab70115a89
d/vive: Add HMD rotation pose prediction
2021-02-17 19:59:52 +01:00
Jakob Bornecrantz
5b61a9b905
st/oxr: Fix crash
2021-02-16 22:53:49 +00:00
Jakob Bornecrantz
2849c7c5ae
st/oxr: Quirk UnrealEngine
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
4ef6211286
st/oxr: Detect UnrealEngine
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
0ee32dfa21
st/oxr: Log application info
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
84486aa2b9
ipc/server: Print application info
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
cfed1c3607
st/oxr: It's not a error to pass in XrSystemHandTrackingPropertiesEXT
...
...when the hand tracking extension is not enabled.
2021-02-16 07:04:40 +00:00
Christoph Haag
def0bef533
build/meson: Explicitly depend on generated binding header
...
fixes header not being generated on alpine
2021-02-15 22:04:38 +01:00
Christoph Haag
b77630ba57
d/remote: define _BSD_SOURCE for SOL_TCP on musl
2021-02-15 22:04:38 +01:00
Jakob Bornecrantz
78dbbec891
st/prober: Improve xrt_prober_destroy
2021-02-15 16:13:07 +00:00
Jakob Bornecrantz
2c012374da
st/prober: Add copydocs
2021-02-15 16:13:07 +00:00
Jakob Bornecrantz
a6fe8e8b1e
st/prober: Clarify xrt_prober_get_string_descriptor
2021-02-15 16:13:06 +00:00
Jakob Bornecrantz
a55c6f3cc4
st/prober: Tidy and add doc-comment
2021-02-15 16:13:00 +00:00
Jakob Bornecrantz
165df31d77
st/prober: Use U_LOG_RAW for dump function
2021-02-15 15:13:51 +00:00
Christoph Haag
d56834f7a9
d/psmv: Use bluetooth mac as serial
2021-02-15 14:55:10 +01:00
Christoph Haag
c6695b7a27
prober: return XRT_PROBER_STRING_SERIAL_NUMBER for bluetooth devices
...
Using the bluetooth id gotten from uevent.
2021-02-15 14:54:54 +01:00
Christoph Haag
42996d6b1c
os/hid: Add get_physical_address()
2021-02-12 02:44:00 +01:00
Christoph Haag
a4bde60e08
st/steamvr: Use serial number for controller id
2021-02-12 00:38:52 +01:00
Christoph Haag
d5e74b959a
d/vive: Improve naming scheme
2021-02-12 00:38:52 +01:00
Christoph Haag
c66aea3311
d/survive: Improve device naming scheme
2021-02-12 00:38:52 +01:00
Christoph Haag
c67a6ccd34
xrt: Add xrt_device::serial for uniquely identifying devices if possible
...
d: Make controller serials unique by appending number
For drivers that do not (yet) know a persistent unique id per device.
2021-02-12 00:38:51 +01:00
Christoph Haag
ea6d6bfb3f
d/rs: Use XRT_INPUT_GENERIC_TRACKER_POSE instead of XRT_INPUT_GENERIC_HEAD_POSE
2021-02-12 00:37:43 +01:00
Christoph Haag
9760f6d123
d/survive: Create devices for trackers
...
They can not be queried yet.
2021-02-12 00:37:43 +01:00
Christoph Haag
47ed26a5e8
xrt: Add XRT_INPUT_GENERIC_TRACKER_POSE
2021-02-11 20:54:31 +01:00
Christoph Haag
7e1408787a
d/survive: Update to new API and clean up
...
* Remove survive_device.{ctrl,hmd}::variant and use variant from config
* Use SurviveSimpleEventType_ConfigEvent to find connected devices
* Use SurviveSimpleEventType_PoseUpdateEvent for pose updates
2021-02-11 20:54:31 +01:00
Christoph Haag
3a02610e77
d/vive: Remove vive_controller_device::variant and use variant from config
2021-02-11 20:54:31 +01:00
Christoph Haag
f93209a1ed
d/vive: Remove vive_device::variant and use variant from config
2021-02-11 20:54:31 +01:00