Commit Graph

326 Commits

Author SHA1 Message Date
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
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. 2009-07-27 23:19:17 +00:00
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. 2009-07-27 10:55:21 +00:00
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. 2009-07-27 10:48:55 +00:00
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. 2009-07-27 10:31:07 +00:00
Dean Camera 05fa6e0c43 Corrected new Pipe_IsEndpointBound() function.
Completed host CDC class driver enumeration code.
2009-07-26 10:45:33 +00:00
Dean Camera 200821fe82 Added new LEDs_ToggleLEDs() function to the Board LEDs driver. 2009-07-24 01:44:01 +00:00
Dean Camera a6e85d6ed8 Added new Benito project, a simple modified USB-to-Serial bridge for the programming of AVRs using the official Arduino bootloader. 2009-07-23 10:39:10 +00:00
Dean Camera 5dbfdaa17d Ensure that the USB_DeviceState variable is properly set upon wakeup events, to the Addressed or Configured state as needed.
Add explicit support for the AT90USB646 to the Teensy bootloader now that PJRC have released the Teensy++ board.

Ensure unfinished SideShow demo uses an unallocated PID value within the LUFA range.
2009-07-23 08:00:12 +00:00
Dean Camera e071f3897a Added new USB_DeviceState variable to keep track of the current Device mode USB state.
Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers.

Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality.

Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead.

Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
2009-07-21 13:31:21 +00:00
Dean Camera 44179abcf8 Add PrinterHost demo to the documentation. 2009-07-21 10:29:56 +00:00
Dean Camera d0db78432f Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host. 2009-07-21 04:46:48 +00:00
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. 2009-07-21 02:48:41 +00:00
Dean Camera bf50959b80 Simplify SideShow GUID compares via a macro. 2009-07-20 14:51:19 +00:00
Dean Camera 86819ba9d8 Fixes to unfinished SideShow demo to re-enable correct building after previous commit. 2009-07-20 14:27:14 +00:00
Dean Camera 292fc9b65e Move unfinished SideShow source files to nested Lib directory for clarity. 2009-07-20 14:23:47 +00:00
Dean Camera 18f7cd3325 Ensure control pipe is selected in the PrinterHost demo before trying to send control requests. 2009-07-20 14:12:05 +00:00
Dean Camera 4f747e7b76 Change Doxygen configuration files to not produce 4096 directories for the documentation files -- the LUFA components do not generate enough documentation files to justify the large performance hit of creating so many directories.
Fix missing Doxygen documentation in the Class Driver Mass Storage Device demo.
2009-07-20 14:07:02 +00:00
Dean Camera 73a21890f6 Added missing DoxyGen configuration file to the PrinterHost demo. 2009-07-20 13:52:45 +00:00
Dean Camera 8a28fd8e6c Added extra DoxyGen documentation to the new PrinterHost demo. 2009-07-20 13:49:26 +00:00
Dean Camera 3ee3ed2d6d Add PrinterHost to the project file and Host LowLevel directory makefile. 2009-07-20 13:41:37 +00:00
Dean Camera 2a90f66de2 Moved PrinterHost demo from Incomplete to LowLevel, as it is now near-complete. 2009-07-20 13:37:20 +00:00
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).
Fixed error in new pipe stream function template system not setting the right device token for R/W operations (also thanks to John Andrews).
2009-07-20 10:19:13 +00:00
Dean Camera 211712d66d Remove ClearPipeStall routine from the StillImageHost demo, as there is now a version of the function built into the library itself. 2009-07-20 03:14:41 +00:00
Dean Camera 4c035b14f1 Cleaner solution to the PrinterHost data send routine problem of embedded NULLs - use a special structure to hold the data string plus the length in bytes of the data. 2009-07-20 03:07:27 +00:00
Dean Camera 5d8cdd9bea Fix unfinished printer host demo - some printer languages use embedded NULLs and so strlen() won't work in all cases. Ensure NULL terminator for the test page is not transmitted to the device. 2009-07-20 02:59:16 +00:00
Dean Camera 8a68203d34 Added error codes to most StillImageHost demo commands. 2009-07-20 02:27:32 +00:00
Dean Camera cf313989e6 Don't send terminal RESET codes via serial - just set the foreground colour and assume the user has the background set to something sane, so that the demos don't wipe out custom user terminal settings. 2009-07-19 13:17:38 +00:00
Dean Camera cc879df4f0 Use sane ANSI terminal escape codes for the Host mode demos, so that they do not cause eye-searing, unreadable text on terminals which parse the escape codes properly. 2009-07-19 13:08:48 +00:00
Dean Camera 786479faf0 Add partial project documentation to the incomplete PrinterHost demo.
Change over Printer_GetDeviceID() to require a pointer to the destination buffer plus the buffer size, rather than using a pointer to a special structure.

