pub trait Commands<const H: usize, const HSUB1: usize, const HSUB2: usize, const HSUB4: usize, const ID: usize> {
Show 99 methods // Required method fn tx_packetbuffer_send( &mut self, buf: &mut HidIoPacketBuffer<H> ) -> Result<(), CommandError>; // Provided methods fn supported_id(&self, _id: HidIoCommandId) -> bool { ... } fn default_packet_chunk(&self) -> u32 { ... } fn empty_ack(&mut self, id: HidIoCommandId) -> Result<(), CommandError> { ... } fn empty_nak(&mut self, id: HidIoCommandId) -> Result<(), CommandError> { ... } fn byte_ack( &mut self, id: HidIoCommandId, byte: u8 ) -> Result<(), CommandError> { ... } fn byte_nak( &mut self, id: HidIoCommandId, byte: u8 ) -> Result<(), CommandError> { ... } fn short_ack( &mut self, id: HidIoCommandId, val: u16 ) -> Result<(), CommandError> { ... } fn short_nak( &mut self, id: HidIoCommandId, val: u16 ) -> Result<(), CommandError> { ... } fn rx_message_handling( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0000_supported_ids(&mut self, _data: Cmd) -> Result<(), CommandError> { ... } fn h0000_supported_ids_cmd(&mut self, _data: Cmd) -> Result<Ack<ID>, Nak> { ... } fn h0000_supported_ids_ack( &mut self, _data: Ack<ID> ) -> Result<(), CommandError> { ... } fn h0000_supported_ids_nak( &mut self, _data: Nak ) -> Result<(), CommandError> { ... } fn h0000_supported_ids_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0001_info(&mut self, data: Cmd) -> Result<(), CommandError> { ... } fn h0001_info_cmd(&mut self, _data: Cmd) -> Result<Ack<HSUB1>, Nak> { ... } fn h0001_info_ack(&mut self, _data: Ack<HSUB1>) -> Result<(), CommandError> { ... } fn h0001_info_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0001_info_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0002_test(&mut self, data: Cmd<H>, na: bool) -> Result<(), CommandError> { ... } fn h0002_test_cmd(&mut self, _data: Cmd<H>) -> Result<Ack<H>, Nak> { ... } fn h0002_test_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError> { ... } fn h0002_test_ack(&mut self, _data: Ack<H>) -> Result<(), CommandError> { ... } fn h0002_test_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0002_test_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0003_resethidio(&mut self, _data: Cmd) -> Result<(), CommandError> { ... } fn h0003_resethidio_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak> { ... } fn h0003_resethidio_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0003_resethidio_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0003_resethidio_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0016_flashmode(&mut self, _data: Cmd) -> Result<(), CommandError> { ... } fn h0016_flashmode_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak> { ... } fn h0016_flashmode_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0016_flashmode_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0016_flashmode_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0017_unicodetext( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError> { ... } fn h0017_unicodetext_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak> { ... } fn h0017_unicodetext_nacmd( &mut self, _data: Cmd<H> ) -> Result<(), CommandError> { ... } fn h0017_unicodetext_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0017_unicodetext_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0017_unicodetext_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0018_unicodestate( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError> { ... } fn h0018_unicodestate_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak> { ... } fn h0018_unicodestate_nacmd( &mut self, _data: Cmd<H> ) -> Result<(), CommandError> { ... } fn h0018_unicodestate_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0018_unicodestate_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0018_unicodestate_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h001a_sleepmode(&mut self, _data: Cmd) -> Result<(), CommandError> { ... } fn h001a_sleepmode_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak> { ... } fn h001a_sleepmode_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h001a_sleepmode_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h001a_sleepmode_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0020_klltrigger( &mut self, data: Cmd, na: bool ) -> Result<(), CommandError> { ... } fn h0020_klltrigger_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak> { ... } fn h0020_klltrigger_nacmd(&mut self, _data: Cmd) -> Result<(), CommandError> { ... } fn h0020_klltrigger_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0020_klltrigger_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0020_klltrigger_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0021_pixelsetting( &mut self, data: Cmd, na: bool ) -> Result<(), CommandError> { ... } fn h0021_pixelsetting_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak> { ... } fn h0021_pixelsetting_nacmd( &mut self, _data: Cmd ) -> Result<(), CommandError> { ... } fn h0021_pixelsetting_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0021_pixelsetting_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0021_pixelsetting_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0026_directset( &mut self, data: Cmd<HSUB2>, na: bool ) -> Result<(), CommandError> { ... } fn h0026_directset_cmd(&mut self, _data: Cmd<HSUB2>) -> Result<Ack, Nak> { ... } fn h0026_directset_nacmd( &mut self, _data: Cmd<HSUB2> ) -> Result<(), CommandError> { ... } fn h0026_directset_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0026_directset_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0026_directset_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0030_openurl(&mut self, data: Cmd<H>) -> Result<(), CommandError> { ... } fn h0030_openurl_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak> { ... } fn h0030_openurl_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError> { ... } fn h0030_openurl_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0030_openurl_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0030_openurl_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0031_terminalcmd( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError> { ... } fn h0031_terminalcmd_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak> { ... } fn h0031_terminalcmd_nacmd( &mut self, _data: Cmd<H> ) -> Result<(), CommandError> { ... } fn h0031_terminalcmd_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0031_terminalcmd_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0031_terminalcmd_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0034_terminalout( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError> { ... } fn h0034_terminalout_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak> { ... } fn h0034_terminalout_nacmd( &mut self, _data: Cmd<H> ) -> Result<(), CommandError> { ... } fn h0034_terminalout_ack(&mut self, _data: Ack) -> Result<(), CommandError> { ... } fn h0034_terminalout_nak(&mut self, _data: Nak) -> Result<(), CommandError> { ... } fn h0034_terminalout_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0050_manufacturing(&mut self, data: Cmd) -> Result<(), CommandError> { ... } fn h0050_manufacturing_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak> { ... } fn h0050_manufacturing_ack( &mut self, _data: Ack ) -> Result<(), CommandError> { ... } fn h0050_manufacturing_nak( &mut self, _data: Nak ) -> Result<(), CommandError> { ... } fn h0050_manufacturing_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... } fn h0051_manufacturingres( &mut self, data: Cmd<HSUB4> ) -> Result<(), CommandError> { ... } fn h0051_manufacturingres_cmd( &mut self, _data: Cmd<HSUB4> ) -> Result<Ack, Nak> { ... } fn h0051_manufacturingres_ack( &mut self, _data: Ack ) -> Result<(), CommandError> { ... } fn h0051_manufacturingres_nak( &mut self, _data: Nak ) -> Result<(), CommandError> { ... } fn h0051_manufacturingres_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError> { ... }
}
Expand description

