Commit Graph

326 Commits

Author SHA1 Message Date
Dean Camera c3dfc58707 Fix invalid Event name rule in demo/project makefiles. 2009-10-16 08:04:51 +00:00
Dean Camera e53c120a22 Fix AudioOutput and AudioInput class driver demos' descriptors -- incorrect value was being supplied in the audio descritors field giving the number of discrete audio formats the device supports. 2009-10-14 09:42:11 +00:00
Dean Camera dc68de15b6 Make Audio device demos compatible with AVRs running at 16MHz instead of 8MHz.
Fix up demo documentation device compatibility list to be as general as possible to reduce changes required as Atmel releases more devices within the same USB AVR series.
2009-10-12 05:59:55 +00:00
Dean Camera be9d0a5aa9 Added stdio.h stream examples for the virtual CDC UART in the CDC host demos.
Removed accidental reference to the incomplete MIDI class bootloader in the Bootloader folder makefile.
2009-10-11 06:14:08 +00:00
Dean Camera c7bc3ec391 Add new MIDI Host Class driver to the library, and new MIDIHost ClassDriver demo.
Make MouseHost and KeyboardHost ClassDriver demos use the HID Class driver's structures for the boot protocol Mouse/Keyboard report data, rather than rolling their own.
2009-10-08 08:46:27 +00:00
Dean Camera 664a292181 Application documentation/comment cleanup. 2009-10-08 07:18:28 +00:00
Dean Camera bdedbd558c Add new MIDIHost LowLevel demo application.
Make unfinished device mode applications use the VID/PID reserved for LUFA development devices.
2009-10-08 07:00:44 +00:00
Dean Camera 046fff2aff Fix broken Endpoint/Pipe stream templates.
Simplify AudioOutput demos, to reduce the number of cycles needed to process each incomming sample.
2009-10-04 07:57:15 +00:00
Dean Camera 433399b05d Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer samples to and from the device (allowing more time for processing and output).
Fixed ClassDriver AudioOutput demo not selecting an audio output mode.
2009-10-03 07:59:32 +00:00
Dean Camera b7eead83aa Cleanups to the Device mode Mass Storage demo applications' SCSI routines. 2009-10-02 07:40:24 +00:00
Dean Camera 2f643f6143 Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when Report protocol is not needed. 2009-09-30 08:16:42 +00:00
Dean Camera 89c837ee34 Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library.
MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs.

Added beginnings of a MIDI class bootloader.
2009-09-30 04:40:36 +00:00
Dean Camera 059ebd01a3 Fix missing semicolons in the *WithParser Host mode demos. 2009-09-29 07:21:47 +00:00
Dean Camera 512977322b Fix missing semicolons in the *WithParser Host mode demos. 2009-09-29 07:21:35 +00:00
Dean Camera fa8d25ef29 Remove old OTG demo directory with useless TestApp demo. Add new DualRole directory with new Class Driver powered Mouse dual role demonstration application showing a dual role device using the HID host/device Class drivers. 2009-09-29 07:13:42 +00:00
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). 2009-09-28 15:56:27 +00:00
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. 2009-09-24 02:05:33 +00:00
Dean Camera 573a27d90a Fix incorrect names for the HID Host protocol setting routines. 2009-09-24 01:52:57 +00:00
Dean Camera f0fcffd146 Fix more build errors in the LowLevel "WithParser" HID Host demos. 2009-09-22 10:05:17 +00:00
Dean Camera 073a58cd29 Fix broken Host ClassDriver MouseHostWithParser demo. 2009-09-22 09:52:25 +00:00
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. 2009-09-22 08:07:48 +00:00
Dean Camera 576f40f5ae Move Dataflash operational checking code out from SCSI.c into the DataflashManager.c in the Device mode Mass Storage demos. 2009-09-22 07:53:57 +00:00
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. 2009-09-21 12:23:09 +00:00
Dean Camera 3ffa7543a0 Finish initial draft of the Host Mode HID Class driver.
Add new MouseHostWithParser and KeyboardHostWithParser Host Class driver demos.
2009-09-21 10:49:06 +00:00
Dean Camera f5c645296c Added new MassStorageKeyboard Device Class Driver demo (thanks to Matthias Hullin). 2009-09-21 08:07:26 +00:00
Dean Camera 6bbd2a99c2 Fix building of KeyboardHostWithParser and MouseHostWithParser demos broken by HIDParser API changes. 2009-09-21 06:32:16 +00:00
Dean Camera 0029cb454e Fix broken KeyboardMouse ClassDriver device demo - use internal HID Class Driver structures for boot protocol reports. 2009-09-21 06:13:00 +00:00
Dean Camera 9d6a373cb6 Add const qualifiers to Host mode Class drivers.
Fix KeyboardHost ClassDriver demo; boot protocol keyboard report structure in the Host Mode HID Class driver uses the full keycode array from the attached device.
2009-09-21 06:08:39 +00:00
Dean Camera 0d5e30e69f Remove type definitions of the keyboard and mouse boot protocol report layouts from the Device Class Driver demos, as they are now located inside the class driver. 2009-09-20 12:52:35 +00:00
Dean Camera 6c5c9212d8 Add KeyboardHost HID Host Class driver demo to the library. 2009-09-20 12:46:26 +00:00
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. 2009-09-20 12:34:07 +00:00
Dean Camera 51566d1a81 Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen.
Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID.

