mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-01-22 09:23:19 +01:00
Update examples
This commit is contained in:
@@ -26,41 +26,63 @@ pub fn main() -> Result<(), Box<dyn Error>> {
|
||||
|
||||
let node = usb_node.unwrap();
|
||||
|
||||
// - C = command
|
||||
// - L = length
|
||||
// - D1, D2 ??
|
||||
// LEFT STICK
|
||||
// C L D1 D2 7 8 9 10 11 12 13 14 15 16 17 18 19
|
||||
// 5a,d1,0d,0e,01,01,08,af,03,f9,0d,65,08,38,03,23,0d,4d,e5,
|
||||
// RIGHT STICK
|
||||
// 5a,d1,0d,0e,01,02,08,6f,03,ca,0d,15,08,0b,02,f8,0d,1e,9e,
|
||||
// LEFT TRIGGER
|
||||
// 5a,d1,0d,06,01,03,0a,2f,0d,e8,2e,
|
||||
// RIGHT TRIGGER
|
||||
// 5a,d1,0d,06,01,04,09,f7,0e,56,64,
|
||||
let mut packet: [u8; 64] = [
|
||||
0x5a, 0xd1, 0x0d, 0x06, 0x01, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x5a, 0xd1, 0x0d, 0x0e, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
];
|
||||
|
||||
packet[7] = 0x2f; //
|
||||
packet[8] = 0x0d; //
|
||||
packet[9] = 0xec; //
|
||||
packet[10] = 0x33; // packet[11] = 0x00; //
|
||||
// packet[12] = 0x65; //
|
||||
// packet[13] = 0x08; //
|
||||
// packet[14] = 0x38; //
|
||||
// packet[15] = 0x03; //
|
||||
// packet[16] = 0x23; //
|
||||
// packet[17] = 0x0d; //
|
||||
// packet[18] = 0x4d; //
|
||||
// packet[19] = 0xe5; //
|
||||
let x_stable = 2107;
|
||||
let x_min = 815;
|
||||
let x_max = 3399;
|
||||
|
||||
let y_stable = 2223;
|
||||
let y_min = 1020;
|
||||
let y_max = 3427;
|
||||
|
||||
let bb = |n: u32| ((n & 0xff00) >> 8) as u8;
|
||||
let lb = |n: u32| (n & 0xff) as u8;
|
||||
|
||||
let checksum = |bytes: &[u8]| {
|
||||
let total = bytes.iter().fold(0, |a, n| a as u32 + (*n) as u32);
|
||||
total as u8
|
||||
};
|
||||
|
||||
packet[6] = bb(y_stable);
|
||||
packet[7] = lb(y_stable);
|
||||
packet[8] = bb(y_min);
|
||||
packet[9] = lb(y_min);
|
||||
packet[10] = bb(y_max);
|
||||
packet[11] = lb(y_max);
|
||||
packet[12] = bb(x_stable);
|
||||
packet[13] = lb(x_stable);
|
||||
packet[14] = bb(x_min);
|
||||
packet[15] = lb(x_min);
|
||||
packet[16] = bb(x_max);
|
||||
packet[17] = lb(x_max);
|
||||
packet[18] = checksum(&packet[6..=17]);
|
||||
|
||||
for n in &packet[6..=17] {
|
||||
print!("{:0x},", n);
|
||||
}
|
||||
println!();
|
||||
println!("Checksum: {:0x}", packet[18]);
|
||||
|
||||
node.write_bytes(&packet)?;
|
||||
|
||||
let reset = false;
|
||||
if reset {
|
||||
let packet: [u8; 64] = [
|
||||
0x5a, 0xd1, 0x0d, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
];
|
||||
node.write_bytes(&packet)?;
|
||||
}
|
||||
// Apply
|
||||
let packet: [u8; 64] = [
|
||||
0x5a, 0xd1, 0x0d, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
use std::error::Error;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rog_aura::usb::AuraDevice;
|
||||
use rog_platform::hid_raw::HidRaw;
|
||||
|
||||
Reference in New Issue
Block a user