From 2e366ac6a4e2bb222614863c1e838cac672f7bbe Mon Sep 17 00:00:00 2001 From: JovannMC Date: Sun, 6 Oct 2024 08:02:53 +0300 Subject: [PATCH] v1.3.0 + Add full support for BLE on linux + Done via `haritorax-interpreter` v3.1.0 w/ inclusion of `node-ble` package + Add management of GX(6/2) dongles in-app + Manage pairing of trackers + Removes the need for HaritoraConfigurator/VR Manager to be used when using for first time, or re-pairing trackers after they unpair + Change communication channel for COM port + Also prevents selecting channels already being used + Add turning off individual/all trackers + Currently only supports HaritoraX Wireless w/ GX(6/2) dongles + Bluetooth supports requires sniffing BLE packets which I don't have the hardware for + Add tracker heartbeat setting to GUI + Was previously a hidden config setting + Supported on both HaritoraX Wired and HaritoraX Wireless + Recommended to not touch + Add warning on startup if using max logging mode (currently 3) + Add extra failsafes and timeouts to tracker data/connection + Redid SlimeVR check logic + User is now warned if SlimeVR server wasn't found after four seconds through a pop-up message + This is a non-blocking message that replaces the previous behaviour of blocking the connection if SlimeVR is not found + This can be skipped by closing the message, especially if in rare cases the trackers have actually connected to SlimeVR server even though the program doesn't see it + Enable logging by default + Update onboarding images for SlimeVR server v0.13.0 + Numerous updates to errors and logging + ACTUALLY fix "connection failed" for wireless BT trackers, even if connection is fine + Fix HaritoraX Wired auto-detection(?) + Unknown if fixed, `haritorax-interpreter` v3.1.0 fixes BTSPP detection on Windows but I cannot test this + Fix GX dongle per-tracker setings + Fully stable now, removing the "not recommended" messages + Fix rare cases of trackers showing up as "null" or "DONGLE" + Fix trackers not showing up until tracker buttons are pressed + Sometimes, the trackers wouldn't show up on SlimeTora until at least one button is pressed on every tracker that is on + Remove hiding menubar/devtools + Remove "Skip SlimeVR Check" debugging setting + Other bug fixes and optimizations --- README.md | 15 ++++++--------- package.json | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index a4d4fcc..b09c94b 100644 --- a/README.md +++ b/README.md @@ -32,12 +32,13 @@ Read the wiki to get started: https://github.com/OCSYT/SlimeTora/wiki - Get started with the program (and SlimeVR Server) easily through the guided onboarding process! - Through the "automatic setup", run auto-detection to let the program **_set itself up for you_**! - Automatically detect your tracker model, connection mode (including COM ports), and tracker settings +- Manage GX(6/2) dongles in-app - tracker pairing & changing 2.4GHz channels - Set tracker settings per-tracker (`HaritoraX Wireless` only) +- Turn off one or all trackers (`HaritoraX Wireless` w/ `GX(6/2)` dongles only) - Localization support - You can help translate the program! Clone the repo and make a new file under `/src/static/languages/` with a two-letter language identifier (ending with .json, e.g. `jp.json`)! - Linux support - This was done as SlimeVR is supported on Linux, making this the first time HaritoraX trackers work on Linux! - - ..however this needs more testing. Please let us know if there are issues - Button bindings to SlimeVR functions (e.g. resets) - Read more on the [SlimeVR basics](https://github.com/OCSYT/SlimeTora/wiki/SlimeVR#resets--calibration) wiki page - Update checking (for app and translations) @@ -51,19 +52,15 @@ Read the wiki to get started: https://github.com/OCSYT/SlimeTora/wiki # Known issues -- On SlimeVR Server `v0.13.0`, you cannot pass the "IMU Calibration" setup wizard step - - This has been fixed with a future update, `v1.3.0` (caused by weirdly high acceleration on idle due to IMU noise?) - - SlimeVR Server `v0.13.1` will exclude Haritora trackers (as calibration isn't needed) & include a skip button - - Either skip the setup wizard and perform the steps manually via the navbar, or use `0.12.1` (not recommended) +- On SlimeVR server `v0.13.0`, you cannot pass the "IMU Calibration" setup wizard step + - SlimeVR server `v0.13.1` will exclude Haritora trackers for this calibration step as it isn't needed for these trackers + - Either skip the setup wizard and perform the steps manually via the navbar, or use `0.12.1` (not recommended) until `0.13.1` releases - Battery information jumps to incorrect percentages/voltage randomly - Unfortunately this is an issue I can't fix.. because it's literally an issue with the trackers reporting those random values themselves - This has been slightly mitigated with [v1.2.0](https://github.com/OCSYT/SlimeTora/releases/v1.2.0), which uses a "stable average" of the battery percentage and voltage instead - Running "auto-detection" more than once without restarting breaks tracker settings auto-detection (device/ports detection still works) - Running "auto-detection" on HaritoraX Wired (1.1b/1.1/1.0) trackers doesn't work -- **(LINUX)** Connecting to trackers via "Bluetooth (LE)" always fails - - The Bluetooth package we are using, [noble](https://github.com/abandonware/noble), requires root/sudo to be able to interact with BLE devices - its workarounds (and running as sudo) break [Electron](https://www.electronjs.org/) due to `setcap` disabling the `LD_LIBRARY_PATH` environment variable for security and modifying the `bluetooth.conf` for dbus does not work (at least, for me) - - Any help on this is appreciated, though [haritorax-interpreter](https://github.com/JovannMC/haritorax-interpreter) may need to use both [noble](https://github.com/abandonware/noble) and [node-ble](https://github.com/chrvadala/node-ble) (with a minor tweak on the user's side) to work. - - Fixed with a future update, `v1.3.0` + - Potentially fixed with `v1.3.0`, needs testing # Documentation & Getting Started diff --git a/package.json b/package.json index d217f63..4d2b14d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "slimetora", "productName": "SlimeTora", "type": "module", - "version": "1.2.2", + "version": "1.3.0", "description": "A middleware program that connects the HaritoraX full body trackers to the SlimeVR server", "private": true, "author": {