Dean Camera [Thu, 24 Sep 2009 01:52:57 +0000 (01:52 +0000)]
Fix incorrect names for the HID Host protocol setting routines.
Dean Camera [Tue, 22 Sep 2009 10:05:17 +0000 (10:05 +0000)]
Fix more build errors in the LowLevel "WithParser" HID Host demos.
Dean Camera [Tue, 22 Sep 2009 09:52:25 +0000 (09:52 +0000)]
Fix broken Host ClassDriver MouseHostWithParser demo.
Dean Camera [Tue, 22 Sep 2009 08:07:48 +0000 (08:07 +0000)]
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.
Dean Camera [Tue, 22 Sep 2009 07:53:57 +0000 (07:53 +0000)]
Move Dataflash operational checking code out from SCSI.c into the DataflashManager.c in the Device mode Mass Storage demos.
Dean Camera [Mon, 21 Sep 2009 12:23:09 +0000 (12:23 +0000)]
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.
Dean Camera [Mon, 21 Sep 2009 10:49:06 +0000 (10:49 +0000)]
Finish initial draft of the Host Mode HID Class driver.
Add new MouseHostWithParser and KeyboardHostWithParser Host Class driver demos.
Dean Camera [Mon, 21 Sep 2009 08:07:26 +0000 (08:07 +0000)]
Added new MassStorageKeyboard Device Class Driver demo (thanks to Matthias Hullin).
Dean Camera [Mon, 21 Sep 2009 06:46:39 +0000 (06:46 +0000)]
Fix broken MagStripe demo due to the HID Class driver changes.
Dean Camera [Mon, 21 Sep 2009 06:32:16 +0000 (06:32 +0000)]
Fix building of KeyboardHostWithParser and MouseHostWithParser demos broken by HIDParser API changes.
Dean Camera [Mon, 21 Sep 2009 06:13:00 +0000 (06:13 +0000)]
Fix broken KeyboardMouse ClassDriver device demo - use internal HID Class Driver structures for boot protocol reports.
Dean Camera [Mon, 21 Sep 2009 06:08:39 +0000 (06:08 +0000)]
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.
Dean Camera [Sun, 20 Sep 2009 13:01:45 +0000 (13:01 +0000)]
Oops - Keyboard boot report structure should be an array of 6 keycodes.
Dean Camera [Sun, 20 Sep 2009 12:52:35 +0000 (12:52 +0000)]
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.
Dean Camera [Sun, 20 Sep 2009 12:46:26 +0000 (12:46 +0000)]
Add KeyboardHost HID Host Class driver demo to the library.
Dean Camera [Sun, 20 Sep 2009 12:34:07 +0000 (12:34 +0000)]
Finish Class Driver MouseHost demo. Update HID Host Class driver; boot protocol now works, still need to finish and test report protocol mode.
Dean Camera [Sun, 20 Sep 2009 12:01:25 +0000 (12:01 +0000)]
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.
Dean Camera [Thu, 17 Sep 2009 23:34:16 +0000 (23:34 +0000)]
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.
Dean Camera [Thu, 17 Sep 2009 13:12:21 +0000 (13:12 +0000)]
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.
Dean Camera [Mon, 14 Sep 2009 06:01:32 +0000 (06:01 +0000)]
Fix LUFA event list generation rule in the main LUFA makefile (thanks to Thomas Bleeker).
Dean Camera [Mon, 14 Sep 2009 05:57:17 +0000 (05:57 +0000)]
Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker).
Dean Camera [Sun, 13 Sep 2009 08:29:31 +0000 (08:29 +0000)]
Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael from DirectAid.ca).
Dean Camera [Thu, 10 Sep 2009 07:05:26 +0000 (07:05 +0000)]
Revert changed CDC_Device_Flush() prototype accidentially changed in the last commit.
Dean Camera [Thu, 10 Sep 2009 06:41:57 +0000 (06:41 +0000)]
Prevent the CDC Device Class driver from sending empty IN packets on every service task call - only send termination packets when data is in the endpoint.
Dean Camera [Wed, 9 Sep 2009 13:17:04 +0000 (13:17 +0000)]
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.
Dean Camera [Wed, 9 Sep 2009 08:34:24 +0000 (08:34 +0000)]
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.
Dean Camera [Wed, 9 Sep 2009 04:22:49 +0000 (04:22 +0000)]
Add Host mode Class driver demo summaries.
Dean Camera [Wed, 9 Sep 2009 04:18:37 +0000 (04:18 +0000)]
Finish Still Image Host class driver.
Dean Camera [Mon, 7 Sep 2009 10:50:58 +0000 (10:50 +0000)]
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.
Dean Camera [Mon, 7 Sep 2009 08:11:17 +0000 (08:11 +0000)]
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.
Dean Camera [Mon, 7 Sep 2009 07:57:00 +0000 (07:57 +0000)]
Corrected incorrect signature bytes for the AT90USB82 and added support for the ATMEGAXX2 variant AVRs to the DFU bootloader.
Added warning to the EVENT_USB_Device_Connect() and EVENT_USB_Device_Disconnect() events that they may be fired multiple times during device enumeration on the series 2 AVRs.
Dean Camera [Sun, 6 Sep 2009 20:30:26 +0000 (20:30 +0000)]
Fixed DFU and CDC class bootloaders on the AT90USBXXX2 series USB AVRs.
Dean Camera [Sun, 6 Sep 2009 05:58:40 +0000 (05:58 +0000)]
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.
Dean Camera [Sun, 6 Sep 2009 04:22:46 +0000 (04:22 +0000)]
Added 64 bit OS driver installation instructions to the readme for all CDC based projects.
Dean Camera [Sun, 6 Sep 2009 04:15:35 +0000 (04:15 +0000)]
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.
Dean Camera [Wed, 2 Sep 2009 13:08:55 +0000 (13:08 +0000)]
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".
Dean Camera [Wed, 2 Sep 2009 07:16:52 +0000 (07:16 +0000)]
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.
Dean Camera [Wed, 2 Sep 2009 00:27:52 +0000 (00:27 +0000)]
Fixed error in PrinterHost preventing the full page data from being sent to the attached device.
Dean Camera [Tue, 1 Sep 2009 15:46:46 +0000 (15:46 +0000)]
Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles.
Dean Camera [Tue, 1 Sep 2009 13:57:47 +0000 (13:57 +0000)]
Fix up MissileLauncher demo's ConfigurationDescriptor.c so that it uses the new USB_GetDeviceConfigDescriptor() function parameters.
Dean Camera [Tue, 1 Sep 2009 13:47:11 +0000 (13:47 +0000)]
Added documentation for the constants and enums of the new StillImage Host Class driver added to the library so far.
Dean Camera [Tue, 1 Sep 2009 13:35:30 +0000 (13:35 +0000)]
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.
Dean Camera [Tue, 1 Sep 2009 11:16:57 +0000 (11:16 +0000)]
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.
Dean Camera [Mon, 31 Aug 2009 13:58:03 +0000 (13:58 +0000)]
Add return codes to the CDC Host Class driver String/Byte transmission functions.
Dean Camera [Mon, 31 Aug 2009 12:43:28 +0000 (12:43 +0000)]
Add extra check for OUT ZLP in the CDC Device Class driver service task to quickly clear zero-length termination packets from the host.
Dean Camera [Mon, 31 Aug 2009 08:35:52 +0000 (08:35 +0000)]
Removed unused INCLUDE_FROM_BOARD_DRIVER internal define from the board driver dispatch headers.
Dean Camera [Mon, 31 Aug 2009 08:27:48 +0000 (08:27 +0000)]
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.
Dean Camera [Mon, 31 Aug 2009 07:48:32 +0000 (07:48 +0000)]
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.
Dean Camera [Sun, 30 Aug 2009 11:42:16 +0000 (11:42 +0000)]
Remove deleted source files from the Device mode Class driver demos to enable them to be built.
Dean Camera [Sun, 30 Aug 2009 11:40:26 +0000 (11:40 +0000)]
Remove deleted source files from the LUFA library makefile.
Renamed parameters of SI_Host_ConfigurePipes() to match other Host mode Class drivers.
Dean Camera [Sun, 30 Aug 2009 11:36:04 +0000 (11:36 +0000)]
Added start of the Still Image Host Class driver demo and driver code.
Re-enabled building of the Host mode demos ClassDriver directory.
Dean Camera [Sun, 30 Aug 2009 10:43:41 +0000 (10:43 +0000)]
Remove skeleton Audio and MIDI Host mode Class drivers -- will not implement in next release.
Dean Camera [Sun, 30 Aug 2009 06:52:03 +0000 (06:52 +0000)]
Replace -finline-limit with -fno-inline-small-functions in project makefiles.
Dean Camera [Sun, 30 Aug 2009 03:51:44 +0000 (03:51 +0000)]
Move ADC VTARGET sampling to a new V2Params_UpdateParamValues() in the AVRISP project so that there is a central place where all non-PC set target values can be updated easily.
Dean Camera [Fri, 28 Aug 2009 08:24:50 +0000 (08:24 +0000)]
Increase AVRISP command timeout to 240ms up from 150ms to prevent some ISP commands from timing out too early.
Add check to the PROGRAM FLASH ISP and PROGRAM EEPROM ISP handler to return an explicit error when the host attempts to write more data than the device is able to buffer.
Dean Camera [Thu, 27 Aug 2009 23:07:53 +0000 (23:07 +0000)]
Make WaitWhileBusy function in the AVRISP project more explicit about how it sends and receives the busy check command.
Reduce size of PROGRAM FLASH ISP or PROGRAM EEPROM ISP buffer to 256 bytes to prevent blowing the stack on the smallest USB AVR models.
Dean Camera [Thu, 27 Aug 2009 22:34:41 +0000 (22:34 +0000)]
Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback routine, so that ignored callbacks don't cause incorrect data to be sent.
Dean Camera [Thu, 27 Aug 2009 13:12:44 +0000 (13:12 +0000)]
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).
Dean Camera [Thu, 27 Aug 2009 11:43:37 +0000 (11:43 +0000)]
Add check to Pipe_IsEndpointBound() in the Mass Storage Host mode Class driver to ensure that multiple instances of the driver can be used on a single device with multiple Mass Storage interfaces.
Dean Camera [Thu, 27 Aug 2009 08:17:06 +0000 (08:17 +0000)]
Simplified Host mode Mass Storage Class driver to reduce compiled program size.
Dean Camera [Thu, 27 Aug 2009 08:01:33 +0000 (08:01 +0000)]
Fix memory corruption in Host mode Mass Storage Class driver.
Dean Camera [Thu, 27 Aug 2009 07:48:48 +0000 (07:48 +0000)]
Added better USB Class driver overviews.
Dean Camera [Thu, 27 Aug 2009 07:38:40 +0000 (07:38 +0000)]
Added new "Common" section to the class drivers, to hold all mode-independant definitions for clarity.
Moved SCSI command/sense constants into the Mass Storage Class driver, instead of the user-code.
Dean Camera [Thu, 27 Aug 2009 07:10:00 +0000 (07:10 +0000)]
Added extra note about missing OUT endpoint configuration to the HID Device mode Class driver.
Added pinout information to the AVRISP project.
Dean Camera [Thu, 27 Aug 2009 06:36:01 +0000 (06:36 +0000)]
Fixed Device mode HID Class driver always sending IN reports, even when no data is to be reported.
Dean Camera [Thu, 27 Aug 2009 06:32:12 +0000 (06:32 +0000)]
Minor documentation fixes to the completed Host mode Class drivers.
Dean Camera [Thu, 27 Aug 2009 06:28:18 +0000 (06:28 +0000)]
Completed initial Host mode Mass Storage class driver.
Dean Camera [Wed, 26 Aug 2009 08:20:55 +0000 (08:20 +0000)]
Added MS_Host_TestUnitReady() and MS_Host_ReadDeviceCapacity() to the host mode Mass Storage Class driver.
Dean Camera [Wed, 26 Aug 2009 07:51:40 +0000 (07:51 +0000)]
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.
Dean Camera [Wed, 26 Aug 2009 07:34:31 +0000 (07:34 +0000)]
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.
Dean Camera [Wed, 26 Aug 2009 07:01:32 +0000 (07:01 +0000)]
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.
Dean Camera [Tue, 25 Aug 2009 14:30:42 +0000 (14:30 +0000)]
Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size.
Fixed Programmer's Notepad project file to reflect new location of AVRISP project.
Dean Camera [Tue, 25 Aug 2009 14:02:47 +0000 (14:02 +0000)]
Add VTARGET level detection to the AVRISP project on supported AVR models.
Dean Camera [Tue, 25 Aug 2009 13:26:34 +0000 (13:26 +0000)]
Make AVRISP project build again - fix incorrect preprocessor directive in V2Protocol.c, fix makefile LUFA_PATH.
Dean Camera [Tue, 25 Aug 2009 13:24:21 +0000 (13:24 +0000)]
Partial Commit: Remove now empty Projects\Incomplete directory and add the new AVRISP project to the Projects directory makefile.
Dean Camera [Tue, 25 Aug 2009 13:21:19 +0000 (13:21 +0000)]
Partial Commit: Move AVRISP project out of the Projects\Incomplete directory.
Dean Camera [Tue, 25 Aug 2009 13:15:30 +0000 (13:15 +0000)]
Add function documentation to the AVRISP project.
Dean Camera [Tue, 25 Aug 2009 11:24:45 +0000 (11:24 +0000)]
Finished preliminary AVRISP project - all V2 protocol commands now work correctly for basic operations.
Dean Camera [Tue, 25 Aug 2009 08:58:48 +0000 (08:58 +0000)]
Fixed AVRISP V2 Protocol handler for the READ_FLASH_ISP and READ_EEPROM_ISP handler - can now correctly read back device data. Programming command handler is still broken, although first page is written correctly to FLASH in paged write mode.
Dean Camera [Tue, 25 Aug 2009 08:09:49 +0000 (08:09 +0000)]
Updated Benito project -- added hardware interrupt and software buffering for serial data reception to prevent missed characters, condensed pulse generation counters into a struct for clarity.
Added check to CDC_Device_BytesReceived() to ensure 0 is returned when device is not enumerated to a host.
Move AVRISP project's V2Protocol_DelayMS() function to be static inline, as it is now very minimal. Added extra project doxygen documentation.
Dean Camera [Mon, 24 Aug 2009 13:39:47 +0000 (13:39 +0000)]
Fix endianness of LOAD_ADDRESS command data, add correct PROGRAM_FLASH_ISP/PROGRAM_EEPROM_ISP polling and endpoint bank clearing, add hardware delays/timeouts to the V2 Protocol handler in the AVRISP project.
Dean Camera [Mon, 24 Aug 2009 12:49:19 +0000 (12:49 +0000)]
Switch to hardware delays and timeouts via a hardware timer in the V2 Protocol handler.
More additions to the PROGRAM_FLASH_ISP and PROGRAM_EEPROM_ISP commands, although neither work correctly yet.
Added dummy RESET_PROTECTIONS handler to prevent the Atmel driver from crashing when the command returns an UNKNOWN_COMMAND error code.
Dean Camera [Mon, 24 Aug 2009 11:04:05 +0000 (11:04 +0000)]
Added PROGRAM_FLASH_ISP and PROGRAM_EEPROM_ISP handler code to the V2 Protocol handler in the AVRISP project, programming complete checks not yet complete.
Dean Camera [Mon, 24 Aug 2009 10:08:02 +0000 (10:08 +0000)]
Fixed V2 Protocol READ_FLASH_ISP and READ_EEPROM_ISP handler code in the AVRISP project.
Dean Camera [Mon, 24 Aug 2009 09:37:54 +0000 (09:37 +0000)]
Fix to V2 Protocol for Fuse/Sig/Lock byte read -- off by one error on the array when writing back the response from the device.
FLASH/EEPROM reading and writing currently broken and unfinished, respectively.
Dean Camera [Sun, 23 Aug 2009 12:38:50 +0000 (12:38 +0000)]
Added V2 protocol handlers for the READ and WRITE memory commands in the AVRISP project. Finished READ command handler, skeleton WRITE handler implemented.
Dean Camera [Sun, 23 Aug 2009 10:17:13 +0000 (10:17 +0000)]
Moved out target-related V2 protocol commands into a seperate file for the AVRISP project.
Added Load Extended Command functionality to the LOAD ADDRESS V2 Protocol command handler for devices with more than 64KB of memory.
Dean Camera [Sun, 23 Aug 2009 08:37:11 +0000 (08:37 +0000)]
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.
Dean Camera [Sun, 23 Aug 2009 04:01:49 +0000 (04:01 +0000)]
Added V2Protocol handlers to the AVRISP project to enter/exit programming mode, and read/write fuses, lockbits, OSCCAL and Signature bytes.
Added ShutDown functions for all hardware peripheral drivers, so that peripherals can be turned off after use.
Dean Camera [Thu, 20 Aug 2009 07:25:47 +0000 (07:25 +0000)]
Correct Programmer's Notepad project file to use the correct path for the AVRISP project files.
Dean Camera [Thu, 20 Aug 2009 07:21:43 +0000 (07:21 +0000)]
Renamed Projects/Unfinished to Projects/Incomplete for consistancy.
Dean Camera [Thu, 20 Aug 2009 07:16:55 +0000 (07:16 +0000)]
Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP project.
Fix up references to functions in the Endpoint/Pipe documentation.
Dean Camera [Wed, 19 Aug 2009 13:19:01 +0000 (13:19 +0000)]
Change spinloop in the AVRISP project Unknown V2 Protocol Command handler to use Endpoint_WaitUntilReady() instead to prevent infinite loops.
Dean Camera [Wed, 19 Aug 2009 08:29:08 +0000 (08:29 +0000)]
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.
Dean Camera [Wed, 19 Aug 2009 07:08:27 +0000 (07:08 +0000)]
Reorganise V2Protocol.c, add in function to assert or de-assert target RESET pin.
Dean Camera [Wed, 19 Aug 2009 06:25:54 +0000 (06:25 +0000)]
Added handler for the V2 Protocol SPI_MULTI command to the AVRISP Programmer project.
Added documentation of the makefile CDEFS values to the MagStripe project.
Dean Camera [Wed, 19 Aug 2009 05:40:05 +0000 (05:40 +0000)]
Corrections to the unfinished AVRISP Programmer project to allow AVRStudio to connect to it.
Dean Camera [Tue, 18 Aug 2009 07:42:19 +0000 (07:42 +0000)]
Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient.
Fix up Programmers Notepad Project file to show new Projects directory layout. Remove now moved AVRISP project from the Projects directory makefile.
Dean Camera [Tue, 18 Aug 2009 07:37:03 +0000 (07:37 +0000)]
Move AVRISP Programmer project to a new Unfinished subdirectory of Project while it is under development.
Dean Camera [Tue, 18 Aug 2009 07:22:51 +0000 (07:22 +0000)]
Enhancements to the AVRISP Programmer project to attempt to get AVRStudio to communicate with the device.