pub/USBasp.git
15 years agoAdded explicit ADC channel masks for the standard set of ADC channels, as the single...
Dean Camera [Mon, 25 Jan 2010 00:52:45 +0000 (00:52 +0000)]
Added explicit ADC channel masks for the standard set of ADC channels, as the single-ended channel MUX masks are not equal to the channel number on some AVR models. Changed demos to use the new channel masks when using the ADC driver.

15 years agoFixed DFU bootloader programming not discarding the correct number of filler bytes...
Dean Camera [Sun, 24 Jan 2010 13:38:20 +0000 (13:38 +0000)]
Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming ranges are specified (thanks to Thomas Bleeker).

15 years agoEnhance TemperatureDatalogger project -- add RTC capabilities so that data is logged...
Dean Camera [Sun, 24 Jan 2010 11:13:23 +0000 (11:13 +0000)]
Enhance TemperatureDatalogger project -- add RTC capabilities so that data is logged along with the current time and date. Make logging interval configurable, set by a C# PC host application.

15 years agoFix up the incomplete Webserver project so that it integrates with the uIP stack...
Dean Camera [Thu, 21 Jan 2010 13:45:44 +0000 (13:45 +0000)]
Fix up the incomplete Webserver project so that it integrates with the uIP stack correctly. Add simple HTTP webserver as a placeholder until FatFS can be integrated.

Begin to look into the RNDIS Host Class Driver, which seems to crash on test hardware after many packets have been received.

15 years agoNew revision Benito hardware will be 16MHz, and use the ATMEGA32U2. Change makefile...
Dean Camera [Thu, 21 Jan 2010 06:25:07 +0000 (06:25 +0000)]
New revision Benito hardware will be 16MHz, and use the ATMEGA32U2. Change makefile to suit.

15 years agoUpdate Benito project -- device should be reset when DTR is *asserted* not deasserted.
Dean Camera [Thu, 21 Jan 2010 06:13:54 +0000 (06:13 +0000)]
Update Benito project -- device should be reset when DTR is *asserted* not deasserted.

15 years agoUpdate library manual with the new XPLAINBridge project's dual mode bridge/programmer...
Dean Camera [Tue, 19 Jan 2010 05:43:58 +0000 (05:43 +0000)]
Update library manual with the new XPLAINBridge project's dual mode bridge/programmer functionality.

15 years agoClean up of the altered XPLAINBridge project.
Dean Camera [Tue, 19 Jan 2010 05:38:21 +0000 (05:38 +0000)]
Clean up of the altered XPLAINBridge project.

15 years agoChanged XPLAINBridge project to be both a USB to USART bridge and a PDI programmer...
Dean Camera [Tue, 19 Jan 2010 05:27:58 +0000 (05:27 +0000)]
Changed XPLAINBridge project to be both a USB to USART bridge and a PDI programmer, based on the state of a mode select pin.

15 years agoAdded master mode hardware TWI driver.
Dean Camera [Tue, 19 Jan 2010 00:25:26 +0000 (00:25 +0000)]
Added master mode hardware TWI driver.

Fixed a bug in the incomplete Webserver project, where the packet data was not being written to and read from the correct buffer address.

15 years agoOops - missing brace in the updated Benito code causing compilation to fail.
Dean Camera [Sun, 17 Jan 2010 06:28:25 +0000 (06:28 +0000)]
Oops - missing brace in the updated Benito code causing compilation to fail.

15 years agoFix the Benito project not pulsing the target's /RESET line when DTR is de-asserted.
Dean Camera [Sun, 17 Jan 2010 05:32:41 +0000 (05:32 +0000)]
Fix the Benito project not pulsing the target's /RESET line when DTR is de-asserted.

15 years agoClean up and add more comments to the AVRISP-MKII project. Make sure the SPI_MULTI...
Dean Camera [Sun, 17 Jan 2010 04:39:33 +0000 (04:39 +0000)]
Clean up and add more comments to the AVRISP-MKII project. Make sure the SPI_MULTI command handler supports multiple packet responses. Use slightly smaller/faster repeated indirect-load commands when retrieving the PDI target's memory CRCs.

15 years agoFix incorrect preprocessor checks in the PLL prescaler mask determination code for...
Dean Camera [Sat, 16 Jan 2010 00:40:52 +0000 (00:40 +0000)]
Fix incorrect preprocessor checks in the PLL prescaler mask determination code for the ATMEGA32U2.