More additions to the unfinished HID Host Class Driver.
2009-09-20 12:01:25 +00:00
Dean Camera cd0adb7574 Added support for the officially recommended layout of the external peripherals connected to the BUMBLEB board.
Added flag to the HID Host Class driver to indicate the currently selected reporting protocol.
2009-09-17 23:34:16 +00:00
Dean Camera 7c6b2019a3 Fix Mass Storage Host Class driver GetMaxLUN command - incorrect function return codes used in comparison to check for success.
Add HID Host Class driver functions to set the report protocol, add more class driver documentation.
2009-09-17 13:12:21 +00:00
Dean Camera 93b24a25df Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael from DirectAid.ca). 2009-09-13 08:29:31 +00:00
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.
Add guard to the HID Host Class driver SetProtocol command, to ensure that the device supports boot protocol mode before issuing the request.
2009-09-09 13:17:04 +00:00
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.
Add to MouseHostWithParser and KeyboardHostWithParser demos to print out the report sizes when a valid device is connected.
2009-09-09 08:34:24 +00:00
Dean Camera 331929833d Add Host mode Class driver demo summaries. 2009-09-09 04:22:49 +00:00
Dean Camera d2068d878c Finish Still Image Host class driver. 2009-09-09 04:18:37 +00:00
Dean Camera 6f993a2f75 Add link to third-party signed version of the official FLIP DFU driver for 64-bit Windows OSes to the DFU bootloader readme file.
Add HTML anchor links to URLs in the documentation to ensure that they are rendered correctly in the generated documentation.
2009-09-07 10:50:58 +00:00
Dean Camera 7882da1ed8 Remove information about 64 bit Windows OS signing requirements for the CDC based demos -- apparently the native CDC driver can be installed without first disabling the OS's driver signing requirements. 2009-09-07 08:11:17 +00:00
Dean Camera 0486f12e3e Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names are used in a project.
Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)

Fix allowable F_CPU values comment in project makefiles.
2009-09-06 05:58:40 +00:00
Dean Camera f6700c0ea5 Added 64 bit OS driver installation instructions to the readme for all CDC based projects. 2009-09-06 04:22:46 +00:00
Dean Camera 064e6a2f32 Changed Still Image Host class driver to auto-fill TransactionID element of sent headers depending on the current session state.
CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker).

The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool.
2009-09-06 04:15:35 +00:00
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.
Fix spelling of "Received" in all source files where it is misspelt "Recieved".
2009-09-02 13:08:55 +00:00
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. 2009-09-02 07:16:52 +00:00
Dean Camera ecf7c18cf2 Fixed error in PrinterHost preventing the full page data from being sent to the attached device. 2009-09-02 00:27:52 +00:00
Dean Camera 5908e28e8d Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header.
Added basic PIMA commands to the StillImage Host Class driver - need to extend to PIMA specific command functions.
2009-09-01 13:35:30 +00:00
Dean Camera bda4bd4501 Move check for devices not supporting internal serials in demos which make use of USE_INTERNAL_SERIAL to Descriptors.c from Descriptors.h so that the warning is only generated at most once per compilation. 2009-09-01 11:16:57 +00:00
Dean Camera f9f1bcc25c Oops - with new changes to the way the device Configuration Descriptor is retrieved from the device, ensure that the correct position pointer is cast when extracting descriptor parameters. 2009-08-31 08:27:48 +00:00
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. 2009-08-31 07:48:32 +00:00
Dean Camera 813e6f0318 Remove deleted source files from the Device mode Class driver demos to enable them to be built. 2009-08-30 11:42:16 +00:00
Dean Camera 3dce79d68c Added start of the Still Image Host Class driver demo and driver code.
Re-enabled building of the Host mode demos ClassDriver directory.
2009-08-30 11:36:04 +00:00
Dean Camera 0f51db56c0 Replace -finline-limit with -fno-inline-small-functions in project makefiles. 2009-08-30 06:52:03 +00:00
Dean Camera 922e60192d Condensed SCSI command functions in the LowLevel Mass Storage Host demo, to save on FLASH space.
Fixed issue in AVRISP project where the target RESET line was being toggled before it was tristated, causing problems synchronising to some targets (thanks to Mike Alex).
2009-08-27 13:12:44 +00:00
Dean Camera 754ea083d4 Fix memory corruption in Host mode Mass Storage Class driver. 2009-08-27 08:01:33 +00:00
Dean Camera 559ca2ba04 Added MS_Host_TestUnitReady() and MS_Host_ReadDeviceCapacity() to the host mode Mass Storage Class driver. 2009-08-26 08:20:55 +00:00
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. 2009-08-26 07:51:40 +00:00
Dean Camera 31d8ebebc0 Oops: Really disable building of Projects/Host/ClassDriver directory in the Projects/Host/ makefile.
Add more skeleton functions and definitions to the Mass Storage Host mode Class driver.

