#ifndef usb_common_h__ #define usb_common_h__ #include #include #include #include #ifdef __cplusplus extern "C"{ #endif #define MAX_ENDPOINT 6 #define LSB(n) (n & 255) #define MSB(n) ((n >> 8) & 255) // constants corresponding to the various serial parameters #define USB_SERIAL_DTR 0x01 #define USB_SERIAL_RTS 0x02 #define USB_SERIAL_1_STOP 0 #define USB_SERIAL_1_5_STOP 1 #define USB_SERIAL_2_STOP 2 #define USB_SERIAL_PARITY_NONE 0 #define USB_SERIAL_PARITY_ODD 1 #define USB_SERIAL_PARITY_EVEN 2 #define USB_SERIAL_PARITY_MARK 3 #define USB_SERIAL_PARITY_SPACE 4 #define USB_SERIAL_DCD 0x01 #define USB_SERIAL_DSR 0x02 #define USB_SERIAL_BREAK 0x04 #define USB_SERIAL_RI 0x08 #define USB_SERIAL_FRAME_ERR 0x10 #define USB_SERIAL_PARITY_ERR 0x20 #define USB_SERIAL_OVERRUN_ERR 0x40 #define EP_TYPE_CONTROL 0x00 #define EP_TYPE_BULK_IN 0x81 #define EP_TYPE_BULK_OUT 0x80 #define EP_TYPE_INTERRUPT_IN 0xC1 #define EP_TYPE_INTERRUPT_OUT 0xC0 #define EP_TYPE_ISOCHRONOUS_IN 0x41 #define EP_TYPE_ISOCHRONOUS_OUT 0x40 #define EP_SINGLE_BUFFER 0x02 #define EP_DOUBLE_BUFFER 0x06 #define EP_SIZE(s) ((s) == 64 ? 0x30 : \ ((s) == 32 ? 0x20 : \ ((s) == 16 ? 0x10 : \ 0x00))) #if defined(__AVR_AT90USB162__) #define HW_CONFIG() #define PLL_CONFIG() (PLLCSR = ((1<