63 lines
823 B
C
63 lines
823 B
C
#pragma once
|
|
|
|
|
|
/*
|
|
|
|
First try of basic USB API for AVR
|
|
|
|
*/
|
|
|
|
struct usb_device;
|
|
typedef struct usb_device USB_DEVICE;
|
|
|
|
#include <usb/usb_spec.h>
|
|
#include <usb/usb_spec_cdc.h>
|
|
|
|
#include <usb/types.h>
|
|
|
|
#include <usb/usb_descriptor.h>
|
|
|
|
#include <usb/usb_configuration.h>
|
|
#include <usb/usb_interrupt.h>
|
|
#include <usb/usb_endpoint.h>
|
|
#include <usb/usb_device.h>
|
|
|
|
#include <usb/usb_device_avr.h>
|
|
|
|
// Record setup requests in ram with hardware status
|
|
//#define USB_DEBUG_SETUP
|
|
|
|
|
|
#ifdef USB_DEBUG_SETUP
|
|
|
|
typedef struct {
|
|
uint8_t cfg0x,
|
|
cfg1x,
|
|
sta0x,
|
|
sta1x,
|
|
intx,
|
|
ienx;
|
|
uint16_t bcx;
|
|
|
|
usb_device_request_t
|
|
request;
|
|
|
|
} usb_debug_setup_t;
|
|
|
|
extern usb_debug_setup_t *usb_debug_setup;
|
|
extern int *usb_debug_index;
|
|
extern int *usb_debug_size;
|
|
|
|
#endif
|
|
|
|
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|