Made Endpoint_Write_DWord_* functions echo the structure of the matching Endpoint routines for clarity.
2009-08-26 07:34:31 +00:00
Dean Camera ee744abb7e More work on the Mass Storage Host mode Class driver.
Added  ATTR_NON_NULL_PTR_ARG() attributes to the class drivers to improve user code reliability by disallowing explicit NULL pointers as pointer parameters in function calls where the parameter must not be NULL.

Disabled building of the Demos/Host/ClassDriver directory until Host Mode Class drivers are complete to prevent build errors in the meantime.
2009-08-26 07:01:32 +00:00
Dean Camera f229502d9a Fixed AVRISP programmer demo -- can now connect to a target and read/write Sig/Lock/Fuse/OSCCAL bytes successfully.
Changed SPI_Init() to allow for the clock polarity and data sample modes to be set.

Changed Dataflash_Init() to no longer call SPI_Init() automatically.
2009-08-23 08:37:11 +00:00
Dean Camera fa8beef82d Moved out the handling of V2 Protocol parameters to a seperate set of files. Added parameter privellages, so that an error can be returned to the host when trying to perform a get/set value action on a parameter without the correct privellages. 2009-08-19 08:29:08 +00:00
Dean Camera 5d4478b3b4 Fix misspelt event name in the Class driver USBtoSerial demo, preventing correct operation. 2009-08-16 12:37:28 +00:00
Dean Camera 3a85962f94 Fix USBtoSerial device demos -- ensure the UDR1 register contents is read in under all circumstances which fire the ISR, so that the receive complete interrupt is cleared correctly to prevent freezes. 2009-08-16 10:57:47 +00:00
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. 2009-08-16 08:51:54 +00:00
Dean Camera 25ddbb9e3b Adjust endpoint polling intervals for HID demos, to make them compliant with the 10ms minimum polling period for Low Speed devices. 2009-08-13 08:26:59 +00:00
Dean Camera 99abd1a8b7 Added explicit attribute masks to the device mode demos' descriptors. 2009-08-13 08:14:16 +00:00
Dean Camera df5500e81c Added CDC_Device_Flush() command to the CDC Device mode class driver.
Minor updates to the unfinished SideShow demo for clarity.

Added unfinished MassStorageHost class driver demo.
2009-08-13 06:43:17 +00:00
Dean Camera a7ade9f28d Add CDC Host class driver EVENT_CDC_Host_ControLineStateChanged() event.
Minor documentation fixes.
2009-08-11 10:02:50 +00:00
Dean Camera c86491af8b Add new functions to the HID host class driver, refine HID interface protocol matching.
Remove stray state variable from the CDC host class driver.
2009-08-11 09:12:29 +00:00
Dean Camera a2001ac1cc Fixed swapped paremeters in the HID state memory copy call while processing a HID PUSH item in the HID report parser.
Fixed memory corruption HID report parser when too many COLLECTION or PUSH items were processed.

Make RNDIS device class driver include the CDC device class driver header, so that it can inherrit the required CDC functional descriptor macro.

Make HID host class driver include the HID report parser.
2009-08-11 08:36:25 +00:00
Dean Camera 8711dc7ced Fix issue in CDC device class driver where received data the size of the data endpoint could lock up the driver.
Further work on the new CDC and HID host mode class drivers.

Reset changelog et. al. to reset development information for the new version currently under development.
2009-08-11 01:52:15 +00:00
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.
Revert change to Template_Endpoint_Control_R.c, which broke control stream reads.

