X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao_usb.h;h=9356c8580ce809aaca545cc6713167c0e53cbe11;hp=84f92877950c95c8caeafbd8d570ca7ee6607fac;hb=70a69f3acdca27b80cdb2069de59bbc6dba83dbd;hpb=5ed3b1cb52b573db1fee9655a29a0e6dd72f53fe diff --git a/ao_usb.h b/ao_usb.h index 84f92877..9356c858 100644 --- a/ao_usb.h +++ b/ao_usb.h @@ -60,4 +60,38 @@ #define AO_USB_GET_DESC_TYPE(x) (((x)>>8)&0xFF) #define AO_USB_GET_DESC_INDEX(x) ((x)&0xFF) +#define AO_USB_CONTROL_EP 0 +#define AO_USB_INT_EP 1 +#define AO_USB_OUT_EP 4 +#define AO_USB_IN_EP 5 +#define AO_USB_CONTROL_SIZE 32 +/* + * Double buffer IN and OUT EPs, so each + * gets half of the available space + */ +#define AO_USB_IN_SIZE 256 +#define AO_USB_OUT_SIZE 128 + +#define AO_USB_EP0_IDLE 0 +#define AO_USB_EP0_DATA_IN 1 +#define AO_USB_EP0_DATA_OUT 2 + +#define LE_WORD(x) ((x)&0xFF),((uint8_t) (((uint16_t) (x))>>8)) + +/* CDC definitions */ +#define CS_INTERFACE 0x24 +#define CS_ENDPOINT 0x25 + +#define SET_LINE_CODING 0x20 +#define GET_LINE_CODING 0x21 +#define SET_CONTROL_LINE_STATE 0x22 + +/* Data structure for GET_LINE_CODING / SET_LINE_CODING class requests */ +struct ao_usb_line_coding { + uint32_t rate; + uint8_t char_format; + uint8_t parity; + uint8_t data_bits; +} ; + #endif /* _AO_USB_H_ */