15 years agoFixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers
Dean Camera [Fri, 15 Jan 2010 02:42:54 +0000 (02:42 +0000)]
Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers

Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders

Changed incomplete Webserver project over to using the uIP timer library.

15 years agoStarted Webserver RNDIS host project.
Dean Camera [Tue, 12 Jan 2010 07:29:43 +0000 (07:29 +0000)]
Started Webserver RNDIS host project.

15 years agoFixed incorrect interface values in the VirtualSerialMouse and KeyboardMouse demo...
Dean Camera [Tue, 12 Jan 2010 00:42:00 +0000 (00:42 +0000)]
Fixed incorrect interface values in the VirtualSerialMouse and KeyboardMouse demo class driver structures.

Added caveat information to the CDC device class driver.

15 years agoOops - incorrect Dataflash chip select mask in the XPLAIN Dataflash driver.
Dean Camera [Thu, 7 Jan 2010 13:23:43 +0000 (13:23 +0000)]
Oops - incorrect Dataflash chip select mask in the XPLAIN Dataflash driver.

15 years agoFix XPLAIN Dataflash and LED drivers.
Dean Camera [Thu, 7 Jan 2010 12:38:32 +0000 (12:38 +0000)]
Fix XPLAIN Dataflash and LED drivers.

15 years agoUpdate Doxygen configuration files to the latest Doxygen version.
Dean Camera [Wed, 6 Jan 2010 13:37:29 +0000 (13:37 +0000)]
Update Doxygen configuration files to the latest Doxygen version.

15 years agoAdded support to the MIDI Class drivers for packed data, where multiple MIDI events...
Dean Camera [Tue, 5 Jan 2010 13:52:34 +0000 (13:52 +0000)]
Added support to the MIDI Class drivers for packed data, where multiple MIDI events are packed into a single USB packet. Added new MIDI Class driver flush routines to override packing behaviour.

15 years agoInline USB management functions in the Class drivers which are standardized but curre...
Dean Camera [Tue, 5 Jan 2010 04:50:18 +0000 (04:50 +0000)]
Inline USB management functions in the Class drivers which are standardized but currently unused, to prevent them from using up unneccesary cycles and flash in the user application.

15 years agoFix MassStorageKeyboard demo USE_INTERNAL_SERIAL check being performed before the...
Dean Camera [Mon, 4 Jan 2010 13:34:02 +0000 (13:34 +0000)]
Fix MassStorageKeyboard demo USE_INTERNAL_SERIAL check being performed before the required library headers were included, causing a compilation error.

Added notes to the class driver functions indicating which functions require what Device/Host state machine states to function.

15 years agoFix CDC blocking streams in Host mode locking up when the device is removed.
Dean Camera [Mon, 4 Jan 2010 00:33:31 +0000 (00:33 +0000)]
Fix CDC blocking streams in Host mode locking up when the device is removed.

15 years agoFixed blocking CDC streams not aborting when the host is disconnected.
Dean Camera [Mon, 4 Jan 2010 00:14:09 +0000 (00:14 +0000)]
Fixed blocking CDC streams not aborting when the host is disconnected.

15 years agoClean up MassStorageKeyboard demo.
Dean Camera [Sun, 3 Jan 2010 03:48:40 +0000 (03:48 +0000)]
Clean up MassStorageKeyboard demo.

15 years agoUpdate copyright year to 2010.
Dean Camera [Wed, 30 Dec 2009 23:49:19 +0000 (23:49 +0000)]
Update copyright year to 2010.

15 years agoOops - remove accidentally committed .lst files from the TemperatureDataLogger project.
Dean Camera [Wed, 30 Dec 2009 13:38:05 +0000 (13:38 +0000)]
Oops - remove accidentally committed .lst files from the TemperatureDataLogger project.

15 years agoFix TemperatureDataLogger - sample tick timer wasn't being initialized in the correct...
Dean Camera [Wed, 30 Dec 2009 13:35:24 +0000 (13:35 +0000)]
Fix TemperatureDataLogger - sample tick timer wasn't being initialized in the correct CTC mode.

15 years agoOops - fix include directory for case-sensitive filesystems.
Dean Camera [Wed, 30 Dec 2009 09:02:44 +0000 (09:02 +0000)]
Oops - fix include directory for case-sensitive filesystems.

15 years agoAdd new TemperatureDataLogger project, a simple USB Mass Storage class Temperature...
Dean Camera [Wed, 30 Dec 2009 09:00:29 +0000 (09:00 +0000)]
Add new TemperatureDataLogger project, a simple USB Mass Storage class Temperature Data Logger using the onboard Dataflash and Temperature sensor.

