Embed:
(wiki syntax)
Show/hide line numbers
USBDevice.h
00001 /* USBDevice.h */ 00002 /* Generic USB device */ 00003 /* Copyright (c) 2011 ARM Limited. All rights reserved. */ 00004 00005 #ifndef _USB_DEVICE_ 00006 #define _USB_DEVICE_ 00007 00008 #include "mbed.h" //for NULL 00009 #include "USBDevice_Types.h" 00010 00011 bool USBDevice_init(void); 00012 void USBDevice_uninit(void); 00013 bool USBDevice_isConfigured(void); 00014 void USBDevice_connect(void); 00015 void USBDevice_disconnect(void); 00016 CONTROL_TRANSFER *USBDevice_getTransferPtr(void); 00017 bool USBDevice_addEndpoint(uint8_t endpoint, uint32_t maxPacket); 00018 bool USBDevice_addRateFeedbackEndpoint(uint8_t endpoint, uint32_t maxPacket); 00019 00020 00021 /* Endpoint events that must be implemented by device layer: */ 00022 void USBDevice_EP0setup(void); 00023 void USBDevice_EP0out(void); 00024 void USBDevice_EP0in(void); 00025 00026 /* Endpoint events that are optionally implemented by device layer: */ 00027 void USBDevice_busReset(void); 00028 void USBDevice_SOF(uint16_t frameNumber); 00029 void USBDevice_connectStateChanged(unsigned int state); 00030 void USBDevice_suspendStateChanged(unsigned int state); 00031 00032 uint8_t * USBDevice_findDescriptor(uint8_t descriptorType); 00033 00034 class USBDevice 00035 { 00036 public: 00037 USBDevice(); 00038 virtual void USBCallback_busReset(void){}; 00039 virtual bool USBCallback_request(){return false;}; 00040 virtual void USBCallback_requestCompleted(){}; 00041 virtual bool USBCallback_setConfiguration(uint8_t configuration){return false;}; 00042 00043 virtual uint8_t * DeviceDesc(); 00044 virtual uint8_t * ConfigurationDesc(); 00045 virtual uint8_t * StringLangidDesc(); 00046 virtual uint8_t * StringImanufacturerDesc(); 00047 virtual uint8_t * StringIproductDesc(); 00048 virtual uint8_t * StringIserialDesc(); 00049 virtual uint8_t * StringIConfigurationDesc(); 00050 virtual uint8_t * StringIinterfaceDesc(); 00051 virtual uint16_t ReportDescLength(){return 0;}; 00052 }; 00053 00054 00055 void setInstanceDevice(USBDevice * _inst); 00056 00057 00058 #endif
Generated on Fri Jul 15 2022 02:22:27 by 1.7.2