#include <avr/io.h>\r
#include <avr/pgmspace.h>\r
#include <avr/eeprom.h>\r
+ #include <avr/boot.h>\r
+ #include <stdlib.h>\r
+ #include <ctype.h>\r
\r
#include "../HighLevel/StdDescriptors.h"\r
#include "../HighLevel/Events.h"\r
#include "../HighLevel/StdRequestType.h"\r
+ #include "../HighLevel/USBTask.h"\r
#include "LowLevel.h"\r
\r
+ /* Preprocessor Checks: */\r
+ #if defined(USE_INTERNAL_SERIAL) && !(defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))\r
+ #error USE_INTERNAL_SERIAL invalid, the selected AVR model does not contain unique serial bytes.\r
+ #endif\r
+ \r
+ #if defined(USE_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL <= 1)\r
+ #error USE_INTERNAL_SERIAL must be defined to the string descriptor index chosen for the serial number descriptor.\r
+ #endif\r
+\r
/* Enable C linkage for C++ Compilers: */\r
#if defined(__cplusplus)\r
extern "C" {\r
* \ingroup Group_Device\r
*/\r
extern bool USB_CurrentlySelfPowered;\r
-\r
- /* Throwable Events: */\r
- /** This module raises the USB_UnhandledControlPacket event when a request to the default control\r
- * endpoint has been received, but the library does not implement an internal handler for it.\r
- *\r
- * \see Events.h for more information on this event.\r
- */\r
- RAISES_EVENT(USB_UnhandledControlPacket);\r
-\r
- /** This module raises the USB_ConfigurationChanged event when the host issues a REQ_SetConfiguration\r
- * device request, to change the currently selected configuration number.\r
- *\r
- * \see Events.h for more information on this event.\r
- */\r
- RAISES_EVENT(USB_ConfigurationChanged);\r
-\r
- /** This module raises the USB_DeviceEnumerationComplete event when the host has completed its\r
- * enumeration of the device (i.e. when a REQ_SetConfiguration request changes the current configuration\r
- * number from 0 to a non-zero value).\r
- *\r
- * \see Events.h for more information on this event.\r
- */\r
- RAISES_EVENT(USB_DeviceEnumerationComplete);\r
\r
/* Private Interface - For use in library only: */\r
#if !defined(__DOXYGEN__)\r
static void USB_Device_SetConfiguration(void);\r
static void USB_Device_GetConfiguration(void);\r
static void USB_Device_GetDescriptor(void);\r
- static void USB_Device_GetStatus(const uint8_t bmRequestType);\r
- #if !defined(FEATURELESS_CONTROL_ONLY_DEVICE)\r
- static void USB_Device_ClearSetFeature(const uint8_t bRequest, const uint8_t bmRequestType);\r
- #endif\r
+ static void USB_Device_GetStatus(void);\r
+ static void USB_Device_ClearSetFeature(void);\r
#endif\r
#endif\r
\r