15 years agoReduced guard bit time in the AVRISP project PDI/TPI protocols to reduce the time...
Dean Camera [Tue, 29 Dec 2009 14:54:52 +0000 (14:54 +0000)]
Reduced guard bit time in the AVRISP project PDI/TPI protocols to reduce the time needed to reverse the data communication direction.

15 years agoFixed AVRISP PDI race condition where the guard time between direction changes could...
Dean Camera [Tue, 29 Dec 2009 14:43:03 +0000 (14:43 +0000)]
Fixed AVRISP PDI race condition where the guard time between direction changes could be interpreted as a start bit. Fixed TPI interface lines not being changed correctly when in bit-banged TPI mode.

15 years agoChange the AVRISP project's RESET LINE makefile tokens to AUX LINE, as it is not...
Dean Camera [Tue, 29 Dec 2009 05:18:16 +0000 (05:18 +0000)]
Change the AVRISP project's RESET LINE makefile tokens to AUX LINE, as it is not always used for target reset.

15 years agoMinor documentation updates.
Dean Camera [Tue, 29 Dec 2009 05:08:08 +0000 (05:08 +0000)]
Minor documentation updates.

15 years agoFix TPI NVM Write handler -- AVRStudio sends out writes in page sized chunks, not...
Dean Camera [Mon, 28 Dec 2009 07:50:20 +0000 (07:50 +0000)]
Fix TPI NVM Write handler -- AVRStudio sends out writes in page sized chunks, not byte sized chunks.

15 years agoAdd first draft of the TPI NVM commands for reading, writing and erasing a target...
Dean Camera [Mon, 28 Dec 2009 07:17:21 +0000 (07:17 +0000)]
Add first draft of the TPI NVM commands for reading, writing and erasing a target. Needs testing when physical access to a part is available.

15 years agoAdd dummy undocumented TPI XPROG parameters to the AVRISP project so that TPI program...
Dean Camera [Mon, 28 Dec 2009 02:58:23 +0000 (02:58 +0000)]
Add dummy undocumented TPI XPROG parameters to the AVRISP project so that TPI programming mode can be entered.

15 years agoRemove duplicate #include of <avr/wdt.h> in the TeensyHID bootloader.
Dean Camera [Mon, 28 Dec 2009 00:55:23 +0000 (00:55 +0000)]
Remove duplicate #include of <avr/wdt.h> in the TeensyHID bootloader.

15 years agoFix MIT license language to make its intent clearer.
Dean Camera [Mon, 28 Dec 2009 00:34:20 +0000 (00:34 +0000)]
Fix MIT license language to make its intent clearer.

15 years agoFix mistakes in the XPROGTarget.c/.h files for TPI mode software USART clock rate...
Dean Camera [Sun, 27 Dec 2009 14:17:01 +0000 (14:17 +0000)]
Fix mistakes in the XPROGTarget.c/.h files for TPI mode software USART clock rate and PDI mode XPLAIN board autoconfiguration.

15 years agoFix references to the renamed AVRISP-MKII project folder.
Dean Camera [Sun, 27 Dec 2009 12:35:31 +0000 (12:35 +0000)]
Fix references to the renamed AVRISP-MKII project folder.

15 years agoRename AVRISP project folder to AVRISP-MKII.
Dean Camera [Sun, 27 Dec 2009 12:28:29 +0000 (12:28 +0000)]
Rename AVRISP project folder to AVRISP-MKII.

15 years agoRemove missed timer 0 init code in the ISP protocol handler in the AVRISP project...
Dean Camera [Sun, 27 Dec 2009 07:14:57 +0000 (07:14 +0000)]
Remove missed timer 0 init code in the ISP protocol handler in the AVRISP project. Switch the XPROG protocol target communications handler over to using Timer 1 COMA/COMB ISRs for the two physical layers, rather than COMA/ICR1. Speed up bit-banged USART mode slightly.

15 years agoFixed ISP mode in the AVRISP programmer project.
Dean Camera [Sat, 26 Dec 2009 05:20:10 +0000 (05:20 +0000)]
Fixed ISP mode in the AVRISP programmer project.

15 years agoAdded const where possible to the source functions in the Projects directory.
Dean Camera [Sat, 26 Dec 2009 04:13:55 +0000 (04:13 +0000)]
Added const where possible to the source functions in the Projects directory.

