Dean Camera
2f6c096050
Complete initial working revision of PDI programming in the AVRISP project (XMEGAs can now be programmed by the firmware).
15 years ago
Dean Camera
79efd8c79e
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.
15 years ago
Dean Camera
8ea051de63
Add Lock/Fuse byte programming support to the AVRISP PDI programming protocol code.
15 years ago
Dean Camera
a7880ac1cd
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.
15 years ago
Dean Camera
bb38793312
Add Doxygen documentation to the completed portions of the PDI programming protocol in the AVRISP project.
15 years ago
Dean Camera
f3e4fbe512
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.
15 years ago
Dean Camera
48e50b6b57
Added memory erase handling to the PDI protocol in the AVRISP project.
15 years ago
Dean Camera
8a55d80e7e
Fix NVM commands so that memory reads and CRC generations now work correctly using unoptimized PDI commands.
15 years ago
Dean Camera
1fa27139f5
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.
15 years ago
Dean Camera
3705330dd3
Use -pedantic compile time option to find and correct several minor code errors.
15 years ago
Dean Camera
307ba254d5
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.
15 years ago
Dean Camera
33a46b243a
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.
15 years ago
Dean Camera
66201a05e9
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.
15 years ago
Dean Camera
7e5966c1a8
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.
15 years ago
Dean Camera
42cfd15793
Change over AVRISP project to have both hardware USART and software USART modes for the PDI protocol, when enabled. Fix up PDI initialisation routines.
15 years ago
Dean Camera
7aecda6fda
Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order.
15 years ago
Dean Camera
1e3513ed70
Add even parity bit to the software USART framing in the AVRISP project's PDI programming code.
15 years ago
Dean Camera
9c8ed168e5
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.
15 years ago
Dean Camera
7ace314cc1
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.).
15 years ago
Dean Camera
2281750b5f
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.
15 years ago
Dean Camera
2919aeeaab
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.
15 years ago
Dean Camera
f338ddcb87
Make sure the protocol handler files are included in the Doxygen documentation of the AVRISP project.
15 years ago
Dean Camera
258a6a0177
Fix the tokens which enable and disable the different programming protocols in the AVRISP project.
15 years ago
Dean Camera
f1baf12fae
Auto-configure AVRISP programmer configuration when built for the XPLAIN board to match the XPLAIN hardware connections.
15 years ago
Dean Camera
a5adbae652
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.
15 years ago
Dean Camera
f69f03cb0d
Started implementing the low level PDI protocol in the AVRISP project, for XMEGA device programming.
15 years ago
Dean Camera
f92b56191d
Add new more reliable software UART for the XPLAINBridge project by David Prentice and Peter Danneger.
15 years ago
Dean Camera
fec31947a6
Removed John Steggall's software UART code from the XPLAIN Bridge project due to reliability issues.
15 years ago
Dean Camera
1f8dfd0205
Add support for unwrapping of the XMEGA PDI programming protocol to the AVRISP Programmer project.
15 years ago
Dean Camera
5930f47bf4
Rename V2ProtocolTarget files to ISPTarget in the AVRISP Programmer Clone project.
15 years ago
Dean Camera
1ed6925b5b
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.
15 years ago
Dean Camera
1645c3d243
Rename the V2Protocol command handlers in the AVRISP project in preperation of XMEGA PDI programming support.
15 years ago
Dean Camera
1b2cd16976
Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device.
15 years ago
Dean Camera
e5057fec8e
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.
15 years ago
Dean Camera
f37d21bbe9
Updated John Steggall's software USART in the XPLAINBridge project.
15 years ago
Dean Camera
a04131cf04
Fix more Doxygen errors from missing parameter documentation.
15 years ago
Dean Camera
50f4a3b625
Fix build and Doxygen errors.
15 years ago
Dean Camera
8c6c27d88b
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.
15 years ago
Dean Camera
c05c7c7df4
Added new XPLAIN serial Bridge project (thanks to John Steggall for the software UART code).
15 years ago
Dean Camera
d3f11eb528
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.
15 years ago
Dean Camera
702bec892d
Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions.
15 years ago
Dean Camera
8b009bc113
Added new ReportType parameter to the HID Device Class driver CALLBACK_HID_Device_CreateHIDReport() callback to indicate the report type to generate.
15 years ago
Dean Camera
aaa0bed556
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.
15 years ago
Dean Camera
86db035b1e
Add activity LED updates to the AVRISP project.
15 years ago
Dean Camera
7ef58eef7a
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.
15 years ago
Dean Camera
9b20114555
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.
15 years ago
Dean Camera
e625fd6df3
Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor().
15 years ago
Dean Camera
d6edfe35c8
Spell check all source code variables, comments and strings.
15 years ago
Dean Camera
c647c27639
Minor changes to the AVRISP project for code clarity.
15 years ago
Dean Camera
4dde844e9f
Remove dependancies from the LowLevel demos to the ClassDriver demos, since the use of ClassDriver headers now outputs an error when NO_STREAM_CALLBACKS is used.
15 years ago