Make new Printer_SendData() function to hide the implementation of sending data to an attached printer, cleaning up the main demo source file body.
2009-07-19 12:36:19 +00:00
Dean Camera d3fb6273aa Fix PrinterHost demo so that it will only enumerate printers with Bidirectional protocol encapsulation. Change enumeration code to automatically select the correct alternate setting for the printer interface to select the bidirectional protocol. 2009-07-19 09:36:16 +00:00
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). 2009-07-19 09:04:25 +00:00
Dean Camera b243c2b80b Magstripe Project: Ensure that empty tracks still print out a newline seperator so that the host always knows what track data is being sent.
Updates to PrinterHost demo to include some PCL test data plus fixes to the GetDeviceID routine.
2009-07-19 07:30:37 +00:00
Dean Camera d6543dee0d Minor updates to the Magstripe and MissileLauncher projects to fix bugs and improve performance.
Fixed error in GenericHID descriptors preventing it from passing the USB-IF HID tests (thanks to Søren Greiner).
2009-07-16 15:00:10 +00:00
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).
Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
2009-07-16 08:15:27 +00:00
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.
Fix Keyboard and Mouse demos, Idle period is now multiplied by 4 as the period is read into and sent out of the device to ensure it is always stored as a multiple of 1ms. Fixes Keyboard demo using an initial Idle period of 2s rather than 500ms (thanks to Brian Dickman).

Move out the internal device serial descriptor reading routine into a seperate static function, rather than being part of USB_Device_GetDescriptor.
2009-07-15 05:49:19 +00:00
Dean Camera 312748702a Added better module summaries. 2009-07-14 07:33:06 +00:00
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. 2009-07-13 12:38:30 +00:00
Dean Camera 1d26e78258 Added compatibility list to the documentation of each individual demo.
Documented FAST_STREAM_TRANSFERS compile time option.

