From 889a71b12b0ab4e2b79b3c2c32f796250d1f8da2 Mon Sep 17 00:00:00 2001 From: Nicola <61830443+nicola02nb@users.noreply.github.com> Date: Fri, 27 Sep 2024 12:28:06 +0200 Subject: [PATCH 1/3] Rolled back code for artics nova 7 battery (it was more accurate) (#368) --- src/devices/steelseries_arctis_nova_7.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/devices/steelseries_arctis_nova_7.c b/src/devices/steelseries_arctis_nova_7.c index 93d32de..91a0ca3 100644 --- a/src/devices/steelseries_arctis_nova_7.c +++ b/src/devices/steelseries_arctis_nova_7.c @@ -161,16 +161,10 @@ static BatteryInfo arctis_nova_7_request_battery(hid_device* device_handle) int bat = data_read[2]; - if (bat >= BATTERY_MAX) + if (bat > BATTERY_MAX) info.level = 100; - else if (bat == 0x3) - info.level = 50; - else if (bat == 0x2) - info.level = 15; - else if (bat == 0x1) - info.level = 5; else - info.level = 0; + info.level = map(bat, BATTERY_MIN, BATTERY_MAX, 0, 100); return info; } From 981fe5063214f903d0664c2b765e5202e5636e4f Mon Sep 17 00:00:00 2001 From: Nicola <61830443+nicola02nb@users.noreply.github.com> Date: Fri, 27 Sep 2024 12:28:24 +0200 Subject: [PATCH 2/3] Update README.md (#369) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4532d69..93d52aa 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ The following additional software can be used to enable control via a GUI #### Windows -[HeadsetControl-GUI](https://github.com/nicola02nb/HeadsetControl-GUI) a simply GUI tool to manage your headset and check battery status. (Qt C++ based) +[HeadsetControl-GUI](https://github.com/LeoKlaus/HeadsetControl-GUI) a simply GUI tool to manage your headset and check battery status. (Qt C++ based) [HeadsetControl-SystemTray](https://github.com/zampierilucas/HeadsetControl-SystemTray) adds a system tray icon, displaying the current amount of battery. (Python based) From c0c9b50767af79ebedd36b001279a2a964fd3ab4 Mon Sep 17 00:00:00 2001 From: Alex Bangert Date: Fri, 27 Sep 2024 12:29:02 +0200 Subject: [PATCH 3/3] Add device Steelseries Arctis 7P (#371) --- README.md | 2 +- src/devices/steelseries_arctis_1.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 93d52aa..8172951 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ talking. This differs from a simple loopback via PulseAudio as you won't have an | Logitech G PRO Series | x | x | | | x | | | | | | | | | | | | Logitech G PRO X 2 | x | | | | x | | | | | | | | | | | | Logitech Zone Wired/Zone 750 | x | | | | | | x | x | | | | | | | | -| SteelSeries Arctis (1/7X) Wireless | x | x | | | x | | | | | | | | | | | +| SteelSeries Arctis (1/7X/7P) Wireless | x | x | | | x | | | | | | | | | | | | SteelSeries Arctis (7/Pro) | x | x | | x | x | x | | | | | | | | | | | SteelSeries Arctis 9 | x | x | | | x | x | | | | | | | | | | | SteelSeries Arctis Pro Wireless | x | x | | | x | | | | | | | | | | | diff --git a/src/devices/steelseries_arctis_1.c b/src/devices/steelseries_arctis_1.c index 0eda98e..c6601c9 100644 --- a/src/devices/steelseries_arctis_1.c +++ b/src/devices/steelseries_arctis_1.c @@ -12,8 +12,9 @@ static struct device device_arctis; #define ID_ARCTIS_1 0x12b3 #define ID_ARCTIS_1_XBOX 0x12b6 #define ID_ARCTIS_7X 0x12d7 +#define ID_ARCTIS_7P 0x12d5 -static const uint16_t PRODUCT_IDS[] = { ID_ARCTIS_1, ID_ARCTIS_1_XBOX, ID_ARCTIS_7X }; +static const uint16_t PRODUCT_IDS[] = { ID_ARCTIS_1, ID_ARCTIS_1_XBOX, ID_ARCTIS_7X, ID_ARCTIS_7P }; static int arctis_1_send_sidetone(hid_device* device_handle, uint8_t num); static BatteryInfo arctis_1_request_battery(hid_device* device_handle); @@ -27,7 +28,7 @@ void arctis_1_init(struct device** device) device_arctis.idProductsSupported = PRODUCT_IDS; device_arctis.numIdProducts = sizeof(PRODUCT_IDS) / sizeof(PRODUCT_IDS[0]); - strncpy(device_arctis.device_name, "SteelSeries Arctis (1/7X) Wireless", sizeof(device_arctis.device_name)); + strncpy(device_arctis.device_name, "SteelSeries Arctis (1/7X/7P) Wireless", sizeof(device_arctis.device_name)); device_arctis.capabilities = B(CAP_SIDETONE) | B(CAP_BATTERY_STATUS) | B(CAP_INACTIVE_TIME); device_arctis.capability_details[CAP_SIDETONE] = (struct capability_detail) { .usagepage = 0xff43, .usageid = 0x202, .interface = 0x03 };