macro_rules! define_components {
    (

        $(
            $component:ident ($component_value:literal) {
                $(
                    $command:ident ($command_value:literal)
                )*

                $(;
                    notify {

                        $(
                            $command_notify:ident ($command_notify_value:literal)
                        )*

                    }
                )?
            }
        )*
    ) => { ... };
}
Expand description

Macro for defining component enums for packet identification

use blaze_pk::define_components;
define_components! {
   Authentication (0x00) {
       Key (0x00)
       Alert (0x02)
       Value (0x23)
   }

   Other (0x1) {
       Key (0x00)
       Alert (0x02)
   }
}