Commit Graph

18 Commits (2f6c096050ee0057ccbff0ee87d58f72fae75748)

Author SHA1 Message Date
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 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 2919aeeaab Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items.
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 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