HID-IO Command Interface H - Max data payload length (HidIoPacketBuffer) HSUB1, HSUB2, HSUB4 - Due to current limitations of const generics (missing const_evaluatable_checked), H - 1, H - 2 and H - 4 must be defined at the top-level. ID - Max number of HidIoCommandIds

Required Methods§

source

fn tx_packetbuffer_send( &mut self, buf: &mut HidIoPacketBuffer<H> ) -> Result<(), CommandError>

Given a HidIoPacketBuffer serialize (and resulting send bytes)

Provided Methods§

source

fn supported_id(&self, _id: HidIoCommandId) -> bool

Check if id is valid for this interface (By default support all ids)

source

fn default_packet_chunk(&self) -> u32

Default packet chunk (Usual chunk sizes are 63 or 64)

source

fn empty_ack(&mut self, id: HidIoCommandId) -> Result<(), CommandError>

Simple empty ack

source

fn empty_nak(&mut self, id: HidIoCommandId) -> Result<(), CommandError>

Simple empty nak

source

fn byte_ack(&mut self, id: HidIoCommandId, byte: u8) -> Result<(), CommandError>

Simple byte ack

source

fn byte_nak(&mut self, id: HidIoCommandId, byte: u8) -> Result<(), CommandError>

Simple byte nak

source

fn short_ack( &mut self, id: HidIoCommandId, val: u16 ) -> Result<(), CommandError>

Simple short ack (16-bit)

source

fn short_nak( &mut self, id: HidIoCommandId, val: u16 ) -> Result<(), CommandError>

Simple short nak (16-bit)

source

