Dean Camera
55aadf97d5
Replace blind interface descriptor search in the incomplete AndroidAccessoryHost demo with an intelligent search for the correct interface in the device matching the correct class/subclass/protocol values.
2011-07-10 07:15:57 +00:00
Dean Camera
d9c16402b9
Add missing device deconfiguration-on-error statements to the host mode demos and projects.
2011-07-08 07:56:40 +00:00
Dean Camera
137ce280c1
Updated all host mode demos and projects to use the EVENT_USB_Host_DeviceEnumerationComplete() event callback for device configuration instead of manual host state machine manipulations in the main application task.
...
Added new USB_Host_ConfigurationNumber global variable to indicate the selected configuration in an attached device.
Renamed global state variables that are specific to a certain USB mode to clearly indicate which mode the variable relates to, by changing the USB_* prefix to USB_Device_* or USB_Host_*.
Removed the HOST_STATE_WaitForDeviceRemoval and HOST_STATE_Suspended host state machine states, as these are no longer required.
Altered the USB_Host_SetDeviceConfiguration() function to update the new USB_Host_ConfigurationNumber global as required.
Moved out the Host mode standard request convenience/helper functions from the architecture specific Host driver files to the architecture agnostic HostStandardReq.c driver file.
2011-07-08 07:25:56 +00:00
Dean Camera
b775995867
Oops: Fix compile error in the low level KeyboardMouse demo.
2011-07-02 08:40:52 +00:00
Dean Camera
04660d3793
Seperate out the device demos and project's configuration descriptor structure definitions to clearly indicate what descriptors belong to which interface.
2011-07-01 05:26:25 +00:00
Dean Camera
5a580c6854
Pull out Android Accessory Mode functions into a seperate set of files in the incomplete Android Accessory Mode Host demo. Improve Android Accessory Mode protocol support to correctly query the device's supported protocol and send the approriate device information strings.
2011-06-30 09:44:37 +00:00
Dean Camera
75da0d1877
Update AudioInput and AudioOutput Class Driver device mode demos to use a switch statement when selecting the audio request type for clarity.
2011-06-29 05:36:26 +00:00
Dean Camera
dee4bc0973
Fix logic bug in the incomplete Android Accessory Host demo preventing correct detection of an attached Android Accessory Mode device.
2011-06-27 05:57:25 +00:00
Dean Camera
84ddf237db
Oops - Mouse ClassDriver multi-arch demo changes were applied to trunk, rather than the correct branch.
2011-06-20 15:06:17 +00:00
Dean Camera
3bd36f811c
Update Mouse demo to support the UC3 devices in the MultiArchDemos branch.
2011-06-20 14:46:09 +00:00
Dean Camera
ca9f89ce82
Add new "checksource" target to the library makefiles, for automated source file existance checking.
2011-06-20 14:38:21 +00:00
Dean Camera
6599238dab
Remove HID parser information output from the Low Level Host applications using the HID Report parser to simplify them, as this information can now be obtained using the new HIDReportViewer project when required.
2011-06-20 01:39:03 +00:00
Dean Camera
0ec2b55a7c
Add missing SVN eol-style properties to source files to prevent mixed end-of-line characters.
2011-06-16 12:18:46 +00:00
Dean Camera
d8fe01f19a
Rename new Audio class driver functions, callbacks and events to ensure that they contain the USB mode (Device or Host) in the function names.
2011-06-16 06:49:08 +00:00
Dean Camera
57eedebd19
Fix Doxygen documentation errors.
2011-06-14 12:55:32 +00:00
Dean Camera
deaab90089
Ensure that only the requested Audio class pipes are mapped to endpoints within the device for a specific Audio Host Class driver instance.
...
Fix const-correctness of the Audio Host Class driver.
2011-06-13 00:19:40 +00:00
Dean Camera
6e0a26083a
Fix bugs in the Host mode Audio class driver.
2011-06-12 13:59:03 +00:00
Dean Camera
1191da7b7b
Add missing AS4 and project description files to the new Audio Host demos.
...
Correct errors in the existing Audio demo description files due to the new demo features (variable sampling rate vs. a fixed sampling rate).
2011-06-09 04:23:19 +00:00
Dean Camera
1f1d0710f3
Add new Audio Class Driver Host demos.
...
Fix errors in the new Audio Host mode Class Driver, which would have prevented data from being sent or received properly by the device.
Add microphone/square wave generation compile time switch to the Low Level AudioOutput Host demo.
2011-06-09 04:08:03 +00:00
Dean Camera
567f7ecce0
Fix errors in the Audio device demos and class driver regarding multiple sample frequency support.
2011-06-07 02:05:19 +00:00
Dean Camera
2d778a3ff5
Add additional support files for the new low level AudioInputHost and AudioOutputHost demos.
2011-06-06 09:57:38 +00:00
Dean Camera
85f39a58c5
Move completed low level Audio Host demos into the LowLevel folder from the Incomplete folder.
2011-06-06 09:51:54 +00:00
Dean Camera
2da2b2d9fb
Update incomplete Host mode Audio demos to use the correct class driver Endpoint Sampling Frequency Control value constant.
2011-06-06 09:45:41 +00:00
Dean Camera
1a25b6f5f1
Update the Low Level Audio Input and Audio Output demos to support multiple sample rates.
...
Remove custom PIDs on the Class Driver Audio device demos and revert back to the original Audio PIDs, as the low level and class driver demo versions are now descriptor compatible once again.
2011-06-06 09:43:09 +00:00
Dean Camera
7dffa15c16
Massive corrections to the project documentation and code comments, thanks to Russian translation services provided by Andrey from Microsin.ru.
2011-06-05 13:55:56 +00:00
Dean Camera
0210fa5648
Fixed compile errors in the incomplete BluetoothHost demo application (thanks to Timo Lindfors).
2011-06-05 12:21:52 +00:00
Dean Camera
2731c3a8ae
Added new callback to the Audio Class driver to allow for endpoint control manipulations such as data sample rates.
...
Modified the Class Driver AudioInput and AudioOutput demos to support multiple sample rates.
Fixed KeyboardHost and KeyboardHostWithParser demos displaying incorrect values when numerical keys were pressed.
Fix broken LowLevel audio demo descriptors.
Minor documentation fixes.
2011-06-03 07:56:12 +00:00
Dean Camera
f01a05415c
Spell check library source code files.
2011-06-01 14:33:40 +00:00
Dean Camera
6d2a08f1b7
Fixed incorrect signature in the CDC and DFU class bootloaders for the ATMEGA8U2.
...
Minor documentation cleanups.
Modify the incomplete AudioInputHost demo for mono audio output.
2011-06-01 14:10:35 +00:00
Dean Camera
68468e0aea
Added new incomplete AudioOutputHost Host LowLevel demo.
2011-05-30 11:36:21 +00:00
Dean Camera
2a26efc691
Altered the definition of the USB_Audio_Descriptor_Format_t descriptor so that the user is now responsible for supplying the supported audio sampling rates, to allow for multiple audio interfaces with different numbers of supported rates and/or continuous sample rates.
2011-05-30 11:07:57 +00:00
Dean Camera
78cfaac9b4
Remove output files from the incomplete AudioInputHost demo, and improve the logic in the ConfigDescriptor.c device configuration processing routine.
2011-05-30 09:37:31 +00:00
Dean Camera
ea922c98d1
Added new incomplete AudioInputHost Host LowLevel demo.
...
Added missing Audio class control request definitions.
Added support for the Audio class GET STATUS request so that it is correctly ACKed when sent by the host.
2011-05-29 12:41:14 +00:00
Dean Camera
cc9b190919
Add new USB_Host_SetInterfaceAltSetting() convenience function.
2011-05-27 07:33:58 +00:00
Dean Camera
f0ff633962
Lower the size of the HID report endpoint from 16 bytes to 8 bytes, to allow for Low Speed USB compatibility in the KeyboardMouseMultiReport demo (thanks to Kevin Chernoff).
2011-05-26 10:24:47 +00:00
Dean Camera
24ea531fab
Update MediaController project to remove the Record usage (not often needed) and explicitly declare each usage for maximum clarity.
2011-05-23 13:19:13 +00:00
Dean Camera
3cba88e4c0
Add RNDIS Device support to the Webserver project, so that the files stored on the device can be viewed from a web-browser while the board is plugged into a host machine.
2011-05-22 08:28:40 +00:00
Dean Camera
9d733d44b4
Add new RNDIS_Host_IsPacketReceived(), RNDIS_Device_ReadPacket() and RNDIS_Device_WritePacket() functions to the Device RNDIS Class Driver.
...
Modify RNDIS demos to suit the simplified Ethernet_Frame_Info_t structure.
2011-05-18 14:33:34 +00:00
Dean Camera
049e930963
Fixed possible invalid program execution when in host mode if corrupt descriptor lengths are supplied by the attached device.
...
Minor code cleanups to add const and reformat where missing, as well as abstract out the internal device signature start address into a macro, so that it can be altered to suit particular devices within a single architecture if needed.
Add missing documentation to the USB_Device_States_t enum.
2011-05-14 02:17:58 +00:00
Dean Camera
78e58b6d1c
Add incomplete Android Accessory Host LowLevel demo.
2011-05-13 00:17:06 +00:00
Dean Camera
852b5e612d
Remove redundant type information for bitfield elements, other than the signed/unsignedness of the element.
...
Change type of USB_SelectedPipe and USB_SelectedEndpoint for the AVR32 UC3 architecture to uint32_t to reduce the compiled code size.
2011-04-10 06:43:02 +00:00
Dean Camera
899df7d331
Renamed all low level Endpoint_Read_*, Endpoint_Write_* and Endpoint_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
...
Renamed all low level Pipe_Read_*, Pipe_Write_* and Pipe_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
2011-04-04 12:52:30 +00:00
Dean Camera
8f5ab27dc9
Use the MIN() macro where possible instead of manual "(x < y) ? x : y" constructs.
2011-03-23 09:26:41 +00:00
Dean Camera
aba7932a5c
F_CLOCK changed to F_USB to be more descriptive, and applicable on future architecture ports.
2011-03-21 10:20:42 +00:00
Dean Camera
f6f4ac588c
Fix bugs in the new VirtualSerialMassStorage demo (thanks to Martin Degelsegger).
2011-03-16 22:54:31 +00:00
Dean Camera
fe62770a1e
Added new VirtualSerialMassStorage Device Class Driver demo.
2011-03-16 05:58:58 +00:00
Dean Camera
8b13f7f89a
Endpoint_ResetFIFO() renamed to Endpoint_ResetEndpoint(), to be consistent with the Pipe_ResetPipe() function name.
...
Fix undefined error in Pipe_UC3B.h.
Add missing migration notes.
2011-03-05 16:30:57 +00:00
Dean Camera
3d4d8e7f62
Add new ARCH option to the makefiles to (eventually) specify the target device architecture. Update non-usb peripheral drivers to reflect future multiple architecture support.
2011-02-19 18:37:22 +00:00
Dean Camera
782614dbb5
Add static keyword to all project globals whose scope should be restricted to the same module as they are declared in.
...
Tighten up the HID class bootloader code slightly, document that it currently exceeds 2KB of bootloader space for all models other than the Series 2 USB AVRs.
2011-02-10 17:55:49 +00:00
Dean Camera
5430e1973c
Add missing svn:eol-style properties to the new KeyboardMouseMultiReport demo.
2011-02-09 18:22:17 +00:00
Dean Camera
5995c3f880
Oops - fix missing constants in the TempDataLogger FatFS diskio.h header file.
...
Add const to all project descriptor definitions for safety.
2011-02-06 18:03:29 +00:00
Dean Camera
b1d7568651
Fix incorrect #include filenames in the RNDIS demos.
2011-02-06 12:18:41 +00:00
Dean Camera
43b9d552bb
Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable().
2011-01-30 23:12:06 +00:00
Dean Camera
9051d3beb0
Oops - fix up some calls to the old function names, include Serial Peripheral driver in the RNDISEthernetHost project.
2011-01-30 22:42:24 +00:00
Dean Camera
43c4735305
Renamed the PRNT_Host_SendString(), CDC_Host_SendString() and CDC_Device_SendString() functions to *_SendData(), and added new versions of the *_SendString() routines that expect a null terminated string instead.
...
Added new Serial_SendData() function to the Serial driver.
2011-01-30 21:02:31 +00:00
Dean Camera
afd828c095
Removed SerialStream module, rolled functionality into the base USART Serial peripheral driver instead through the new Serial_CreateStream() and Serial_CreateBlockingStream() methods.
...
Renamed the Serial byte send/receive functions to remain consistent with the CDC driver's byte functions.
Altered the serial byte receive function to make it non-blocking.
2011-01-30 19:47:31 +00:00
Dean Camera
30f6d2bfd8
Oops - forgot to add in LOGICAL MINIMUM and LOGICAL MAXIMUM report items into the standard library Joystick HID report descriptor macro. Add in support for joystick resolution reporting via PHYSICAL_MINIMUM and PHYSICAL_MAXIMUM items.
2011-01-30 14:40:24 +00:00
Dean Camera
e6dc951630
Add new HID_DESCRIPTOR_VENDOR() macro, change over all projects and Device ClassDriver demos to use it.
...
Fix reversed byte ordering of multi-byte HID data.
Added support to the HID parser for extended USAGE items that contain the usage page as well as the usage index.
Removed the HID_IOF_NON_VOLATILE and HID_IOF_VOLATILE flags from HID INPUT items where the flag is invalid. Changed over HID OUTPUT items to use HID_IOF_NON_VOLATILE.
Change over MagStripe project to use HID_DESCRIPTOR_KEYBOARD() for its HID report. Change over MouseHostDevice demo to use HID_DESCRIPTOR_MOUSE() for its HID report.
2011-01-30 14:14:04 +00:00
Dean Camera
a852ea8e43
Added new KeyboardMouseMultiReport Device ClassDriver demo.
...
Fixed ReportID not being removed from the feature/out report data array in the HID class driver when Report IDs are used.
Added new MAX() and MIN() convenience macros.
2011-01-26 21:33:07 +00:00
Dean Camera
6c7ed7ecd6
Added new HID_DESCRIPTOR_MOUSE, HID_DESCRIPTOR_KEYBOARD and HID_DESCRIPTOR_JOYSTICK macros for easy automatic creation of basic USB HID device reports.
2011-01-23 20:02:51 +00:00
Dean Camera
6d67b1df3c
Change over Joystick demo HID report descriptor to use USAGE_MINIMUM and USAGE_MAXIMUM when describing the joystick buttons, to allow for easy extension of the number of supported buttons.
2011-01-23 17:41:16 +00:00
Dean Camera
efd57cfe51
Abuse the the C preprocessor so that the HID macros can automatically encode data into the array from the HID macros automagically, by specifying the bit-width of the data, and the data itself as a single integer value of that width.
2011-01-17 19:44:48 +00:00
Dean Camera
039a714ee4
New HID report item macros (with HID_RI_ prefix) to allow for easy creation and editing of HID report descriptors.
...
Changed over all project and demo HID report descriptors to use the new HID report item macros.
Moved the HIDParser.c source file to the LUFA/Drivers/USB/Class/Common/ directory from the LUFA/Drivers/USB/Class/Host/.
2011-01-16 19:34:28 +00:00
Dean Camera
70d55f6e0c
Added new high level TWI packet read/write commands, altered behaviour of the TWI_StartTransmission() function.
...
Spell check source code files.
2011-01-13 22:56:49 +00:00
Dean Camera
187ccb2e15
Fix typos and outdated information.
2011-01-10 21:53:38 +00:00
Dean Camera
f555ad7ced
Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction should be performed in one chunk).
...
Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.
Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.
Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
2011-01-10 18:43:34 +00:00
Dean Camera
1d433d4506
Update copyright year on all source files.
2011-01-01 13:00:56 +00:00
Dean Camera
a8b66f318d
Documentation improvements - put driver example code into its own section, fix incorrect and missing section names.
2010-12-26 14:55:26 +00:00
Dean Camera
a57287a59f
Fix a few more incorrectly ordered endpoint initialisations in the device demos.
2010-12-17 20:26:14 +00:00
Dean Camera
cbafc306b2
Fixed incorrect endpoint initialisation order in the LowLevel DualVirtualSerial demo (thanks to Rick Drolet).
2010-12-17 19:54:03 +00:00
Dean Camera
c879887dce
Fixed broken HID_REQ_GetReport request handler in the Low Level GenericHID demo.
2010-11-29 03:01:31 +00:00
Dean Camera
9f7883fa2b
Added ability to write protect Mass Storage disk write operations from the host OS.
2010-11-26 04:16:47 +00:00
Dean Camera
c43605612d
Lower bulk endpoint polling rate in the descriptors to the lowest possible value to give maximum throughput.
2010-11-22 05:24:33 +00:00
Dean Camera
50390867e7
Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics).
2010-11-10 12:38:25 +00:00
Dean Camera
0ce2950d81
Added board hardware driver support for the Adafruit U4 breakout board.
...
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.
Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
2010-11-08 03:41:48 +00:00
Dean Camera
fb76acb084
Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards.
2010-11-05 05:15:20 +00:00
Dean Camera
99a9e415ef
Loop in the ClassDriver MIDI device/host demos until there are no more incomming events to process. Only clear the endpoint/pipe bank in the LowLevel MIDI device/host demos when the endpoint is empty after an event read.
2010-11-05 03:43:11 +00:00
Dean Camera
5ce8380a7d
Fix XPLAINBridge code broken during the changes to the Rescue Clock generation in the AVRISP-MKII clone project.
...
Change over all low level host mode project's descriptor comparator routines to perform the descriptor casting in a temp variable to make the code clearer and easier to modify (despite being more verbose).
2010-11-02 11:16:36 +00:00
Dean Camera
b8dfa976ce
Added standard keyboard HID report scancode defines (thanks to László Monda).
2010-10-28 23:11:49 +00:00
Dean Camera
cb779e3d7d
Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists.
2010-10-28 06:08:58 +00:00
Dean Camera
08de757811
Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer.
2010-10-26 06:52:09 +00:00
Dean Camera
55538dcef3
Add descriptor class, subclass and protocol constants to the class drivers, modify all demos to use them where possible.
...
Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos.
Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
2010-10-25 12:42:55 +00:00
Dean Camera
b37d77eab3
All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
...
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
2010-10-24 22:53:57 +00:00
Dean Camera
bd337aced3
Added default test tone generation mode to the Device mode AudioInput demos.
2010-10-20 07:39:11 +00:00
Dean Camera
911170bf0b
Add missing ENDPOINT_ATTR_NO_SYNC and ENDPOINT_USAGE_DATA attributes to the descriptors in the ClassDriver MassStorageKeyboard demo.
2010-10-13 21:10:48 +00:00
Dean Camera
3661ae8dfb
Minor documentation corrections.
2010-10-13 14:10:24 +00:00
Dean Camera
5a4def7478
Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda
2010-10-13 14:05:35 +00:00
Dean Camera
7aaced1e8b
Remove USB_MODE_* macros, replace with a semantically linked USB_Modes_t enum.
...
Moved the USB device selection logic for ENDPOINT_TOTAL_ENDPOINTS further up in Endpoint.h to where the endpoint bank capabilities are determined, to reduce the total number of device-specific logic.
Change USB_Host_WaitMS() to test and disable the HSOFI interrupt before resuming the bus, so that it does not fire before the delay loop has run.
Add missing const qualifier to the parameter of USB_Host_ClearPipeStall().
2010-10-12 12:22:11 +00:00
Dean Camera
f78b3eb4ef
Remove MIDI ClassDriver device demo's accidental inclusion of the unused ADC peripheral driver header file.
2010-10-10 06:32:48 +00:00
Dean Camera
c8942ef469
Fixed LowLevel JoystickHostWithParser demo not saving the chosen HID interface's report descriptor size.
...
Simplified low level Host demo configuration descriptor parser routines.
2010-10-01 12:01:54 +00:00
Dean Camera
d36c96d6a5
Oops - revert changes to the Device mode Class Driver VirtualSerial demo makefile.
2010-10-01 11:22:54 +00:00
Dean Camera
d06febbb59
Fix device mode for the U4 parts.
2010-10-01 11:22:24 +00:00
Dean Camera
86367574e6
Fix incorrectly named configuration descriptor callback routines in the host mode class drivers.
...
Fix typo in MIDI low level device demo.
2010-09-30 08:07:29 +00:00
Dean Camera
7166c7ba3e
Fix low level host mode demos not correctly fetching the next endpoint when an invalid interface is discarded.
...
Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
2010-09-30 07:56:47 +00:00
Dean Camera
158afe9109
Reverted Endpoint/Pipe non-sequential configuration hack, placed restriction on the configuration order instead to ensure maximum reliability.
...
Altered all low level device and host mode demos to ensure that endpoints and pipes are configured in ascending order properly.
Rewrote all low level host mode demos' configuration descriptor parser code to ensure that pipes are enumerated in ascending order, and to ensure maximum compatibility with devices.
Incremented all device mode demo's device descriptor revision numbers to ensure that any descriptor changes are re-fetched on machines which have enumerated previous versions.
2010-09-30 06:23:38 +00:00
Dean Camera
c0e4f52e8f
Fix up incorrect version numbers in demo/project descriptors.
...
Add class name prefixes to missed constants in the class drivers to give all class driver elements a consistent namespace.
2010-09-28 14:59:16 +00:00
Dean Camera
b2a30cd48a
Added CDC functional descriptor structs to the Low Level CDC demos and CDC class bootloader, to improve the readability of the descriptors.
...
Fixed BootloaderCDC project failing on some operating systems due to removed Line Encoding options (thanks to Alexey Belyaev).
2010-09-28 13:27:19 +00:00
Dean Camera
713670043a
Move out many of the common class driver constants into grouped enums, to make them more managable.
...
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.
Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
2010-09-28 12:14:06 +00:00
Dean Camera
800485bd95
Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions.
2010-09-24 06:59:28 +00:00
Dean Camera
bd85422d2b
Added the --suppress-bootloader-mem option to the makefile dfu target, to ensure that writes to the bootloader section of the AVR's flash memory are ignored (thanks to Axel Rohde).
...
Fixed incorrect command name for EEPROM memory programming in the makefile dfu-ee target.
Makefile whitespace fixes.
2010-09-24 06:45:11 +00:00