Commit Graph

302 Commits (c24027f3b5f1ca7bceababc82ea5b897b18dbac1)

Author SHA1 Message Date
Dean Camera baa1b22654 Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe) to send report to the attached device. 16 years ago
Dean Camera 89c837ee34 Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library. 16 years ago
Dean Camera e57e08c672 Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a device ID (thanks to Andrei Krainev). 16 years ago
Dean Camera 409c49f057 Doxygen fixes to \param directives to give data direction in all projects. Make HID item filtering routines clearer in the HID WithParser demos. 16 years ago
Dean Camera 573a27d90a Fix incorrect names for the HID Host protocol setting routines. 16 years ago
Dean Camera 849b9535e7 Add new error condition to the HID Report Parser for when a report is parsed but no unfiltered items are encountered (i.e. nothing of interest in the device report). Make all host HID "WithParser" demos print the new error condition. 16 years ago
Dean Camera 242303c160 Add new attributes to the HID Report Parser and HID Host Mode Class driver to keep track of the largest report the device can send for buffer allocation purposes. Change MouseHostWithParser and KeyboardHostWithParser demos to only allocate the needed number of bytes. 16 years ago
Dean Camera 3ffa7543a0 Finish initial draft of the Host Mode HID Class driver. 16 years ago
Dean Camera 9d6a373cb6 Add const qualifiers to Host mode Class drivers. 16 years ago
Dean Camera 7478b387a9 Oops - Keyboard boot report structure should be an array of 6 keycodes. 16 years ago
Dean Camera aa640330a1 Finish Class Driver MouseHost demo. Update HID Host Class driver; boot protocol now works, still need to finish and test report protocol mode. 16 years ago
Dean Camera 51566d1a81 Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen. 16 years ago
Dean Camera cd0adb7574 Added support for the officially recommended layout of the external peripherals connected to the BUMBLEB board. 16 years ago
Dean Camera 7c6b2019a3 Fix Mass Storage Host Class driver GetMaxLUN command - incorrect function return codes used in comparison to check for success. 16 years ago
Dean Camera eee712f769 Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker). 16 years ago
Dean Camera 81b618be23 Revert changed CDC_Device_Flush() prototype accidentially changed in the last commit. 16 years ago
Dean Camera e918d977b1 Prevent the CDC Device Class driver from sending empty IN packets on every service task call - only send termination packets when data is in the endpoint. 16 years ago
Dean Camera b221e7d175 Remove USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token, split out standard descriptors into seperate USB_Descriptor_* and USB_StdDescriptor_* structures so that both can be used within the one project. 16 years ago
Dean Camera 524decdeb3 Change HID report parser so that it can calculate and record the sizes (IN, OUT and FEATURE) of each report within the device, by report ID. This will be required in host mode, so that the host can determine how many bytes of data must be read in for each report. 16 years ago
Dean Camera d2068d878c Finish Still Image Host class driver. 16 years ago
Dean Camera c8b72f955f Corrected incorrect signature bytes for the AT90USB82 and added support for the ATMEGAXX2 variant AVRs to the DFU bootloader. 16 years ago
Dean Camera 064e6a2f32 Changed Still Image Host class driver to auto-fill TransactionID element of sent headers depending on the current session state. 16 years ago
Dean Camera 6783bc4594 Add StillImage Host Class Driver functions for opening and closing sessions. Ensure IsActive is set on the interface to allow device functions to run. 16 years ago
Dean Camera 205b35d131 Add user-filtering to the HID report parser, so that the user code can decide which items are to be stored into the HID_ReportInfo_t structure and which should be discarded to save on RAM usage. 16 years ago
Dean Camera 0fdc1a2bc6 Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles. 16 years ago
Dean Camera 0e2ffebb82 Added documentation for the constants and enums of the new StillImage Host Class driver added to the library so far. 16 years ago
Dean Camera 5908e28e8d Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header. 16 years ago
Dean Camera dac7b046fd Add return codes to the CDC Host Class driver String/Byte transmission functions. 16 years ago
Dean Camera cf2776531c Add extra check for OUT ZLP in the CDC Device Class driver service task to quickly clear zero-length termination packets from the host. 16 years ago
Dean Camera 778da9dc6d Removed unused INCLUDE_FROM_BOARD_DRIVER internal define from the board driver dispatch headers. 16 years ago
Dean Camera 7fbb759287 Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks and data validations internally, to simplify user code. 16 years ago
Dean Camera e2822fb30d Remove deleted source files from the LUFA library makefile. 16 years ago
Dean Camera 3dce79d68c Added start of the Still Image Host Class driver demo and driver code. 16 years ago
Dean Camera 0d3a3f7536 Remove skeleton Audio and MIDI Host mode Class drivers -- will not implement in next release. 16 years ago
Dean Camera 94c899d7b7 Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback routine, so that ignored callbacks don't cause incorrect data to be sent. 16 years ago
Dean Camera 922e60192d Condensed SCSI command functions in the LowLevel Mass Storage Host demo, to save on FLASH space. 16 years ago
Dean Camera 023838fe4a Add check to Pipe_IsEndpointBound() in the Mass Storage Host mode Class driver to ensure that multiple instances of the driver can be used on a single device with multiple Mass Storage interfaces. 16 years ago
Dean Camera f52b265090 Simplified Host mode Mass Storage Class driver to reduce compiled program size. 16 years ago
Dean Camera 754ea083d4 Fix memory corruption in Host mode Mass Storage Class driver. 16 years ago
Dean Camera cd2dcc9163 Added better USB Class driver overviews. 16 years ago
Dean Camera d297ea12b7 Added new "Common" section to the class drivers, to hold all mode-independant definitions for clarity. 16 years ago
Dean Camera f7cde02b80 Added extra note about missing OUT endpoint configuration to the HID Device mode Class driver. 16 years ago
Dean Camera 665fe11f12 Fixed Device mode HID Class driver always sending IN reports, even when no data is to be reported. 16 years ago
Dean Camera 8ea5c631c8 Minor documentation fixes to the completed Host mode Class drivers. 16 years ago
Dean Camera f890592806 Completed initial Host mode Mass Storage class driver. 16 years ago
Dean Camera 559ca2ba04 Added MS_Host_TestUnitReady() and MS_Host_ReadDeviceCapacity() to the host mode Mass Storage Class driver. 16 years ago
Dean Camera a765f71727 Add SCSICodes.h to the Class Driver Common folder, and automatically include it in both the Host and Device Mass Storage Class drivers. Delete existing version from the ClassDriver MassStorage device demo's /Lib/ folder. 16 years ago
Dean Camera 31d8ebebc0 Oops: Really disable building of Projects/Host/ClassDriver directory in the Projects/Host/ makefile. 16 years ago
Dean Camera ee744abb7e More work on the Mass Storage Host mode Class driver. 16 years ago
Dean Camera f547eb3608 Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size. 16 years ago
Dean Camera 6d1adf7339 Updated Benito project -- added hardware interrupt and software buffering for serial data reception to prevent missed characters, condensed pulse generation counters into a struct for clarity. 16 years ago
Dean Camera 2f95eea146 Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP project. 16 years ago
Dean Camera 6d99486791 Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient. 16 years ago
Dean Camera ecd82778cf Added beginnings of a new AVRISP-MKII clone project. 16 years ago
Dean Camera 09bedd6555 Added return values to the CDC and MIDI class driver transmit functions. 16 years ago
Dean Camera b71ff7c8cd Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode. 16 years ago
Dean Camera df5500e81c Added CDC_Device_Flush() command to the CDC Device mode class driver. 16 years ago
Dean Camera df29aa37c0 Added flag to the HID report parser to indicate if a device has multiple reports. 16 years ago
Dean Camera a7ade9f28d Add CDC Host class driver EVENT_CDC_Host_ControLineStateChanged() event. 16 years ago
Dean Camera abc7dce10c Document CDC Host class driver functions and enums. 16 years ago
Dean Camera c86491af8b Add new functions to the HID host class driver, refine HID interface protocol matching. 16 years ago
Dean Camera a2001ac1cc Fixed swapped paremeters in the HID state memory copy call while processing a HID PUSH item in the HID report parser. 16 years ago
Dean Camera f4814771d2 Completion of initial CDC host mode class driver. 16 years ago
Dean Camera 8711dc7ced Fix issue in CDC device class driver where received data the size of the data endpoint could lock up the driver. 16 years ago
Dean Camera d423090b26 Cleanups to RNDIS device demos. Fix issue in RNDIS demos where the memory would become corrupted due to an incorrect bounds check when iterating over the port state table, causing random resets. 16 years ago
Dean Camera 85c2716f2d Make Benito ping-pong LED code more explicit, using masks of the TX and RX LED masks for ping-pong toggle rather than the ambiguous LED "Busy" mask. 16 years ago
Dean Camera c830fcb0e1 Make Endpoint control transfers more reliable; early-abort when an incomplete packet is sent from the host (indicating end of transfer), add check for control reads to ensure that no more than wLength bytes are read from the interface. 16 years ago
Dean Camera 4421782b7f Make Control Endpoint stream transfers more reliable by adding in early aborts for unexpected new SETUP tokens, or unexpected status stage during control stream writes. 16 years ago
Dean Camera a9d5e129b7 Changed over manual loops waiting for endpoints to be ready to use the library Endpoint_WaitUntilReady() function for robustness. Fixes issues with terminated transfers on the host locking up USB devices. 16 years ago
Dean Camera 4b35dd1670 Commit for 090810rc1 release. 16 years ago
Dean Camera 042d3288ad Fix incorrect Event call name in USBInterrupt.c. 16 years ago
Dean Camera c5038f1bf4 Renamed all library events to properly seperate out Device and Host mode events. Changed the firing conditions for some events to ensure that events are fired by their own USB mode only. 16 years ago
Dean Camera eff07bb877 Fix issue with CDC device demos causing broken communications when the device tries to send data before the host has set the line encoding. 16 years ago
Dean Camera 840d386deb Cleanup and optimization of the internal serial retrieval routines. 16 years ago
Dean Camera 6f4cc344ab Rename TOTAL_NUM_CONFIGURATIONS to FIXED_NUM_CONFIGURATIONS, to match the existing FIXED_CONTROL_ENDPOINT_SIZE compile time option. Add FIXED_NUM_CONFIGURATIONS to the descriptors of each project using the option. 16 years ago
Dean Camera c5eeedd522 Removed interrupt disable/enable from the Device mode control request processing routines, as they can cause problems with user code and can cause infinite spinlocks under some circumstances. 16 years ago
Dean Camera eb41086947 Fix demos based on the device mode HID class driver, as well as the driver itself. Changed HID device class driver to require the user to give a buffer and size to hold the previously generated report, for comparison purposes, and altered the prototype of the CALLBACK_HID_Device_CreateHIDReport() function so that reports can be sent to the host even if there are no apparent changes (useful for relative movements in mice, etc.). 16 years ago
Dean Camera a789619fbe Renamed USB_Device_SetHighSpeed() to USB_Device_SetFullSpeed() so that the correct terminology is used (thanks to Brian Dickman). 16 years ago
Dean Camera 7df6b9563c Add new HID_Device_MillisecondElapsed() function to the HID device Class driver, to move the burden of managing the Idle period of each instance to the library and not the user application. 16 years ago
Dean Camera 7227e133a9 Ensure that the previous HID reports in the HID device class driver are kept per-instance, rather than per-device. 16 years ago
Dean Camera 72932e2780 Fix to HID device mode Class driver, so that new reports are compared against the old, and updated reports made within the idle period are sent immediately to the host. 16 years ago
Dean Camera 41babf1cb7 Fix incorrect configuration in the ClassDriver AudioOutput demo. 16 years ago
Dean Camera 5ca1d7bf8f Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does not support USB host mode. 16 years ago
Dean Camera fef185a409 Cleanup USBMode.h to simplify preprocessor logic. 16 years ago
Dean Camera 6928f17b64 Extend the automatic serial number descriptor code to read out and send all 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters). 16 years ago
Dean Camera 7f3f39b575 Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits. 16 years ago
Dean Camera e426463355 Better solution - change compile time token names to DEVICE_STATE_AS_GPIOR and HOST_STATE_AS_GPIOR and allow the user to set them to the index of the GPIOR register within the device to use. 16 years ago
Dean Camera c1be307393 Added HOST_STATE_AS_GPIOR1 and DEVICE_STATE_AS_GPIOR0 compile time options, the latter of which is used in the bootloaders, to reduce code size. 16 years ago
Dean Camera 864196c884 State information for class drivers is now zeroed out during enumeration (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved. 16 years ago
Dean Camera b9dd51cd63 Collapse configuration descriptor size retrieval and size testing into a single if statement within the new host mode class driver demos for clarity. 16 years ago
Dean Camera 84c3c4a3d9 Change Host mode class driver Pipe configuration routines -- better to let the application fetch the configuration descriptors once, and then pass them to each class driver in turn. 16 years ago
Dean Camera 5251bc6e4e Add new MouseHost Class Driver demo, unfinished, to allow for better testing of the new prototype Host Mode Class Driver framework. Flesh out start of a HID class Host mode class driver. 16 years ago
Dean Camera 05fa6e0c43 Corrected new Pipe_IsEndpointBound() function. 16 years ago
Dean Camera cbbd3d746a Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions. 16 years ago
Dean Camera 5dbfdaa17d Ensure that the USB_DeviceState variable is properly set upon wakeup events, to the Addressed or Configured state as needed. 16 years ago
Dean Camera 7a5d045987 Slight changes to TeensyHID bootloader to ensure it builds under the 2KB boundary. 16 years ago
Dean Camera e071f3897a Added new USB_DeviceState variable to keep track of the current Device mode USB state. 16 years ago
Dean Camera d0db78432f Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host. 16 years ago
Dean Camera 67f390fe74 Add explicit guards to all device mode tasks to ensure the device is connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured. 16 years ago
Dean Camera 292fc9b65e Move unfinished SideShow source files to nested Lib directory for clarity. 16 years ago
Dean Camera f3c061d5c8 Fixed PrinterHost demo Printer_GetDeviceID() routine not removing the Device ID string length from the start of the returned array (thanks to John Andrews). 16 years ago
Dean Camera 9d2613d908 Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews). 16 years ago
Dean Camera c619e21fa7 Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models. 16 years ago
Dean Camera 32086e4f14 Fix small error in last commit preventing compilation in some circumstances. 16 years ago
Dean Camera 37f8a84f35 Added new TOTAL_NUM_CONFIGURATIONS option, removed USE_SINGLE_DEVICE_CONFIGURATION compile time option (but silently convert it to USE_SINGLE_DEVICE_CONFIGURATION internally for compatibility). 16 years ago
Dean Camera f85a53a31b Fix HID class device driver -- if a SetIDle request is issued with the LSB of wValue set to zero, the idle period must be set for all HID interfaces. 16 years ago
Dean Camera da138684e4 Added module file dependancy information to the USB class drivers. 16 years ago
Dean Camera 312748702a Added better module summaries. 16 years ago
Dean Camera e9215b4b36 Fix broken Pipe stream function templates due to mixed const/no const use in prototypes. 16 years ago
Dean Camera 73d9fafc0f Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions. Changed Endpoint.c and Pipe.c to use a templated system to build the seperate functions, rather than duplicating each function's code many times. 16 years ago
Dean Camera 0fcbe22c9e Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the device has been removed (for use when an error occurs or communications with the device have completed). Changed over all host mode demos to use the new state. 16 years ago
Dean Camera a54ed0085b Seperated out parts of the PrinterHost incomplete demo into a seperate Lib subdirectory. 16 years ago
Dean Camera f1076ac4d6 Added const modifiers to device mode class drivers. 16 years ago
Dean Camera 3cbdcd3686 Reduce struct name pollution - group typedef struct names by class driver name where appropriate. 16 years ago
Dean Camera 1756087c3e Optimize vendor/product description string display code in MassStorageHost. 16 years ago
Dean Camera bb23e55f11 Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command. 16 years ago
Dean Camera a3a04aa671 Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling the existing \ref Pipe_SetFiniteINRequests() function. 16 years ago
Dean Camera 7f81803aaa Fixed CDCHost demo unfreezing IN pipes during configuration, rather than during use. 16 years ago
Dean Camera 7d7573e4e5 Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to Opendous Inc.). 16 years ago
Dean Camera a34cccf099 Optimize unique serial number reading code for size -- remove atoi/toupper references, replace with hand-rolled code as the input has known size constraints. 16 years ago
Dean Camera 730624f745 Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it. 16 years ago
Dean Camera 9d506553aa Trim unique serial number created by the USE_INTERNAL_SERIAL option to 12 characters rather than 20 - apparently Windows will implode if a serial number is too long. 16 years ago
Dean Camera 00d0883507 Added USE_INTERNAL_SERIAL compile time option to automatically read out the internal unique serial number as the device's serial number descriptor on supported AVR models. 16 years ago
Dean Camera 35bdada24b Clean up RNDIS demo type define names. 16 years ago
Dean Camera feabfd12ce Fix makefiles -- the auto-addition of -D switches to each LUFA compile time option was faulty, due to GNUMake becomming confused by the spaces in the USE_STATIC_OPTIONS lines. Make user add in the switches explicitly instead. 16 years ago
Dean Camera dfa547164a Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch, to add support for multi-configuration devices. 16 years ago
Dean Camera 0d8679cf6b Re-add in simple scheduler for compatibility with legacy code, mark all scheduler related files as deprecated. 16 years ago
Dean Camera f896c00c48 Break device mode class driver interfaces into seperate config and state structs which are then combined, for clarity. Move device mode class driver interfaces back into the device mode class driver headers from the common class headers to make room for host class interfaces. 16 years ago
Dean Camera e338cb6f32 Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device's endpoint. 16 years ago
Dean Camera dcf303762a Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors. 16 years ago
Dean Camera b5ca3990c2 Added new USB_Host_SetDeviceConfiguration() convenience function. Change over Low Level host demos to use the new routine. 16 years ago
Dean Camera 84d7783350 Remove ConfigDescriptor.c/.h files from the ClassDriver Host demos, as they will be obsoleted when the Host mode class drivers are complete. Add new StillImage stub class driver common header. 16 years ago
Dean Camera b61049f722 Fixed broken HIDReportParser.c. 16 years ago
Dean Camera c75f8bf223 More Doxygen fixes - ensure no undocumented function parameters. 16 years ago
Dean Camera b7049da11b Enhanced class drivers to use the same public/private section seperations as other portions of the library. 16 years ago
Dean Camera afe6ae1402 Add host mode USB Class driver stubs, add beginnings of a CDC host class driver. 16 years ago
Dean Camera 9fdc53d765 Fix errors from last commit. 16 years ago
Dean Camera 4d3a594f3e Changed per-device controller preprocessor checks over to per-device series for better device control. 16 years ago
Dean Camera 9798440ca4 Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers. 16 years ago
Dean Camera 34f6e0dd33 Deleted Host ClassDriver demos -- not yet started, faster to rebase new ClassDriver demos from the newly schedulerless LowLevel host demos rather than re-convert each demo from the previous scheduler-based implementations. 16 years ago
Dean Camera ccf5bd19f2 Finished basic documentation of all device mode class drivers. 16 years ago
Dean Camera 1c12341cd7 Completed documentation of the HID device class driver. 16 years ago
Dean Camera bde64666fb Finished CDC device class driver documentation. 16 years ago
Dean Camera ac70ddd0a1 Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments. 16 years ago
Dean Camera 6a7c298c0f Synchronise with the 090605 release. 16 years ago
Dean Camera 3d1baa6f95 Added multiple Report ID support to the HID class driver. Removed OUT endpoint support from HID driver (all OUT reports are now processed through control requests) as a seperate endpoint had issues with determining the exact output report length. 16 years ago
Dean Camera 7665bf323e Fixed EVENT_USB_CDC_ControLineStateChanged() event not taking the CDC interface structure as a parameter. 16 years ago
Dean Camera dc42c5eb6b Added Doxygen documentation to the Audio class driver. Added new modules for each of the new device class drivers to the library documentation. 16 years ago
Dean Camera 4897ef8972 Ensure all USB device class drivers have the same three main functions as their interface for consistency. 16 years ago
Dean Camera a67bd74e3e Minor documentation page updates. 16 years ago