Remove uneeded ADC.h include in the class driver AudioOutput demo.
2009-08-07 06:55:31 +00:00
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.
Fix incorrect event name in MassStorageHost.c.
2009-08-07 00:27:11 +00:00
Dean Camera 33a5715e91 Simplify CDC device demos, by directly assigning the string to transmit to the pointer, rather than using an intermediatary table to hold all the possible transmit strings. 2009-08-06 14:30:53 +00:00
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.
Condense sequential printf_P/puts_P calls to single printf_P calls for size and clarity.
2009-08-06 14:22:04 +00:00
Dean Camera 99c447c754 Fixed issue in USBtoSerial demos where the USART Rx line was not having its pullup enabled at startup, leading to noise being received from the Rx pin when left floating.
Removed unused relative Common.h header include from the DriverStubs board stub drivers.

Fixed Benito programmer, use the correct LED functions where needed to ensure correct status display at all times.
2009-08-05 13:16:36 +00:00
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.
Fix corruption in Device RNDIS demos TCP stack when too many connections attempted simultaneously, freezing the device when a page was re-fetched before the first connection was closed.

Fix incorrect model compatibility information in the Host LowLevel demo overview text files.
2009-08-05 11:39:28 +00:00
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. 2009-08-05 09:37:45 +00:00
Dean Camera 042d3288ad Fix incorrect Event call name in USBInterrupt.c. 2009-08-05 07:18:08 +00:00
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.
Remove VBUS events - not needed as the library takes care of VBUS detection and feedback on supported AVRs via the USB_Device_Connected and USB_Device_Disconnected events.

Fixed incorrect Host state assignment in the incomplete BluetoothHost demo.
2009-08-05 06:36:31 +00:00
Dean Camera 357ccc577b Better fix for LowLevel CDC demo issue where sending data before the line encoding is set will cause a failure of the host to open the port. Added fix to the DualCDC and USBtoSerial LowLevel demos. 2009-08-04 08:36:30 +00:00
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. 2009-08-04 08:06:26 +00:00
Dean Camera ab2ae13d81 Fix build error in TestApp demo caused by previous commit. 2009-08-02 23:17:47 +00:00
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. 2009-08-02 23:14:30 +00:00
Dean Camera bbf89d81fa Make both LowLevel and ClassDriver AudioOutput demos always output to board LEDs, regardless of output mode (removed AUDIO_OUT_LEDS compile time option from the demo). This allows for positive feedback to the user of audio activity regardless of output mode. 2009-08-02 11:43:16 +00:00
Dean Camera ac593611c9 Fixed the ClassDriver GenericHID demo so that it echoes back reports as indicated in the demo overview. 2009-07-31 03:35:24 +00:00
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.). 2009-07-31 03:22:08 +00:00
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. 2009-07-30 14:59:57 +00:00
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. 2009-07-30 14:35:42 +00:00
Dean Camera ec079c71d8 Minor cleanups to DualCDC ClassDriver device demo for clarity. 2009-07-30 14:12:00 +00:00
Dean Camera 41babf1cb7 Fix incorrect configuration in the ClassDriver AudioOutput demo.
Make all audio device Class Driver functions require a reference to the Audio class instance, so that the endpoint size can be checked (and to standardize the APIs).

Make LEDs more responsive in the AudioOutput device demos.
2009-07-30 14:06:52 +00:00
Dean Camera 41b54a2acd Set all CDC and MassStorage device mode demos (LowLevel and ClassDriver) to use the USE_INTERNAL_SERIAL feature, add compile time warnings for devices which do not have an internal serial. 2009-07-30 11:03:58 +00:00
Dean Camera ce3ea6fb25 Added standard stream example to the ClassDriver CDC device demo.
Fix incorrect HWB button mask in the STK526 Buttons driver.
2009-07-30 10:54:57 +00:00
Dean Camera 5ca1d7bf8f Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does not support USB host mode. 2009-07-30 07:45:36 +00:00
Dean Camera bb05712efe Added 404 errors to the RNDIS Webserver example. 2009-07-29 01:40:42 +00:00
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.
Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered.
2009-07-28 15:14:54 +00:00
Dean Camera 3472af91a5 Change project makefiles so that the current target settings and not just the board selection is printed during the build process.
Fix warning in AudioOutput demos when AUDIO_OUT_STEREO output mode is selected.
2009-07-28 13:53:52 +00:00
Dean Camera 23c1653efe Make LowLevel AudioOutput demo work in the same way as the ClassDriver AudioOutput demo for LEDs output. 2009-07-28 10:49:33 +00:00
Dean Camera 61ff4824a9 Changed AudioOutput demos to explicitly use timer 3 - the smaller USB AVRs where timer 1 was needed instead did not have the endpoint size neccesary for good audio throughput anyway.
Fix Benito documentation indicating erronously that the project used the HID USB class instead of the CDC class.
2009-07-28 10:46:20 +00:00