pub fn move_payload(dx: i16, dy: i16) -> [u8; 4] {
let dx = dx.to_le_bytes();
let dy = dy.to_le_bytes();
[dx[0], dx[1], dy[0], dy[1]]
}
pub fn wheel_payload(delta: i16) -> [u8; 2] {
delta.to_le_bytes()
}
pub fn button_payload(id: u8, action: u8) -> [u8; 2] {
[id, action]
}
pub fn query_payload(what: u8) -> [u8; 1] {
[what]
}
pub fn led_payload(target: u8, mode: u8, level: u8) -> [u8; 3] {
[target, mode, level]
}
pub fn lock_payload(target: u8, direction: u8, state: u8) -> [u8; 3] {
[target, direction, state]
}
pub fn catch_payload(mask: u8) -> [u8; 1] {
[mask]
}