Added preprocessor checks to give a human readable error when the class drivers are used when the incompatible NO_STREAM_CALLBACKS compile time option is used.
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
\r
/* Retrieve the entire configuration descriptor into the allocated buffer */\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
\r
/* Retrieve the entire configuration descriptor into the allocated buffer */\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
\r
/* Retrieve the entire configuration descriptor into the allocated buffer */\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
\r
/* Retrieve the entire configuration descriptor into the allocated buffer */\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
\r
/* Retrieve the entire configuration descriptor into the allocated buffer */\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r
\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
+ \r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
\r
#if defined(USB_CAN_BE_DEVICE)\r
#include "Device/Audio.h"\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_DEVICE)\r
#include "Device/CDC.h"\r
#endif\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_DEVICE)\r
#include "Device/HID.h"\r
#endif\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_DEVICE)\r
#include "Device/MIDI.h"\r
#endif\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_DEVICE)\r
#include "Device/MassStorage.h"\r
#endif\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_HOST)\r
#include "Host/Printer.h"\r
#endif\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_DEVICE)\r
#include "Device/RNDIS.h"\r
#endif\r
/* Includes: */\r
#include "../HighLevel/USBMode.h"\r
\r
+ #if defined(NO_STREAM_CALLBACKS)\r
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.\r
+ #endif\r
+\r
#if defined(USB_CAN_BE_HOST)\r
#include "Host/StillImage.h"\r
#endif\r
* it directly. Updating the LUFA library is a simple folder-replacement and gives new features and bug fixes in\r
* seconds each time a new release is made.\r
*\r
+ * - <b>Size:</b>\r
+ * Not just requiring less code to make complex USB devices, LUFA (under most cases with the correct compile options)\r
+ * requires less FLASH space than Atmel's stack, meaning more space for the user application*.\r
+ *\r
* - <b>Support:</b>\r
* Since many people are now using LUFA in their own projects, you can take advantage of other's knowedge when you run\r
* into difficulties or need some advice. In addition, you can also email the library author to recieve personalised\r
* support when you need it (subject to author's schedule).\r
+ *\r
+ * <small>* Atmel Mouse Device Demo 4292 bytes, LUFA Mouse Low Level Device Demo 3336 bytes, under identical build\r
+ * environments</small>\r
*/\r
\ No newline at end of file
uint8_t ProcessConfigurationDescriptor(void)\r
{\r
uint8_t ConfigDescriptorData[512];\r
- uint8_t* CurrConfigLocation = ConfigDescriptorData;\r
+ void* CurrConfigLocation = ConfigDescriptorData;\r
uint16_t CurrConfigBytesRem;\r
uint8_t FoundEndpoints = 0;\r
\r