#ifndef usb_serial_h__ #define usb_serial_h__ #include void usb_init(void); // initialize everything uint8_t usb_configured(void); // is the USB port configured int8_t usb_keyboard_press(uint8_t key, uint8_t modifier); int8_t usb_keyboard_send(void); extern uint8_t keyboard_modifier_keys; extern uint8_t keyboard_keys[6]; extern volatile uint8_t keyboard_leds; int8_t usb_debug_putchar(uint8_t c); // transmit a character void usb_debug_flush_output(void); // immediately transmit any buffered output #define USB_DEBUG_HID // Everything below this point is only intended for usb_serial.c #ifdef USB_SERIAL_PRIVATE_INCLUDE #include #include #include #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))) #define MAX_ENDPOINT 4 #define LSB(n) (n & 255) #define MSB(n) ((n >> 8) & 255) #if defined(__AVR_AT90USB162__) #define HW_CONFIG() #define PLL_CONFIG() (PLLCSR = ((1<