Added command timeout to the AVRISP project so that incorrectly connected targets no longer freeze the device.

Removed string descriptors from the TeensyHID bootloader to reduce its size.

15 years agoComplete TPI protocol code to enter and exit TPI programming mode for the ATTINY...
Dean Camera [Thu, 24 Dec 2009 03:02:26 +0000 (03:02 +0000)]
Complete TPI protocol code to enter and exit TPI programming mode for the ATTINY 6-pin devices.

15 years agoComplete combining of PDI and TPI target communication code files, stub out TINY...
Dean Camera [Thu, 24 Dec 2009 02:52:10 +0000 (02:52 +0000)]
Complete combining of PDI and TPI target communication code files, stub out TINY NVM controller functions.

15 years agoRename PDITarget.c/.h to XPROGTarget.c/.h so that both PDI and TPI programming can...
Dean Camera [Thu, 24 Dec 2009 02:29:01 +0000 (02:29 +0000)]
Rename PDITarget.c/.h to XPROGTarget.c/.h so that both PDI and TPI programming can be included in the one set of files.

15 years agoRemove serial driver use from the AVRISP project now that it is no longer needed.
Dean Camera [Thu, 24 Dec 2009 02:27:21 +0000 (02:27 +0000)]
Remove serial driver use from the AVRISP project now that it is no longer needed.

15 years agoCombine PDIProtocol and TPIProtocol into a single XPROGProtocol set of files.
Dean Camera [Thu, 24 Dec 2009 02:14:04 +0000 (02:14 +0000)]
Combine PDIProtocol and TPIProtocol into a single XPROGProtocol set of files.

15 years agoRename PDIProtocol.c/.h to XPROGProtocol.c/.h as it will now handle both TPI and...
Dean Camera [Thu, 24 Dec 2009 01:59:36 +0000 (01:59 +0000)]
Rename PDIProtocol.c/.h to XPROGProtocol.c/.h as it will now handle both TPI and PDI programming.

15 years agoCombine AVRISP project TPI and PDI lib directories - these protocols use the same...
Dean Camera [Thu, 24 Dec 2009 01:55:53 +0000 (01:55 +0000)]
Combine AVRISP project TPI and PDI lib directories - these protocols use the same underlying XPROG wrapper for the host-to-programmer command wrapping.

15 years agoCorrect include paths and makefile for the AVRISP project now that the protocol handl...
Dean Camera [Wed, 23 Dec 2009 14:52:52 +0000 (14:52 +0000)]
Correct include paths and makefile for the AVRISP project now that the protocol handlers are in seperate directories.

15 years agoMake seperate ISP, PDI and TPI folders in the AVRISP project Lib subdirectory to...
Dean Camera [Wed, 23 Dec 2009 14:45:47 +0000 (14:45 +0000)]
Make seperate ISP, PDI and TPI folders in the AVRISP project Lib subdirectory to hold each protocol's files.

15 years agoLower timeout periods in the AVRISP project. Increment firmware minor revision number...
Dean Camera [Wed, 23 Dec 2009 14:42:50 +0000 (14:42 +0000)]
Lower timeout periods in the AVRISP project. Increment firmware minor revision number in the AVRISP project so that it remains comatible with the latest AVRStudio without an upgrade warning.

15 years agoStub out more of the TPI programming protocol routines in the AVRISP project.
Dean Camera [Wed, 23 Dec 2009 13:28:44 +0000 (13:28 +0000)]
Stub out more of the TPI programming protocol routines in the AVRISP project.

15 years agoSeperate out XMEGA and TINY NVM routines into seperate files.
Dean Camera [Wed, 23 Dec 2009 13:07:51 +0000 (13:07 +0000)]
Seperate out XMEGA and TINY NVM routines into seperate files.

15 years agoStart of implementation of the low level TPI programming protocol in the AVRISP project.
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.

15 years agoFix TeensyHID bootloader - change vendor page in the descriptors to match the undocum...
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.

15 years agoOoops - TeensyHID bootloader makefile should use a 16MHz FCPU, not 8MHz.
Dean Camera [Mon, 21 Dec 2009 10:44:00 +0000 (10:44 +0000)]
Ooops - TeensyHID bootloader makefile should use a 16MHz FCPU, not 8MHz.

15 years agoEnsure that unsupported SetFeature/ClearFeature request targets cause a STALL back...
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.

15 years agoCorrect TeensyHID bootloader descriptors to use the correct revision code for the...
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.

