Commit Graph

77 Commits

Author SHA1 Message Date
Dean Camera 7eb4eb7cdd Fix all device mode demos broken in the recent API changes.
Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced.
2009-05-26 04:46:35 +00:00
Dean Camera b7ef7f49c9 Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure. 2009-05-22 06:17:57 +00:00
Dean Camera d0806c817c Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs. 2009-05-22 05:23:00 +00:00
Dean Camera b3a4d8512b Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill). 2009-05-20 14:50:26 +00:00
Dean Camera 4a8ac5e474 USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed.
Minor documentation improvements.
2009-05-19 10:33:29 +00:00
Dean Camera 2ee9fc7077 Rewritten event system to remove all macros, to make user code clearer.
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley).

Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code.

Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code.
2009-05-18 10:05:21 +00:00
Dean Camera 72c2922e38 Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code. 2009-05-17 07:44:00 +00:00
Dean Camera eeba38e343 Create a new function pointer type in StreamCallbacks.h for endpoint/pipe stream callbacks, to make stream function prototypes clearer. 2009-05-15 12:27:32 +00:00
Dean Camera 76d5e99bb8 Fix to previous patch (make CDCHost demo deallocate pipes when an invalid CDC interface is skipped).
Remove the saving of the USB_GetNextDescriptorComp() return value in all host demos, since it went unused anyway; replaced with a simple check against the success error code for clarity.
2009-05-15 08:02:30 +00:00
Dean Camera fabfdd454a Fixed CDCHost not clearing configured endpoints and resetting configured endpoints mask when a partially enumerated invalid CDC interface is skipped. 2009-05-15 07:38:35 +00:00
Dean Camera 32f0f605ef Removed all user pipe/endpoint interrupt APIs, added internal library support for interrupt driven control endpoints when in device mode by defining INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch. 2009-05-14 10:07:08 +00:00
Dean Camera 0d5baf9bb3 Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman). 2009-05-13 22:40:08 +00:00
Dean Camera 958a1b4e2b Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman).
Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues.
2009-05-12 08:28:02 +00:00
Dean Camera ea74397095 Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled. 2009-05-11 08:58:53 +00:00
Dean Camera e0985b9950 Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data.
Fixed documentation showing incorrect USB mode support on the supported AVRs list.
2009-05-11 07:52:13 +00:00
Dean Camera c7aceb2c7f Serial driver now correctly calculates the baud register value when in double speed mode.
Init function of the Serial driver is now static inline to product smaller code for the common-case of static init.
2009-05-07 11:12:23 +00:00
Dean Camera 63a8f66d92 Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button. 2009-05-06 07:50:34 +00:00
Dean Camera f11f69fd29 Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code, changed LED board driver code to define dummy LED masks for the first four board LEDs so that user code can be compiled for boards with less than four LEDs without code modifications (thanks to Morten Lund). 2009-05-05 14:02:02 +00:00
Dean Camera 253deb996f Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given wLength value when reading in the device descriptor.
Further documentation improvements - removed file view from the main library documentation, replaced file references in the documentation with group references.
2009-05-04 12:55:00 +00:00
Dean Camera 0137001ea9 Fixed naming of OTG.h functions, to make them consistent with the rest of the library API. 2009-05-03 14:24:34 +00:00
Dean Camera 01c4bef107 More minor renaming of library enums and events to try to create a consistent API. 2009-05-03 14:17:24 +00:00
Dean Camera 13935a31b9 Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke). 2009-05-02 05:49:15 +00:00
Dean Camera 58e42c6ca9 Fixed SPI driver init function not clearing SPI2X bit when not needed.
Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex).

Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus().
2009-04-26 10:29:59 +00:00
Dean Camera a504a3a010 Endpoint configuration is now refined to give better output when all configurations have static inputs - removed the now useless STATIC_ENDPOINT_CONFIGURATION compile time token. 2009-04-24 07:28:51 +00:00
Dean Camera c20a94a4e8 Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled).
Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE.
2009-04-23 13:28:12 +00:00
Dean Camera d860e9e842 USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application.
The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure.

The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent.
2009-04-22 13:03:11 +00:00
Dean Camera e5e7eaee7a Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints). 2009-04-21 06:05:50 +00:00
Dean Camera 37b2130fb2 Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander). 2009-04-20 11:21:36 +00:00
Dean Camera 619b0b7b6b Spell checked non-source documentation pages. 2009-04-19 14:29:57 +00:00
Dean Camera 663f449c10 Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman).
Capitolised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and DSearch_Comp_Return_ErrorCodes_t enums.