Reduced the TCP window size for the RNDIS demos (Class and LowLevel) to make them compatible with the AT90USB64x.
2009-07-13 06:44:14 +00:00
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.
Added verbose documentation for each of the USB Host state machine states.
2009-07-13 05:34:43 +00:00
Dean Camera a54ed0085b Seperated out parts of the PrinterHost incomplete demo into a seperate Lib subdirectory.
Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected.
2009-07-13 04:46:52 +00:00
Dean Camera 23f3c3deee Fixed compilation error in incomplete BluetoothHost demo. 2009-07-11 15:07:07 +00:00
Dean Camera e0af6014a7 Added incomplete PrinterHost demo application.
Seperated out Lib components of the incomplete BluetoothHost demo application out into a seperate Lib subfolder.

Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case.
2009-07-11 15:05:56 +00:00
Dean Camera b462f2d457 Minor correction to MagStripe demo to fix build problems. 2009-06-29 11:11:51 +00:00
Dean Camera 86e6ed7f31 Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning, no need to call Dataflash_ToggleSelectedChipCS() afterwards.
Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index.

Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%.
2009-06-29 09:30:06 +00:00
Dean Camera f1076ac4d6 Added const modifiers to device mode class drivers.
Added parameter directions to function parameter documentation.

Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
2009-06-28 13:39:08 +00:00
Dean Camera 3cbdcd3686 Reduce struct name pollution - group typedef struct names by class driver name where appropriate. 2009-06-26 11:43:56 +00:00
Dean Camera 1756087c3e Optimize vendor/product description string display code in MassStorageHost.
Remove all Host mode class demos other than the CDCHost class driver demo, so that they can be re-added as they are made once the host mode class framework is designed.

Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails.

Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used.
2009-06-26 09:58:43 +00:00
Dean Camera b2cf4d3222 Oops - SCSI INQUIRY data uses fixed-length, non-terminated strings -- need to copy the strings to a temp buffer and terminate before using them in printf. 2009-06-23 09:38:22 +00:00
Dean Camera 64937a6206 MassStorageHost demo now retrieves Inquiry data from the device during enumeration, and prints the device's Vendor and Product IDs. 2009-06-23 09:01:23 +00:00
Dean Camera bb23e55f11 Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command. 2009-06-23 08:45:46 +00:00
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. 2009-06-23 08:03:09 +00:00
Dean Camera 7f81803aaa Fixed CDCHost demo unfreezing IN pipes during configuration, rather than during use.
Changed Pipe stream functions to automatically set the pipe token, allowing them to be used on bidirectional pipes without having to explicitly call Pipe_SetPipeToken() beforehand.
2009-06-23 07:55:18 +00:00
Dean Camera 189d0c7e66 Add demos/bootloaders/projects overview to the manual. 2009-06-22 11:32:51 +00:00
Dean Camera 7d7573e4e5 Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to Opendous Inc.). 2009-06-22 10:23:47 +00:00
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. 2009-06-21 09:22:31 +00:00
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. 2009-06-21 08:04:10 +00:00
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. 2009-06-20 11:43:26 +00:00
Dean Camera 35bdada24b Clean up RNDIS demo type define names. 2009-06-19 07:29:02 +00:00
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. 2009-06-19 05:08:04 +00:00
Dean Camera beb0b2bda0 Move LUFA compile time options to a new section in the application makefiles for clarity. 2009-06-19 04:34:35 +00:00
Dean Camera dfa547164a Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch, to add support for multi-configuration devices. 2009-06-19 03:37:47 +00:00
Dean Camera 0d8679cf6b Re-add in simple scheduler for compatibility with legacy code, mark all scheduler related files as deprecated. 2009-06-19 03:21:03 +00:00
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. 2009-06-18 10:31:55 +00:00
Dean Camera e338cb6f32 Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device's endpoint.
Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device's Device descriptor.

Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is cleared to prevent endpoint type corruption.

Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken().
2009-06-18 07:53:51 +00:00
Dean Camera 2b21a1552d Remove hardcoded DOT path from all Doxygen config files.
Better documentation for the MissleLauncher project - add credit to PyLauncher project.
2009-06-16 13:50:02 +00:00
Dean Camera dcf303762a Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors.
Change MIDI demos to use real MIDI command values, and shift for the USB wrapper, rather than shift for the MIDI bytes. This is a little confusing for the MIDI USB wrapper, but allows for the use of real standardized MIDI command values.
2009-06-16 07:17:22 +00:00
Dean Camera 39d07c3da0 Added USB Missle Launcher project, submitted by Dave Fletcher. 2009-06-16 05:53:27 +00:00
Dean Camera b5ca3990c2 Added new USB_Host_SetDeviceConfiguration() convenience function. Change over Low Level host demos to use the new routine. 2009-06-16 04:20:21 +00:00
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. 2009-06-15 13:42:34 +00:00
Dean Camera b61049f722 Fixed broken HIDReportParser.c. 2009-06-15 08:58:55 +00:00
Dean Camera c75f8bf223 More Doxygen fixes - ensure no undocumented function parameters. 2009-06-15 08:36:12 +00:00
Dean Camera 234d0a39eb Doxygen corrections to fix Doxygen warnings in some demos. 2009-06-15 07:23:14 +00:00
Dean Camera b7049da11b Enhanced class drivers to use the same public/private section seperations as other portions of the library. 2009-06-15 04:38:42 +00:00
Dean Camera afe6ae1402 Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.
Split out common defines/types from class drivers into a seperate common class driver directory.