fn rx_message_handling( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

Process specific packet types Handles matching to interface functions

source

fn h0000_supported_ids(&mut self, _data: Cmd) -> Result<(), CommandError>

source

fn h0000_supported_ids_cmd(&mut self, _data: Cmd) -> Result<Ack<ID>, Nak>

source

fn h0000_supported_ids_ack( &mut self, _data: Ack<ID> ) -> Result<(), CommandError>

source

fn h0000_supported_ids_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0000_supported_ids_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0001_info(&mut self, data: Cmd) -> Result<(), CommandError>

source

fn h0001_info_cmd(&mut self, _data: Cmd) -> Result<Ack<HSUB1>, Nak>

source

fn h0001_info_ack(&mut self, _data: Ack<HSUB1>) -> Result<(), CommandError>

source

fn h0001_info_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0001_info_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0002_test(&mut self, data: Cmd<H>, na: bool) -> Result<(), CommandError>

source

fn h0002_test_cmd(&mut self, _data: Cmd<H>) -> Result<Ack<H>, Nak>

source

fn h0002_test_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError>

source

fn h0002_test_ack(&mut self, _data: Ack<H>) -> Result<(), CommandError>

source

fn h0002_test_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0002_test_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0003_resethidio(&mut self, _data: Cmd) -> Result<(), CommandError>

source

fn h0003_resethidio_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak>

source

fn h0003_resethidio_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0003_resethidio_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0003_resethidio_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0016_flashmode(&mut self, _data: Cmd) -> Result<(), CommandError>

source

fn h0016_flashmode_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak>

source

fn h0016_flashmode_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0016_flashmode_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0016_flashmode_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0017_unicodetext( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError>

source

fn h0017_unicodetext_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak>

source

fn h0017_unicodetext_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError>

source

fn h0017_unicodetext_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0017_unicodetext_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0017_unicodetext_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0018_unicodestate( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError>

source

fn h0018_unicodestate_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak>

source

fn h0018_unicodestate_nacmd( &mut self, _data: Cmd<H> ) -> Result<(), CommandError>

source

fn h0018_unicodestate_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0018_unicodestate_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0018_unicodestate_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h001a_sleepmode(&mut self, _data: Cmd) -> Result<(), CommandError>

source

fn h001a_sleepmode_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak>

source

fn h001a_sleepmode_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h001a_sleepmode_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h001a_sleepmode_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0020_klltrigger(&mut self, data: Cmd, na: bool) -> Result<(), CommandError>

source

fn h0020_klltrigger_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak>

source

fn h0020_klltrigger_nacmd(&mut self, _data: Cmd) -> Result<(), CommandError>

source

fn h0020_klltrigger_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0020_klltrigger_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0020_klltrigger_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0021_pixelsetting( &mut self, data: Cmd, na: bool ) -> Result<(), CommandError>

source

fn h0021_pixelsetting_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak>

source

fn h0021_pixelsetting_nacmd(&mut self, _data: Cmd) -> Result<(), CommandError>

source

fn h0021_pixelsetting_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0021_pixelsetting_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0021_pixelsetting_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0026_directset( &mut self, data: Cmd<HSUB2>, na: bool ) -> Result<(), CommandError>

source

fn h0026_directset_cmd(&mut self, _data: Cmd<HSUB2>) -> Result<Ack, Nak>

source

fn h0026_directset_nacmd( &mut self, _data: Cmd<HSUB2> ) -> Result<(), CommandError>

source

fn h0026_directset_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0026_directset_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0026_directset_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0030_openurl(&mut self, data: Cmd<H>) -> Result<(), CommandError>

source

fn h0030_openurl_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak>

source

fn h0030_openurl_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError>

source

fn h0030_openurl_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0030_openurl_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0030_openurl_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0031_terminalcmd( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError>

source

fn h0031_terminalcmd_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak>

source

fn h0031_terminalcmd_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError>

source

fn h0031_terminalcmd_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0031_terminalcmd_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0031_terminalcmd_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0034_terminalout( &mut self, data: Cmd<H>, na: bool ) -> Result<(), CommandError>

source

fn h0034_terminalout_cmd(&mut self, _data: Cmd<H>) -> Result<Ack, Nak>

source

fn h0034_terminalout_nacmd(&mut self, _data: Cmd<H>) -> Result<(), CommandError>

source

fn h0034_terminalout_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0034_terminalout_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0034_terminalout_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0050_manufacturing(&mut self, data: Cmd) -> Result<(), CommandError>

source

fn h0050_manufacturing_cmd(&mut self, _data: Cmd) -> Result<Ack, Nak>

source

fn h0050_manufacturing_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0050_manufacturing_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0050_manufacturing_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

source

fn h0051_manufacturingres( &mut self, data: Cmd<HSUB4> ) -> Result<(), CommandError>

source

fn h0051_manufacturingres_cmd(&mut self, _data: Cmd<HSUB4>) -> Result<Ack, Nak>

source

fn h0051_manufacturingres_ack(&mut self, _data: Ack) -> Result<(), CommandError>

source

fn h0051_manufacturingres_nak(&mut self, _data: Nak) -> Result<(), CommandError>

source

fn h0051_manufacturingres_handler( &mut self, buf: HidIoPacketBuffer<H> ) -> Result<(), CommandError>

Implementors§

source§

impl<KINTF: KiibohdCommandInterface<H>, const TX: usize, const RX: usize, const N: usize, const H: usize, const S: usize, const ID: usize> Commands<H, { MESSAGE_LEN - 1 }, { MESSAGE_LEN - 2 }, { MESSAGE_LEN - 4 }, ID> for CommandInterface<KINTF, TX, RX, N, H, S, ID>

CommandInterface for Commands TX - tx byte buffer size (in multiples of N) RX - tx byte buffer size (in multiples of N) N - Max payload length (HidIoPacketBuffer), used for default values H - Max data payload length (HidIoPacketBuffer) S - Serialization buffer size ID - Max number of HidIoCommandIds