Minor documentation improvements.
2009-04-19 11:43:21 +00:00
Dean Camera 32e735b2b2 Removed "Host_" section of the function names in ConfigDescriptor.h, as most of the routines can now be used in device mode on the device descriptor.
Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name.

Further module-level documentation updates.
2009-04-17 08:33:53 +00:00
Dean Camera 6380d057f8 Fixed CDC and USBtoSerial demos freezing where buffers were full while still transmitting or receiving (thanks to Peter Hand). 2009-04-17 04:10:30 +00:00
Dean Camera 11bb2f2172 Renamed Serial_Stream driver to SerialStream to remain consistent with the rest of the library's naming scheme for files. 2009-04-17 00:20:00 +00:00
Dean Camera 1c16ae399a Partial commit: change references to Drivers/AT90USBXXX to Drivers/Peripheral. 2009-04-16 23:59:14 +00:00
Dean Camera 8f6b4ddf76 Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev).
Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favour of new Endpoint_ClearIN(), Endpoint_ClearOUT(), Endpoint_ClearControlIN(), Endpoint_ClearControlOUT(), Pipe_ClearIN(), Pipe_ClearOUT(), Pipe_ClearControlIN() and Pipe_ClearControlOUT() macros (done to allow for the detection of packets of zero length).

Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API.

Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe bank management API.

Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel).

Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity.

Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity.

Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway.
2009-04-16 08:50:34 +00:00
Dean Camera ef06bfd1c0 Fixed minor issue with the RNDISEthernet demo DHCP protocol decoder routine using incorrectly named variables (thanks to Jonathan Oakley).
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei).
2009-04-15 00:56:12 +00:00
Dean Camera ecaf872177 Corrected AudioInput and AudioOutput demos, to fix endpoint underflows due to rounding in the sample reload timer. 2009-04-14 12:07:41 +00:00
Dean Camera 6a5a37d7d1 The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0), so that other control type pipes can be used with the function.
The USB Host management task now saves and restores the currently selected pipe before and after the task completes.
2009-04-14 08:35:47 +00:00
Dean Camera fea5d08512 Adjusted sample CTC timer calculations in the AudioOutput and AudioInput demos to account for situations where the division results in a value with no remainder, requiring one to be subtracted from the result (thanks to Robin Theunis). 2009-04-14 08:17:24 +00:00
Dean Camera af02b5b0c9 Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan).
Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint.
2009-04-13 06:58:46 +00:00
Dean Camera d3484e6bdd Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen). 2009-04-09 00:00:59 +00:00
Dean Camera 51910b4505 Added support to the CDCHost demo for devices with mutiple CDC interfaces which are not the correct ACM type preceeding the desired ACM CDC interface. 2009-04-07 11:46:54 +00:00
Dean Camera cb7884da50 Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to outdated avr-libc versions. 2009-04-07 04:19:57 +00:00
Dean Camera 557a945ba1 Removed all binary constants and replaced with decimal or hexadecimal constants so that unpatched GCC compilers can still build the code without having to be itself patched and recompiled first. 2009-04-05 07:00:11 +00:00
Dean Camera 7d4cccc22d Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB driver directory to the HighLevel USB driver directory, where they are more suited. 2009-04-05 06:27:49 +00:00
Dean Camera 01d388f293 Add call to MassStore_WaitForDataReceived() in MassStore_GetReturnedStatus() to ensure that the CSW has been received in the extended MSC timeout period before continuing, to prevent long processing delays from causing the MassStore_GetReturnedStatus() to early-abort. 2009-04-05 04:05:07 +00:00
Dean Camera 58f550dfb3 Added new PIMA_DATA_SIZE() define to the Still Image Host demo. 2009-04-02 10:13:12 +00:00
Dean Camera 6933f2e1a5 All comments in the library, bootloaders, demos and projects have now been spell-checked and spelling mistakes/typos corrected. 2009-04-01 13:53:58 +00:00
Dean Camera ece9e3d599 Changed GenericHID device demo to use the LUFA scheduler, added INTERRUPT_DATA_ENDPOINT and INTERRUPT_CONTROL_ENDPOINT compile time options. 2009-04-01 07:43:50 +00:00
Dean Camera 6198289b38 Added new GenericHIDHost demo.
Corrections to the KeyboardHost and MouseHost demos' pipe handling to freeze and unfreeze the data pipes at the point of use.
2009-04-01 07:21:45 +00:00