Commit Graph

96 Commits (19ecd04f37f68c0674f1194aa8d8a4fc94d6168b)

Author SHA1 Message Date
Dean Camera 09bedd6555 Added return values to the CDC and MIDI class driver transmit functions.
15 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.
15 years ago
Dean Camera df5500e81c Added CDC_Device_Flush() command to the CDC Device mode class driver.
15 years ago
Dean Camera df29aa37c0 Added flag to the HID report parser to indicate if a device has multiple reports.
15 years ago
Dean Camera a7ade9f28d Add CDC Host class driver EVENT_CDC_Host_ControLineStateChanged() event.
15 years ago
Dean Camera abc7dce10c Document CDC Host class driver functions and enums.
15 years ago
Dean Camera f4814771d2 Completion of initial CDC host mode class driver.
15 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.
15 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.
15 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.
15 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.
15 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.
15 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.).
15 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.
15 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.
15 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.
15 years ago
Dean Camera 41babf1cb7 Fix incorrect configuration in the ClassDriver AudioOutput demo.
15 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.
15 years ago
Dean Camera e071f3897a Added new USB_DeviceState variable to keep track of the current Device mode USB state.
15 years ago
Dean Camera d0db78432f Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host.
15 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.
15 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).
15 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.
15 years ago
Dean Camera da138684e4 Added module file dependancy information to the USB class drivers.
15 years ago
Dean Camera f1076ac4d6 Added const modifiers to device mode class drivers.
15 years ago
Dean Camera 3cbdcd3686 Reduce struct name pollution - group typedef struct names by class driver name where appropriate.
15 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.
15 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.
15 years ago
Dean Camera 35bdada24b Clean up RNDIS demo type define names.
15 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.
15 years ago
Dean Camera b7049da11b Enhanced class drivers to use the same public/private section seperations as other portions of the library.
15 years ago
Dean Camera afe6ae1402 Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.
15 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 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
Dean Camera 7c5444b89a Removed new Start of Frame event from the library; performance suffered far too much and it was only useful in one of the standard classes (HID). Altered HID demos to use the previous method of tracking millisecond periods via a hardware timer rather than the SOF events.
16 years ago
Dean Camera 74b7c07e96 Add MIDI class driver, update MIDI device demo to use the new USB class driver. All device demos/projects have now been converted to the new library class drivers, although documentation is yet to be completed.
16 years ago
Dean Camera d1e5266036 Commit of new class abstraction APIs for all device demos other than the MIDI demo - not documented yet.
16 years ago