15 years agoFixed AVRISP project timeouts not checking for the correct timeout period (thanks...
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).

15 years agoAdded new NO_DEVICE_SELF_POWER and NO_DEVICE_REMOTE_WAKEUP compile time options.
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.

15 years agoFixed TeensyHID bootloader not enumerating to the host correctly.
Dean Camera [Sun, 20 Dec 2009 12:09:22 +0000 (12:09 +0000)]
Fixed TeensyHID bootloader not enumerating to the host correctly.

15 years agoAdd const qualifier to the parameters of Projects' functions where possible.
Dean Camera [Sun, 20 Dec 2009 06:23:24 +0000 (06:23 +0000)]
Add const qualifier to the parameters of Projects' functions where possible.

15 years agoAdded CPU Usage monitor host app to the LEDNotifier project.
Dean Camera [Sun, 20 Dec 2009 05:40:17 +0000 (05:40 +0000)]
Added CPU Usage monitor host app to the LEDNotifier project.

15 years agoAdd LEDNotifier project to the Projects folder build list. Add new LEDMixer C# host...
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.

15 years agoFix up references in the LEDNotifier project to the old HotmailNotifier name.
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.

15 years agoRename HotmailNotifier project files to LEDNotifier.
Dean Camera [Fri, 18 Dec 2009 05:25:51 +0000 (05:25 +0000)]
Rename HotmailNotifier project files to LEDNotifier.

15 years agoRenamed HotmailNotifier project to LEDNotifier.
Dean Camera [Fri, 18 Dec 2009 05:22:57 +0000 (05:22 +0000)]
Renamed HotmailNotifier project to LEDNotifier.

15 years agoEnhance the HotmailNotifier project so that the LEDs' individual brightness can be...
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.

15 years agoFixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is...
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).

15 years agoUn-inline the SendAddress function in NVMTarget.c/.h of the AVRISP project.
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.

15 years agoMore speed and quality improvements to the software USART in the AVRISP project.
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.

15 years agoSlightly speed up software USART in the AVRISP project - faster parity computation...
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.

15 years agoThe SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image...
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.

15 years agoUse default NVM base address in the AVRISP programmer project in case the host progra...
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.

15 years agoSpeed up bit-banged USART code in the AVRISP project.
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".

15 years agoComplete initial working revision of PDI programming in the AVRISP project (XMEGAs...
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).

15 years agoFix a bug in the Still Image Host Class driver where the returned block status code...
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.

15 years agoAdd Lock/Fuse byte programming support to the AVRISP PDI programming protocol code.
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.

15 years agoFix error in AVRISP programmer when repeatedly using PDI mode via the hardware USART...
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.

15 years agoAdd Doxygen documentation to the completed portions of the PDI programming protocol...
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.

15 years agoUse the PDI REPEAT instruction in the PDI programmer code to reduce protocol overhead...
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.

15 years agoAdded memory erase handling to the PDI protocol in the AVRISP project.
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.

15 years agoFix NVM commands so that memory reads and CRC generations now work correctly using...
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.

15 years agoSplit out NVM access code in the AVRISP project into a seperate NVMTarget.c source...
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.

15 years agoTest with -Wextra, fix library warnings due to unused function parameters.
Dean Camera [Sun, 13 Dec 2009 14:43:34 +0000 (14:43 +0000)]
Test with -Wextra, fix library warnings due to unused function parameters.

15 years agoOops - wrong casting on the Configuration Descriptor pointer advance routine.
Dean Camera [Sun, 13 Dec 2009 14:16:29 +0000 (14:16 +0000)]
Oops - wrong casting on the Configuration Descriptor pointer advance routine.

15 years agoUse -pedantic compile time option to find and correct several minor code errors.
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.

15 years agoThe AVRISP project can now enter PDI mode under both bit-bang and hardware USART...
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.

15 years agoPDI NVM enable is fast enough that bare polling is enough without a fixed delay in...
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.

15 years agoFix PDI code - must send NVM enable key least significant byte first, need to make...
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.

15 years agoFix AVRISP PDI protocol - make sure inverted masks have the appropriate parenthesis...
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.

15 years agoChange over AVRISP project to have both hardware USART and software USART modes for...
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.

15 years agoFix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in...
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.

15 years agoAdd even parity bit to the software USART framing in the AVRISP project's PDI program...
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.

15 years agoFix inverted bit-banged USART logic in the AVRISP project for PDI programming. Add...
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.