From acc974c64b1e17e6807133fdc50de5bb34aedda5 Mon Sep 17 00:00:00 2001 From: tmk Date: Wed, 9 Feb 2011 00:03:58 +0900 Subject: added protocol stack: pjrc, vusb --- pjrc/usb.h | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 pjrc/usb.h (limited to 'pjrc/usb.h') diff --git a/pjrc/usb.h b/pjrc/usb.h new file mode 100644 index 000000000..ee72a1e39 --- /dev/null +++ b/pjrc/usb.h @@ -0,0 +1,91 @@ +#ifndef USB_H +#define USB_H 1 + +#include +#include +#include + + +extern bool remote_wakeup; +extern bool suspend; + +void usb_init(void); // initialize everything +uint8_t usb_configured(void); // is the USB port configured +void usb_remote_wakeup(void); + + + + +#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<