Dean Camera [Wed, 23 Dec 2009 12:54:15 +0000 (12:54 +0000)]
Start of implementation of the low level TPI programming protocol in the AVRISP project.
Dean Camera [Wed, 23 Dec 2009 07:38:53 +0000 (07:38 +0000)]
Fix TeensyHID bootloader - change vendor page in the descriptors to match the undocumented page needed for the new Teensy 2.0 boards.
Commit for the 091223 release.
Dean Camera [Mon, 21 Dec 2009 10:44:00 +0000 (10:44 +0000)]
Ooops - TeensyHID bootloader makefile should use a 16MHz FCPU, not 8MHz.
Dean Camera [Mon, 21 Dec 2009 08:29:12 +0000 (08:29 +0000)]
Ensure that unsupported SetFeature/ClearFeature request targets cause a STALL back to the host.
Dean Camera [Mon, 21 Dec 2009 07:42:43 +0000 (07:42 +0000)]
Correct TeensyHID bootloader descriptors to use the correct revision code for the ATMEGA32U4 based Teensy revision.
Dean Camera [Sun, 20 Dec 2009 22:33:48 +0000 (22:33 +0000)]
Fixed AVRISP project timeouts not checking for the correct timeout period (thanks to Carl Ott).
Dean Camera [Sun, 20 Dec 2009 13:00:49 +0000 (13:00 +0000)]
Added new NO_DEVICE_SELF_POWER and NO_DEVICE_REMOTE_WAKEUP compile time options.
Dean Camera [Sun, 20 Dec 2009 12:09:22 +0000 (12:09 +0000)]
Fixed TeensyHID bootloader not enumerating to the host correctly.
Dean Camera [Sun, 20 Dec 2009 06:23:24 +0000 (06:23 +0000)]
Add const qualifier to the parameters of Projects' functions where possible.
Dean Camera [Sun, 20 Dec 2009 05:40:17 +0000 (05:40 +0000)]
Added CPU Usage monitor host app to the LEDNotifier project.
Dean Camera [Fri, 18 Dec 2009 05:34:11 +0000 (05:34 +0000)]
Add LEDNotifier project to the Projects folder build list. Add new LEDMixer C# host application for the LEDNotifier project.
Dean Camera [Fri, 18 Dec 2009 05:30:55 +0000 (05:30 +0000)]
Fix up references in the LEDNotifier project to the old HotmailNotifier name.
Dean Camera [Fri, 18 Dec 2009 05:25:51 +0000 (05:25 +0000)]
Rename HotmailNotifier project files to LEDNotifier.
Dean Camera [Fri, 18 Dec 2009 05:22:57 +0000 (05:22 +0000)]
Renamed HotmailNotifier project to LEDNotifier.
Dean Camera [Fri, 18 Dec 2009 04:40:15 +0000 (04:40 +0000)]
Enhance the HotmailNotifier project so that the LEDs' individual brightness can be controlled individually via software PWM.
Dean Camera [Fri, 18 Dec 2009 00:32:21 +0000 (00:32 +0000)]
Fixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is shut down and both Host and Device modes can be used (thanks to Daniel Levy).
Dean Camera [Thu, 17 Dec 2009 10:02:19 +0000 (10:02 +0000)]
Un-inline the SendAddress function in NVMTarget.c/.h of the AVRISP project.
Add new HotmailNotifier project, which changes a LED's colour based on the user's unread email count as sent from Windows Live Messenger.
Dean Camera [Wed, 16 Dec 2009 09:13:42 +0000 (09:13 +0000)]
More speed and quality improvements to the software USART in the AVRISP project.
Dean Camera [Wed, 16 Dec 2009 08:03:04 +0000 (08:03 +0000)]
Slightly speed up software USART in the AVRISP project - faster parity computation, ensure received data is byte aligned when receive is complete by throwing away the start bit during reception.
Dean Camera [Wed, 16 Dec 2009 04:03:08 +0000 (04:03 +0000)]
The SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image Host Class driver functions are now public.
Dean Camera [Wed, 16 Dec 2009 03:17:18 +0000 (03:17 +0000)]
Use default NVM base address in the AVRISP programmer project in case the host programmer software doesn't set it correctly.
Dean Camera [Tue, 15 Dec 2009 11:12:38 +0000 (11:12 +0000)]
Speed up bit-banged USART code in the AVRISP project.
Fix project text files to refer to "project" instead of "demo".
Dean Camera [Tue, 15 Dec 2009 10:06:49 +0000 (10:06 +0000)]
Complete initial working revision of PDI programming in the AVRISP project (XMEGAs can now be programmed by the firmware).
Dean Camera [Tue, 15 Dec 2009 05:17:52 +0000 (05:17 +0000)]
Fix a bug in the Still Image Host Class driver where the returned block status code was being truncated.
Add programming support to the AVRISP project's PDI programming mode; paged memory writes are not currently functional.
Dean Camera [Tue, 15 Dec 2009 00:58:22 +0000 (00:58 +0000)]
Add Lock/Fuse byte programming support to the AVRISP PDI programming protocol code.
Dean Camera [Tue, 15 Dec 2009 00:14:17 +0000 (00:14 +0000)]
Fix error in AVRISP programmer when repeatedly using PDI mode via the hardware USART due to the SendByte routine not clearing the Transmit Complete USART flag.
Dean Camera [Mon, 14 Dec 2009 07:06:30 +0000 (07:06 +0000)]
Add Doxygen documentation to the completed portions of the PDI programming protocol in the AVRISP project.
Dean Camera [Mon, 14 Dec 2009 06:01:56 +0000 (06:01 +0000)]
Use the PDI REPEAT instruction in the PDI programmer code to reduce protocol overhead and greatly improve transfer throughput. Switch bit-bang USART in the AVRISP project to Timer 1, so that Timer 0 can be used for hardware timeouts while waiting for the NVM bus or controller to become ready.
Dean Camera [Mon, 14 Dec 2009 05:15:42 +0000 (05:15 +0000)]
Added memory erase handling to the PDI protocol in the AVRISP project.
Dean Camera [Mon, 14 Dec 2009 04:39:16 +0000 (04:39 +0000)]
Fix NVM commands so that memory reads and CRC generations now work correctly using unoptimized PDI commands.
Dean Camera [Mon, 14 Dec 2009 02:59:34 +0000 (02:59 +0000)]
Split out NVM access code in the AVRISP project into a seperate NVMTarget.c source file and header. Make NVM register accesses use the NVM base address as set by the host, rather than using the fixed value from the XMEGA datasheet.
Dean Camera [Sun, 13 Dec 2009 14:43:34 +0000 (14:43 +0000)]
Test with -Wextra, fix library warnings due to unused function parameters.
Dean Camera [Sun, 13 Dec 2009 14:16:29 +0000 (14:16 +0000)]
Oops - wrong casting on the Configuration Descriptor pointer advance routine.
Dean Camera [Sun, 13 Dec 2009 14:09:25 +0000 (14:09 +0000)]
Use -pedantic compile time option to find and correct several minor code errors.
Dean Camera [Sun, 13 Dec 2009 12:50:47 +0000 (12:50 +0000)]
The AVRISP project can now enter PDI mode under both bit-bang and hardware USART connection modes, tested against the XPLAIN board hardware. Still need to complete higher level NVM access code so that the device's memories can be read and written.
Dean Camera [Fri, 11 Dec 2009 04:56:52 +0000 (04:56 +0000)]
PDI NVM enable is fast enough that bare polling is enough without a fixed delay in between each attempt. Make sure the USART transmitter is enabled explicitly when the USART is configured, so that repeated attempts to re-enter PDI mode don't fail due to TXEN not being set.
Dean Camera [Fri, 11 Dec 2009 04:04:34 +0000 (04:04 +0000)]
Fix PDI code - must send NVM enable key least significant byte first, need to make sure Tx and Rx is switched correctly including disabling the output on the Tx line when receiving.
Dean Camera [Fri, 11 Dec 2009 00:19:25 +0000 (00:19 +0000)]
Fix AVRISP PDI protocol - make sure inverted masks have the appropriate parenthesis around them, make sure the BREAK command for the hardware USART has 12 clock cycles exactly. Poll NVM Enable bit in the target's STATUS PDI register with a timeout, as it is not set immediately.
Dean Camera [Fri, 11 Dec 2009 00:03:10 +0000 (00:03 +0000)]
Change over AVRISP project to have both hardware USART and software USART modes for the PDI protocol, when enabled. Fix up PDI initialisation routines.
Dean Camera [Thu, 10 Dec 2009 00:54:08 +0000 (00:54 +0000)]
Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order.
Dean Camera [Wed, 9 Dec 2009 12:31:55 +0000 (12:31 +0000)]
Add even parity bit to the software USART framing in the AVRISP project's PDI programming code.
Dean Camera [Wed, 9 Dec 2009 12:01:01 +0000 (12:01 +0000)]
Fix inverted bit-banged USART logic in the AVRISP project for PDI programming. Add a delay to the clock toggling in the AVRISP project to ensure that the programming speed does not exceed 10MHz under any conditions to satisfy the limits in the datasheet for all target voltages. Fix incorrect pin being used as the DATA in in PDI programming mode.
Dean Camera [Wed, 9 Dec 2009 07:09:52 +0000 (07:09 +0000)]
Fix incorrect definition of Endpoint_BytesInEndpoint() for the U4 parts.
Dean Camera [Wed, 9 Dec 2009 00:50:55 +0000 (00:50 +0000)]
Increase timeout of Mass Storage and Still Image host commands to 10 seconds (up from 5) to account for slow-processing devices.
Added brace guards to macros with parameters to prevent unintended changed evaluation of the macro expression.
Minor code cleanups (remove redundant comments, fix spacing, etc.).
Dean Camera [Tue, 8 Dec 2009 07:43:33 +0000 (07:43 +0000)]
Make sure that USB_STREAM_TIMEOUT_MS is set in the MassStorageHost ClassDriver demo, so that slow devices don't time out the data pipe. Increase pipe timeout in both MassStorageHost demos to 5 seconds to account for the really slow devices.
Fix TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting the AVR.
Dean Camera [Mon, 7 Dec 2009 04:49:37 +0000 (04:49 +0000)]
Fix newly renamed VirtualSerial demos' include filename references so that they compile.
Dean Camera [Mon, 7 Dec 2009 04:35:59 +0000 (04:35 +0000)]
Additional file renames and modifications to change CDC demos to VirtualSerial.
Dean Camera [Mon, 7 Dec 2009 04:18:07 +0000 (04:18 +0000)]
Rename CDC demos to VirtualSerial.
Dean Camera [Sun, 6 Dec 2009 13:37:30 +0000 (13:37 +0000)]
Add new USB_Host_GetDeviceStringDescriptor() convenience function.
Dean Camera [Fri, 4 Dec 2009 09:08:48 +0000 (09:08 +0000)]
Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a STALL to a GET MAX LUN request (thanks to Martin Luxen).
Dean Camera [Fri, 4 Dec 2009 06:02:28 +0000 (06:02 +0000)]
Added support for the Atmel EVK527 board hardware.
Dean Camera [Fri, 4 Dec 2009 02:06:38 +0000 (02:06 +0000)]
Fix double oops -- Host mode settle delay was still being ignored due to inverted logic, HID Parser was assigning the usage Min/Max usage value to the report item's collection path rather than the report item itself.
Dean Camera [Fri, 4 Dec 2009 01:29:20 +0000 (01:29 +0000)]
Oops - fix Host mode pre-enumeration settle delay being ignored leading to failure to enumerate certain devices.
Dean Camera [Fri, 4 Dec 2009 01:09:39 +0000 (01:09 +0000)]
Fix incorrect const'ness of the ReportItem parameter in USB_SetHIDReportItemInfo().
Dean Camera [Fri, 4 Dec 2009 01:06:26 +0000 (01:06 +0000)]
Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items.
Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype.
Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values.
Dean Camera [Thu, 3 Dec 2009 09:19:09 +0000 (09:19 +0000)]
Make sure the protocol handler files are included in the Doxygen documentation of the AVRISP project.
Dean Camera [Thu, 3 Dec 2009 09:12:36 +0000 (09:12 +0000)]
Fix the tokens which enable and disable the different programming protocols in the AVRISP project.
Dean Camera [Thu, 3 Dec 2009 08:59:12 +0000 (08:59 +0000)]
Added support for the Dataflash mounted on the XPLAIN board. Added new XPLAIN_REV1 board target for the first revision XPLAIN board, which used a different (smaller) Dataflash IC to later revisions.
Dean Camera [Thu, 3 Dec 2009 08:35:32 +0000 (08:35 +0000)]
Auto-configure AVRISP programmer configuration when built for the XPLAIN board to match the XPLAIN hardware connections.
Dean Camera [Thu, 3 Dec 2009 07:42:56 +0000 (07:42 +0000)]
Document the PDI programming routines implemented so far in the AVRISP project. Add ability to selectively disable ISP programming support in addition to the existing ability to disable PDI programming support.
Dean Camera [Thu, 3 Dec 2009 00:53:45 +0000 (00:53 +0000)]
Started implementing the low level PDI protocol in the AVRISP project, for XMEGA device programming.
Dean Camera [Wed, 2 Dec 2009 14:19:06 +0000 (14:19 +0000)]
Add new more reliable software UART for the XPLAINBridge project by David Prentice and Peter Danneger.
Dean Camera [Wed, 2 Dec 2009 14:03:57 +0000 (14:03 +0000)]
Removed John Steggall's software UART code from the XPLAIN Bridge project due to reliability issues.
Dean Camera [Wed, 2 Dec 2009 13:42:08 +0000 (13:42 +0000)]
Add support for unwrapping of the XMEGA PDI programming protocol to the AVRISP Programmer project.
Dean Camera [Wed, 2 Dec 2009 12:04:37 +0000 (12:04 +0000)]
Rename V2ProtocolTarget files to ISPTarget in the AVRISP Programmer Clone project.
Dean Camera [Wed, 2 Dec 2009 12:02:01 +0000 (12:02 +0000)]
Factor out all the ISP related code into a seperate ISPProtocol set of files in the AVRISP Clone programmer project, to clearly seperate out the programming protocols when PDI programming is implemented.
Dean Camera [Wed, 2 Dec 2009 11:37:39 +0000 (11:37 +0000)]
Rename the V2Protocol command handlers in the AVRISP project in preperation of XMEGA PDI programming support.
Dean Camera [Mon, 30 Nov 2009 02:20:26 +0000 (02:20 +0000)]
Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device.
Dean Camera [Sun, 29 Nov 2009 07:41:54 +0000 (07:41 +0000)]
Fixed USB driver failing to define the PLL prescaler mask for the ATMEGA8U2 and ATMEGA16U2.
Simplified the USB.h master include file's target validity checks.
Dean Camera [Sun, 29 Nov 2009 05:19:41 +0000 (05:19 +0000)]
Add to the existing CDC Class Driver's CreateStream() function documentation to explicitly state that the created streams are bidirectional.
Dean Camera [Fri, 27 Nov 2009 06:32:26 +0000 (06:32 +0000)]
Better checking of whether a packet is received in the RNDISEthernetHost Class driver demo - show busy LED status while packets are being printed out.
Dean Camera [Thu, 26 Nov 2009 13:59:11 +0000 (13:59 +0000)]
Enable pullup on the PD5 pin of the AVR in the XPLAINBridge project - this is connected to the XMEGA's /RESET line, need to enable pullup to prevent spurrious resets.
Dean Camera [Thu, 26 Nov 2009 11:40:15 +0000 (11:40 +0000)]
Complete RNDIS Host Class driver code - add SendPacket function.
Correct CDC Host Class driver token handling for sending data on bidirectional data endpoints.
Dean Camera [Thu, 26 Nov 2009 11:29:06 +0000 (11:29 +0000)]
Make the RNDISEthernetHost Class driver demo print out incomming packets from the attached RNDIS device.
Dean Camera [Thu, 26 Nov 2009 11:16:20 +0000 (11:16 +0000)]
Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero, which some devices use instead of Note Off messages (thanks to Robin Green).
Dean Camera [Thu, 26 Nov 2009 05:08:00 +0000 (05:08 +0000)]
Remove documentation of deleted parameters from the RNDIS Host Class driver's device Initialize function.
Dean Camera [Thu, 26 Nov 2009 04:50:15 +0000 (04:50 +0000)]
Fix RNDIS Device Class driver - RNDISConstants.h has moved out to the Common Class driver directory.
Dean Camera [Thu, 26 Nov 2009 04:46:31 +0000 (04:46 +0000)]
Added new RNDIS Host class driver and the beginnings of a RNDISEthernetHost Class Driver demo.
Fixed all Class drivers to ensure they have appropriate guards on each function to ensure the device is enumerated before running, fixed error codes on all guards to return "DeviceDisconnected" where possble.
Renamed HOST_SENDCONTROL_DeviceDisconnect enum value to HOST_SENDCONTROL_DeviceDisconnected to be in line with the rest of the library enum error codes.
Dean Camera [Thu, 26 Nov 2009 01:17:29 +0000 (01:17 +0000)]
Updated John Steggall's software USART in the XPLAINBridge project.
Dean Camera [Wed, 25 Nov 2009 04:23:40 +0000 (04:23 +0000)]
Fix typo in the StillImageHost LowLevel demo, and the CDC Host Class Driver.
Dean Camera [Wed, 25 Nov 2009 04:13:14 +0000 (04:13 +0000)]
Fix more Doxygen errors from missing parameter documentation.
Dean Camera [Wed, 25 Nov 2009 03:56:51 +0000 (03:56 +0000)]
Fix build and Doxygen errors.
Dean Camera [Wed, 25 Nov 2009 03:33:14 +0000 (03:33 +0000)]
Removed old empty RNDISEthernetHost directory from the Incomplete Host demos folder.
Dean Camera [Wed, 25 Nov 2009 03:26:57 +0000 (03:26 +0000)]
Added new RNDISHost Host LowLevel demo. Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction. Fixed CDCHost failing on devices with bidirectional endpoints.
Dean Camera [Wed, 25 Nov 2009 00:36:18 +0000 (00:36 +0000)]
Added new XPLAIN serial Bridge project (thanks to John Steggall for the software UART code).
Dean Camera [Tue, 24 Nov 2009 14:10:28 +0000 (14:10 +0000)]
Make the StandaloneProgrammer project seamlessly read out drive contents from either an attached FAT formatted drive when in host mode, or the onboard FAT formatted dataflash when in device mode.
Dean Camera [Tue, 24 Nov 2009 08:54:41 +0000 (08:54 +0000)]
Fixed host state machine not enabling Auto VBUS mode when HOST_DEVICE_SETTLE_DELAY_MS is set to zero.
Dean Camera [Tue, 24 Nov 2009 01:56:59 +0000 (01:56 +0000)]
Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount.
Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK.
Dean Camera [Mon, 23 Nov 2009 13:35:52 +0000 (13:35 +0000)]
Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions.
Dean Camera [Mon, 23 Nov 2009 13:22:33 +0000 (13:22 +0000)]
Added new ReportType parameter to the HID Device Class driver CALLBACK_HID_Device_CreateHIDReport() callback to indicate the report type to generate.
Dean Camera [Mon, 23 Nov 2009 13:01:50 +0000 (13:01 +0000)]
Fixed incorrect values for REPORT_ITEM_TYPE_* enum values causing corrupt data in the HID Host Parser.
Dean Camera [Mon, 23 Nov 2009 12:40:14 +0000 (12:40 +0000)]
The incomplete StandaloneProgrammer project now uses Host and Device Mass storage classes, so that program data can either be loaded onto the device's Dataflash storage, or read off an attached USB memory stick.
The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR).
The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class driver common defines, rather than being defined in the Host mode Class driver section only.
The USB_MODE_HOST token is now defined even when host mode is not available.
Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver.
Dean Camera [Mon, 23 Nov 2009 05:45:59 +0000 (05:45 +0000)]
Removed code to zero reports between two keyboard reports with differing number of pressed keys, as this relied on non-standard OS behaviour.
Dean Camera [Mon, 23 Nov 2009 05:28:08 +0000 (05:28 +0000)]
Add activity LED updates to the AVRISP project.
Dean Camera [Sun, 22 Nov 2009 04:56:59 +0000 (04:56 +0000)]
Commit for the 091122 release.
Dean Camera [Fri, 20 Nov 2009 06:56:43 +0000 (06:56 +0000)]
Fixed Endpoint_Write_Control_Stream_* functions not sending a terminating IN when the given data length is zero.
Dean Camera [Fri, 20 Nov 2009 04:39:41 +0000 (04:39 +0000)]
Fixed LowLevel Keyboard demo not saving the issued report only after it has been written to the endpoint.
Added support for multiple keyboard keycodes in a single report to the LowLevel and ClassDriver Keyboard demos.
Dean Camera [Tue, 17 Nov 2009 11:28:07 +0000 (11:28 +0000)]
Fix doxygen documentation - doxygen was getting confused on the variable-length ATTR_NON_NULL_PTR_ARG() macro used on function prototypes and was generating many return types for several functions in the documentation (thanks to David Lyons).
Dean Camera [Tue, 17 Nov 2009 10:32:17 +0000 (10:32 +0000)]
Make RNDISHost demo validate the set Packet Filter to ensure that it is being sent correctly.
Add new (incomplete) StandaloneProgrammer project, using the ELM Petite FAT library to read files stored on the board's dataflash by the host.
Dean Camera [Mon, 16 Nov 2009 05:45:05 +0000 (05:45 +0000)]
Fixed HOST_STATE_AS_GPIOR being ignored whilst in Host mode (thanks to David Lyons).