From 0c33579858b89edd3c1cada5e649300f5a10b9ac Mon Sep 17 00:00:00 2001 From: sctanf <36978460+sctanf@users.noreply.github.com> Date: Sun, 7 Dec 2025 20:34:22 -0600 Subject: [PATCH 1/5] HIDCommon don't show firmware date in version --- .../slimevr/tracking/trackers/hid/HIDCommon.kt | 18 ++++++++++-------- solarxr-protocol | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt b/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt index 23d0a27ba..4253ac871 100644 --- a/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt +++ b/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt @@ -146,7 +146,7 @@ class HIDCommon { var button: Int? = null // var imu_id: Int? = null // var mag_id: Int? = null - var fw_date: Int? = null + // var fw_date: Int? = null var fw_major: Int? = null var fw_minor: Int? = null var fw_patch: Int? = null @@ -165,7 +165,7 @@ class HIDCommon { // imu_id = dataReceived[i + 8].toUByte().toInt() // mag_id = dataReceived[i + 9].toUByte().toInt() // ushort little endian - fw_date = dataReceived[i + 11].toUByte().toInt() shl 8 or dataReceived[i + 10].toUByte().toInt() + // fw_date = dataReceived[i + 11].toUByte().toInt() shl 8 or dataReceived[i + 10].toUByte().toInt() fw_major = dataReceived[i + 12].toUByte().toInt() fw_minor = dataReceived[i + 13].toUByte().toInt() fw_patch = dataReceived[i + 14].toUByte().toInt() @@ -280,12 +280,14 @@ class HIDCommon { // Nothing to do now.. } } - if (fw_date != null && fw_major != null && fw_minor != null && fw_patch != null) { - val firmwareYear = 2020 + (fw_date shr 9 and 127) - val firmwareMonth = fw_date shr 5 and 15 - val firmwareDay = fw_date and 31 - val firmwareDate = String.format("%04d-%02d-%02d", firmwareYear, firmwareMonth, firmwareDay) - device.firmwareVersion = "$fw_major.$fw_minor.$fw_patch (Build $firmwareDate)" + // if (fw_date != null) { + // val firmwareYear = 2020 + (fw_date shr 9 and 127) + // val firmwareMonth = fw_date shr 5 and 15 + // val firmwareDay = fw_date and 31 + // val firmwareDate = String.format("%04d-%02d-%02d", firmwareYear, firmwareMonth, firmwareDay) + // } + if (fw_major != null && fw_minor != null && fw_patch != null) { + device.firmwareVersion = "$fw_major.$fw_minor.$fw_patch" } if (svr_status != null) { val status = TrackerStatus.getById(svr_status) diff --git a/solarxr-protocol b/solarxr-protocol index b0147eeff..f603419ac 160000 --- a/solarxr-protocol +++ b/solarxr-protocol @@ -1 +1 @@ -Subproject commit b0147eeffaa97a16400de174383c91be2ec31ab5 +Subproject commit f603419ac9e94838634fcf8138924df251984b16 From 146930279cef5a053102ae697c589ac3153934db Mon Sep 17 00:00:00 2001 From: sctanf <36978460+sctanf@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:19:50 -0600 Subject: [PATCH 2/5] add firmware date to new field --- gui/public/i18n/en/translation.ftl | 1 + gui/src/components/tracker/TrackerSettings.tsx | 9 +++++++++ .../protocol/datafeed/DataFeedBuilder.java | 7 +++++++ .../java/dev/slimevr/tracking/trackers/Device.kt | 1 + .../slimevr/tracking/trackers/hid/HIDCommon.kt | 16 ++++++++-------- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/gui/public/i18n/en/translation.ftl b/gui/public/i18n/en/translation.ftl index a02c9dab3..6f1dfd768 100644 --- a/gui/public/i18n/en/translation.ftl +++ b/gui/public/i18n/en/translation.ftl @@ -407,6 +407,7 @@ tracker-settings-update = Update now tracker-settings-update-title = Firmware version tracker-settings-current-version = Current tracker-settings-latest-version = Latest +tracker-settings-build-date = Build Date ## Tracker part card info diff --git a/gui/src/components/tracker/TrackerSettings.tsx b/gui/src/components/tracker/TrackerSettings.tsx index ead4288e2..f4c62807d 100644 --- a/gui/src/components/tracker/TrackerSettings.tsx +++ b/gui/src/components/tracker/TrackerSettings.tsx @@ -208,6 +208,15 @@ export function TrackerSettingsPage() { Firmware version
+
+ + + {tracker?.device?.hardwareInfo?.firmwareDate} + +
= ConcurrentHashMap() diff --git a/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt b/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt index 4253ac871..3ff51290c 100644 --- a/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt +++ b/server/core/src/main/java/dev/slimevr/tracking/trackers/hid/HIDCommon.kt @@ -146,7 +146,7 @@ class HIDCommon { var button: Int? = null // var imu_id: Int? = null // var mag_id: Int? = null - // var fw_date: Int? = null + var fw_date: Int? = null var fw_major: Int? = null var fw_minor: Int? = null var fw_patch: Int? = null @@ -165,7 +165,7 @@ class HIDCommon { // imu_id = dataReceived[i + 8].toUByte().toInt() // mag_id = dataReceived[i + 9].toUByte().toInt() // ushort little endian - // fw_date = dataReceived[i + 11].toUByte().toInt() shl 8 or dataReceived[i + 10].toUByte().toInt() + fw_date = dataReceived[i + 11].toUByte().toInt() shl 8 or dataReceived[i + 10].toUByte().toInt() fw_major = dataReceived[i + 12].toUByte().toInt() fw_minor = dataReceived[i + 13].toUByte().toInt() fw_patch = dataReceived[i + 14].toUByte().toInt() @@ -280,12 +280,12 @@ class HIDCommon { // Nothing to do now.. } } - // if (fw_date != null) { - // val firmwareYear = 2020 + (fw_date shr 9 and 127) - // val firmwareMonth = fw_date shr 5 and 15 - // val firmwareDay = fw_date and 31 - // val firmwareDate = String.format("%04d-%02d-%02d", firmwareYear, firmwareMonth, firmwareDay) - // } + if (fw_date != null) { + val firmwareYear = 2020 + (fw_date shr 9 and 127) + val firmwareMonth = fw_date shr 5 and 15 + val firmwareDay = fw_date and 31 + device.firmwareDate = String.format("%04d-%02d-%02d", firmwareYear, firmwareMonth, firmwareDay) + } if (fw_major != null && fw_minor != null && fw_patch != null) { device.firmwareVersion = "$fw_major.$fw_minor.$fw_patch" } From 74f5a92ce194de3d804ebec62f526589f8deb894 Mon Sep 17 00:00:00 2001 From: sctanf <36978460+sctanf@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:24:56 -0600 Subject: [PATCH 3/5] fw date default --- gui/src/components/tracker/TrackerSettings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/src/components/tracker/TrackerSettings.tsx b/gui/src/components/tracker/TrackerSettings.tsx index f4c62807d..bba3e36fc 100644 --- a/gui/src/components/tracker/TrackerSettings.tsx +++ b/gui/src/components/tracker/TrackerSettings.tsx @@ -214,7 +214,7 @@ export function TrackerSettingsPage() { whitespace="whitespace-pre-wrap" textAlign="text-end" > - {tracker?.device?.hardwareInfo?.firmwareDate} + {tracker?.device?.hardwareInfo?.firmwareDate || '--'}
From 2d79c5a0e9461793522e26ae855c3d76a460c624 Mon Sep 17 00:00:00 2001 From: lucas lelievre Date: Thu, 18 Dec 2025 05:03:19 +0100 Subject: [PATCH 4/5] Add @ImSapphire as code owner for i18n directory --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 81052649f..2bd0a7617 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,7 +10,7 @@ /pnpm-workspace.yaml @loucass003 # loucass003 and Erimel responsible for i18n -/gui/public/i18n/ @loucass003 @Erimelowo +/gui/public/i18n/ @loucass003 @Erimelowo @ImSapphire /gui/src/i18n/ @loucass003 @Erimelowo /l10n.toml @loucass003 @Erimelowo From 53129328d0d6641258b23588fccd127ef816115c Mon Sep 17 00:00:00 2001 From: sctanf <36978460+sctanf@users.noreply.github.com> Date: Wed, 17 Dec 2025 22:59:24 -0600 Subject: [PATCH 5/5] Update solarxr-protocol --- solarxr-protocol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solarxr-protocol b/solarxr-protocol index f603419ac..b51232989 160000 --- a/solarxr-protocol +++ b/solarxr-protocol @@ -1 +1 @@ -Subproject commit f603419ac9e94838634fcf8138924df251984b16 +Subproject commit b51232989cedc5a67f097c0b3fc8094ec7b37e1e