Make central USB Class driver dispatch headers, used for both device and host modes.
2009-06-14 15:55:13 +00:00
Dean Camera 4d3a594f3e Changed per-device controller preprocessor checks over to per-device series for better device control.
Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
2009-06-14 07:44:02 +00:00
Dean Camera 9798440ca4 Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers. 2009-06-11 06:15:45 +00:00
Dean Camera b2330934b9 Some minor whitespace corrections. 2009-06-11 01:52:53 +00:00
Dean Camera 6be24e4404 Fixes to the MIDI device demos (ClassDriver, LowLevel); discard unused read-in events from the host, use standard MIDI event structure in low level demo rather than sending individual bytes. 2009-06-10 05:03:45 +00:00
Dean Camera 0323e13b39 Copy over schedulerless host demos to ClassDrivers directory, for later modification to new Host mode USB class drivers. 2009-06-09 04:30:12 +00:00
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.
Fixes to MassStorageHost demo to improve compatibility with more USB drives.
2009-06-09 04:27:53 +00:00
Dean Camera e6881fd166 Error status LEDs shown when device endpoint configuration fails to complete.
MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready.
2009-06-08 07:46:07 +00:00
Dean Camera ac70ddd0a1 Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments. 2009-06-08 07:34:16 +00:00
Dean Camera 33a0184749 Converted device mode low-level demos to schedulerless. 2009-06-07 07:20:33 +00:00
Dean Camera 2793c88fc6 Add master device Host demo makefile.
Copy and convert incomplete Bluetooth Host demo to the library.
2009-06-05 08:13:19 +00:00
Dean Camera d47df1cd3a Delete host mode demos from the root Host demos folder. 2009-06-05 07:59:24 +00:00
Dean Camera f1199200e1 Copy existing Host mode demos to new ClassDriver and LowLevel subfolders. 2009-06-05 07:56:39 +00:00
Dean Camera f51017f8fb Conversion of old incomplete SideShow demo to new APIs. 2009-06-05 07:52:53 +00:00
Dean Camera bf041e8bbf Add new Incomplete device subdirectory for work-in-progress demos. Add incomplete SideShow demo. 2009-06-05 07:32:40 +00:00
Dean Camera dd2cc7eda7 Remove outdated AVRStudio project files from demos, projects, bootloaders. Fix makefiles of ClassDriver device demos. 2009-06-05 07:30:23 +00:00
Dean Camera b9b03aadb2 Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory. 2009-06-05 07:16:33 +00:00
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. 2009-06-05 02:23:31 +00:00
Dean Camera 7665bf323e Fixed EVENT_USB_CDC_ControLineStateChanged() event not taking the CDC interface structure as a parameter.
Converted TestApp demo over to the new demo structure.

More class driver documentation improvements.
2009-06-04 06:26:35 +00:00
Dean Camera d37d419ffa Fix Doxygen errors in demos. 2009-06-04 03:12:07 +00:00
Dean Camera 4897ef8972 Ensure all USB device class drivers have the same three main functions as their interface for consistency. 2009-06-04 03:03:48 +00:00
Dean Camera a67bd74e3e Minor documentation page updates.
Redocumented all device demos, now that they have changed over to the new USB class drivers.

Added C linkage to class drivers for C++ support.

Added prefixes to most of the class driver constants to prevent name clashes.
2009-06-04 02:55:30 +00:00
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.
Fixed MIDI class driver blocking on unread events to the host.
2009-06-02 10:54:32 +00:00
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. 2009-06-01 12:01:53 +00:00
Dean Camera d1e5266036 Commit of new class abstraction APIs for all device demos other than the MIDI demo - not documented yet.
Removed scheduler and memory allocation libraries.

Added new EVENT_USB_StartOfFrame event in the library to indicate the start of each USB frame (when generated).

Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt.
2009-06-01 11:03:39 +00:00
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