From e53352c5d71876fe588d95a14e71cb1fb62e6e91 Mon Sep 17 00:00:00 2001 From: gabriel Date: Fri, 9 Jan 2026 13:26:04 +0100 Subject: [PATCH] Add Strimer sync --- src/devices/mod.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/devices/mod.rs b/src/devices/mod.rs index 2f10c88..b89481c 100644 --- a/src/devices/mod.rs +++ b/src/devices/mod.rs @@ -21,7 +21,7 @@ pub struct Channel { } const VENDOR_IDS: [u16; 1] = [ 0x0cf2 ]; -const PRODUCT_IDS: [u16; 7] = [ 0x7750, 0xa100, 0xa101, 0xa102, 0xa103, 0xa104, 0xa105 ]; +const PRODUCT_IDS: [u16; 8] = [ 0x7750, 0xa100, 0xa101, 0xa102, 0xa103, 0xa104, 0xa105, 0xa200 ]; pub fn run(mut existing_configs: Configs) -> Configs { @@ -38,7 +38,7 @@ pub fn run(mut existing_configs: Configs) -> Configs { Ok(api) => api, Err(_) => panic!("Could not find any controllers") }; - + for hiddevice in api.device_list() { if VENDOR_IDS.contains(&hiddevice.vendor_id()) && PRODUCT_IDS.contains(&hiddevice.product_id()) { @@ -47,7 +47,7 @@ pub fn run(mut existing_configs: Configs) -> Configs { Some(sn) => sn, None => { println!("Serial number not available for device {:?}", hiddevice); - continue; + continue; } }; @@ -80,7 +80,7 @@ pub fn run(mut existing_configs: Configs) -> Configs { }); } - + // Send Command to Sync to RGB Header let sync_byte: u8 = if sync_rgb { 1 } else { 0 }; let _ = match &hiddevice.product_id() { @@ -89,6 +89,10 @@ pub fn run(mut existing_configs: Configs) -> Configs { 0xa102 => hid.write(&[224, 16, 97, sync_byte, 0, 0, 0]), // SLI 0xa103|0xa105 => hid.write(&[224, 16, 97, sync_byte, 0, 0, 0]), // SLv2 0xa104 => hid.write(&[224, 16, 97, sync_byte, 0, 0, 0]), // ALv2 + 0xa200 => { + hid.write(&[224, 16, 64, sync_byte, 0, 0, 0]).unwrap(); + hid.write(&[224, 32, 0, 0, 0, 0, 0]) + } _ => hid.write(&[224, 16, 48, sync_byte, 0, 0, 0]), // SL };