mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
platform example testing
This commit is contained in:
75
rog-platform/examples/ally-gamepad-calibration.rs
Normal file
75
rog-platform/examples/ally-gamepad-calibration.rs
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
use std::error::Error;
|
||||||
|
|
||||||
|
use rog_aura::usb::AuraDevice;
|
||||||
|
use rog_platform::hid_raw::HidRaw;
|
||||||
|
|
||||||
|
pub fn main() -> Result<(), Box<dyn Error>> {
|
||||||
|
let mut usb_node = None;
|
||||||
|
let prod = AuraDevice::X1abe;
|
||||||
|
match HidRaw::new(prod.into()) {
|
||||||
|
Ok(node) => {
|
||||||
|
usb_node = Some(node);
|
||||||
|
println!(
|
||||||
|
"Looked for keyboard controller 0x{}: Found",
|
||||||
|
<&str>::from(prod)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Err(err) => println!(
|
||||||
|
"Looked for keyboard controller 0x{}: {err}",
|
||||||
|
<&str>::from(prod)
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
if usb_node.is_none() {
|
||||||
|
return Err("RogError::NoAuraKeyboard".into());
|
||||||
|
}
|
||||||
|
|
||||||
|
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,
|
||||||
|
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; //
|
||||||
|
|
||||||
|
node.write_bytes(&packet)?;
|
||||||
|
|
||||||
|
// Apply
|
||||||
|
let packet: [u8; 64] = [
|
||||||
|
0x5a, 0xd1, 0x0d, 0x01, 0x03, 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, 0x00,
|
||||||
|
];
|
||||||
|
node.write_bytes(&packet)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
48
rog-platform/examples/ally-gamepad-mode-changes.rs
Normal file
48
rog-platform/examples/ally-gamepad-mode-changes.rs
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
use std::error::Error;
|
||||||
|
use std::thread::sleep;
|
||||||
|
use std::time::Duration;
|
||||||
|
|
||||||
|
use rog_aura::usb::AuraDevice;
|
||||||
|
use rog_platform::hid_raw::HidRaw;
|
||||||
|
|
||||||
|
pub fn main() -> Result<(), Box<dyn Error>> {
|
||||||
|
let mut usb_node = None;
|
||||||
|
let prod = AuraDevice::X1abe;
|
||||||
|
match HidRaw::new(prod.into()) {
|
||||||
|
Ok(node) => {
|
||||||
|
usb_node = Some(node);
|
||||||
|
println!(
|
||||||
|
"Looked for keyboard controller 0x{}: Found",
|
||||||
|
<&str>::from(prod)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Err(err) => println!(
|
||||||
|
"Looked for keyboard controller 0x{}: {err}",
|
||||||
|
<&str>::from(prod)
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
if usb_node.is_none() {
|
||||||
|
return Err("RogError::NoAuraKeyboard".into());
|
||||||
|
}
|
||||||
|
|
||||||
|
let node = usb_node.unwrap();
|
||||||
|
|
||||||
|
// node.write_bytes(&[0x5a, 0xd1, 0x0a, 0x01])?; // TODO: need to CHECK
|
||||||
|
println!("Set mouse mode for 10 seconds");
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x03])?;
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x0f, 0x20])?;
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x00])?;
|
||||||
|
sleep(Duration::from_secs(10));
|
||||||
|
|
||||||
|
println!("Set wasd mode for 10 seconds");
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x02])?;
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x0f, 0x20])?;
|
||||||
|
sleep(Duration::from_secs(10));
|
||||||
|
|
||||||
|
println!("Set back to gamepad mode");
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x01])?;
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x0f, 0x20])?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
48
rog-platform/examples/ally-set-qam-secondary.rs
Normal file
48
rog-platform/examples/ally-set-qam-secondary.rs
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
use std::error::Error;
|
||||||
|
use std::thread::sleep;
|
||||||
|
use std::time::Duration;
|
||||||
|
|
||||||
|
use rog_aura::usb::AuraDevice;
|
||||||
|
use rog_platform::hid_raw::HidRaw;
|
||||||
|
|
||||||
|
pub fn main() -> Result<(), Box<dyn Error>> {
|
||||||
|
let mut usb_node = None;
|
||||||
|
let prod = AuraDevice::X1abe;
|
||||||
|
match HidRaw::new(prod.into()) {
|
||||||
|
Ok(node) => {
|
||||||
|
usb_node = Some(node);
|
||||||
|
println!(
|
||||||
|
"Looked for keyboard controller 0x{}: Found",
|
||||||
|
<&str>::from(prod)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Err(err) => println!(
|
||||||
|
"Looked for keyboard controller 0x{}: {err}",
|
||||||
|
<&str>::from(prod)
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
if usb_node.is_none() {
|
||||||
|
return Err("RogError::NoAuraKeyboard".into());
|
||||||
|
}
|
||||||
|
|
||||||
|
let node = usb_node.unwrap();
|
||||||
|
|
||||||
|
// node.write_bytes(&[0x5a, 0xd1, 0x0a, 0x01])?; // TODO: need to CHECK
|
||||||
|
println!("Set mouse mode for 10 seconds");
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x03])?;
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x0f, 0x20])?;
|
||||||
|
node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x00])?;
|
||||||
|
// sleep(Duration::from_secs(10));
|
||||||
|
|
||||||
|
// println!("Set wasd mode for 10 seconds");
|
||||||
|
// node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x02])?;
|
||||||
|
// node.write_bytes(&[0x5a, 0xd1, 0x0f, 0x20])?;
|
||||||
|
// sleep(Duration::from_secs(10));
|
||||||
|
|
||||||
|
// println!("Set back to gamepad mode");
|
||||||
|
// node.write_bytes(&[0x5a, 0xd1, 0x01, 0x01, 0x01])?;
|
||||||
|
// node.write_bytes(&[0x5a, 0xd1, 0x0f, 0x20])?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user