usb2 0.0.1

USB 2.0 data types and packet parser
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
macro_rules! repr {
    ($uxx:ty, #[$doc:meta] $name:ident { $(#[$attr:meta] $var:ident = $val:expr,)+ }) => {
        #[$doc]
        #[derive(Clone, Copy, Debug, Eq, PartialEq)]
        pub enum $name {
            $(#[$attr] $var = $val,)+
        }

        impl $name {
            pub(crate) fn _from(val: $uxx) -> Option<Self> {
                match val {
                    $($val => Some($name::$var),)+
                    _ => None,
                }
            }
        }
    }
}