Commit Graph

152 Commits

Author SHA1 Message Date
Dean Camera c43605612d Lower bulk endpoint polling rate in the descriptors to the lowest possible value to give maximum throughput. 2010-11-22 05:24:33 +00:00
Dean Camera 8f7437dda2 Rename incorrectly named XPROGTarget_SendBreak() function to XPROGTarget_SendIdle(), as it is sending idle bits and not break bits. 2010-11-17 05:46:18 +00:00
Dean Camera cbc00c843a Fixed AVRISP-MKII clone project not starting the target's program automatically after exiting TPI programming mode. 2010-11-16 13:14:27 +00:00
Dean Camera a9f313afa9 Slow AVRISP-MKII clone PDI/TPI programming speed back to 250KHz due to issues with the XPLAINBridge when PDI programming at faster rates.
Speed up XMEGANVM_WaitWhileNVMControllerBusy() by preloading the status register address into the pointer register of the target's NVM controller and then reading via a faster indirect load command.
2010-11-16 12:30:00 +00:00
Dean Camera 002cd6df49 Added new XCK_RESCUE_CLOCK_ENABLE compile time option to the AVRISP-MKII clone programmer project (thanks to Tom Light). 2010-11-16 01:37:43 +00:00
Dean Camera f2324fc2b4 Second patch to fix incorrect PDI/TPI programming speed. 2010-11-14 06:44:57 +00:00
Dean Camera d41cd9a41a Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz. 2010-11-12 06:24:01 +00:00
Dean Camera 0ce2950d81 Added board hardware driver support for the Adafruit U4 breakout board.
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.

Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
2010-11-08 03:41:48 +00:00
Dean Camera 5ce8380a7d Fix XPLAINBridge code broken during the changes to the Rescue Clock generation in the AVRISP-MKII clone project.
Change over all low level host mode project's descriptor comparator routines to perform the descriptor casting in a temp variable to make the code clearer and easier to modify (despite being more verbose).
2010-11-02 11:16:36 +00:00
Dean Camera 3bf760ad7d Rescue clock of the AVRISP-MKII moved to the AVR's OCR1A pin, so that the clock can be generated at all times when 125KHz ISP programming mode is selected. 2010-11-02 07:57:23 +00:00
Dean Camera cb779e3d7d Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists. 2010-10-28 06:08:58 +00:00
Dean Camera 5a4def7478 Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda 2010-10-13 14:05:35 +00:00
Dean Camera 93793679c9 Revert change to the AVRISP-MKII project for fuse byte programming via the CMDEX bit - this appears to be an error in the XMEGA manual external memory programming table. 2010-10-02 10:07:24 +00:00
Dean Camera a447ae134f Fixed broken lock byte programming in the AVRISP-MKII clone project for some XMEGA targets. 2010-10-02 10:02:24 +00:00
Dean Camera 824ce10390 Fixed broken FLASH/EEPROM programming in the AVRISP-MKII clone project when writing in non-paged mode and the polling byte cannot be used. 2010-10-02 08:41:08 +00:00
Dean Camera a509729b2d Changed default value for the reset polarity parameter in the AVRISP-MKII project so that it defaults to active low drive.
Fixed incorrect USB_DeviceState value when unconfiguring the device without an address set.
2010-09-29 13:56:52 +00:00
Dean Camera 009eebf229 Fix incorrect ADC driver documentation for the parameters of ADC_Init(), fix incorrect call to ADC_Init() in the TemperatureDatalogger project. 2010-08-31 07:32:48 +00:00
Dean Camera 81998ce297 Added compile time error to the AVRISP-MKII project when built for the U4 chips, as the default VTARGET detection ADC channel does not exist on these chips (thanks to Marco). 2010-08-22 01:42:09 +00:00
Dean Camera 9274610a48 Commit for the 100807 release. 2010-08-09 01:55:02 +00:00
Dean Camera 48c5cdced4 Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations. 2010-08-02 08:53:23 +00:00
Dean Camera 0f45b9c8e0 More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary. 2010-07-30 09:48:35 +00:00
Dean Camera 30c2b620de Remove obsolete macros and preprocessor checks from the AVRISP-MKII project's V2Protocol command handler header file. 2010-07-29 07:20:33 +00:00
Dean Camera de5b16909a Added support to the AVRISP-MKII project for ISP speeds slower than 125KHz via a new software SPI driver.
Added new SPI_ORDER_* data order masks to the SPI peripheral driver.
2010-07-29 07:09:57 +00:00
Dean Camera 2461ae508c Future proof the XPROG protocol of the AVRISP-MKII project, so that non PDI and TPI requests return failure. 2010-07-22 12:34:32 +00:00
Dean Camera 6bda628718 Update all demos, projects and bootloaders to indent all function parameters, one per line, for better readability.
Add missing const qualifiers to the demos.
2010-07-21 16:19:32 +00:00
Dean Camera d83cc9ac80 Change AVRISP-MKII and XPLAINBridge descriptors to indicate that the device is bus-powered only. Add compile time options to reduce the compiled size of the firmware. 2010-07-13 14:17:18 +00:00
Dean Camera 666c0fa4c3 Remove the timeout period extension code from the AVRISP project, as no single command should ever exceed the maximum timeout period. Extend timeout period to 1 second per command, so that an accidental timeout will never occur. 2010-07-13 11:26:03 +00:00
Dean Camera 016a4c068a Make loops in AVRISP-MKII Clone project's XPROG protocol infinite rather than looping on the timeout value, as this is already checked inside the loop anyway. 2010-06-25 13:19:05 +00:00
Dean Camera 51c2dcf3b0 Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project. 2010-06-17 09:17:09 +00:00
Dean Camera 711542ee89 Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better. 2010-06-16 11:01:01 +00:00
Dean Camera a14ece5f57 Change over Doxygen \note documentation to \pre where applicable. 2010-06-15 03:34:55 +00:00
Dean Camera fc92f9969c Minor documentation cleanups. 2010-06-03 15:32:45 +00:00
Dean Camera 3b95b8dedc Added new VTARGET_REF_VOLTS and VTARGET_SCALE_FACTOR compile time defines to the AVRISP-MKII programmer project to set the VTARGET reference voltage and scale factor.
Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host.
2010-05-27 10:36:21 +00:00
Dean Camera 670413603f The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan.
Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan.
2010-05-26 11:54:55 +00:00
Dean Camera ff61dfa505 Fixed AVRISP project not sending a full erase-and-write EEPROM command to XMEGA targets when writing to the EEPROM instead of the split write-only command (thanks to Tim Margush). 2010-05-16 05:43:03 +00:00
Dean Camera 80d85090ba Fixed AVRISP project sending a LOAD EXTENDED ADDRESS command to 128KB AVRs after programming or reading from the last page of FLASH. 2010-05-14 10:11:40 +00:00
Dean Camera 34047efc7e Remove incorrect check for the current device state in the Set Configuration request handler of DevChapter9, which broke Set Configuration requests to the device under most circumstances.
Move out the SPI prescaler list to a PROGMEM module-level variable in ISPTarget.c.
2010-05-13 12:57:49 +00:00
Dean Camera 571159df1b Additional fix to the AVRISP-MKII clone project for 256KB AVRs. 2010-05-13 11:14:10 +00:00
Dean Camera cd0093a14b Fixed AVRISP-MKII clone project not correctly issuing SET EXTENDED ADDRESS commands when the extended address boundary is crossed during programming or readback (thanks to Gerard Sexton).
Fixed warnings when building the AVRISP-MKII clone project with the ENABLE_XPROG_PROTOCOL compile time option disabled.
2010-05-13 09:25:17 +00:00
Dean Camera 071e02c6b6 Add svn:eol-style property to source files, so that the line endings are correctly converted to the target system's native end of line style. 2010-05-08 03:12:14 +00:00
Dean Camera ab8668b14e Removed software PDI/TPI emulation from the AVRISP-MKII clone project, as it was very buggy. PDI and TPI must now be implemented via seperate headers instead of the one unified ISP/TPI/PDI header. 2010-05-04 11:33:51 +00:00
Dean Camera eed7d4df6a Added new ENDPOINT_*_BusSuspended error code to the Endpoint function, so that the stream functions early-abort if the bus is suspended before or during a transfer. 2010-05-03 07:41:22 +00:00
Dean Camera 5c0c0327d5 Increase hardware PDI/TPI programming speed to 1MHz in the AVRISP MKII clone project. 2010-05-02 06:18:42 +00:00
Dean Camera a5e79333e5 Switch back to C based timeout ISR in the AVRISP project - assembly version was failing, and only one or two cycles could be shaved off the compiler generated code. 2010-05-02 06:02:54 +00:00
Dean Camera 3d28d53c3e Change AVRISP project's timeout to be interrupt based again, but make the interrupt itself interruptable and use a seperate assembly file to hand-optimize the ISR code.
Removed the cast to uint16_t on the set baud rate in the USBtoSerial project, so that the higher >1M baud rates can be selected (thanks to Steffan).
2010-05-02 05:16:34 +00:00
Dean Camera 9a1560dc05 Make sure that long reads are aborted early if the connection times out while waiting on more bytes in the AVRISP MKII clone project. 2010-04-30 08:33:21 +00:00
Dean Camera ceb16ee24f Make sure that the NVM bus/controller busy waits in the AVRISP MKII clone project abort properly if a timeout occurs while waiting for a response. 2010-04-30 08:27:21 +00:00
Dean Camera 85aaaf84ce Make AVRISP-MKII clone project's software PDI/TPI mode more robust by keeping track of timeouts while waiting for a Tx/Rx to finish. 2010-04-28 06:33:48 +00:00
Dean Camera 5993e1efe7 Added ability to search by Channel PSM to the GetChannelData() function in the BluetoothHost demo.
Added new HCI states to properly initialize the bluetooth dongle and retrieve the local BDADDR.

Factored out Bluetooth state information into a new state structure for easy reference in the user application.

Added new StackInitialized() Bluetooth stack callback function.
2010-04-22 14:08:00 +00:00
Dean Camera fa1a092901 Add user callback function to the Bluetooth host demo to filter out connections from remote devices. Add in ability to reject connections based on their bluetooth device address.
Clean up RelayBoard project code.

Make AVRISP project clear the XMEGA target's reset register twice; this does not appear to take affect properly the first time under some circumstances.
2010-04-05 08:09:12 +00:00
Dean Camera c9148f9b47 Added WIN_LIBUSB_COMPAT compile time option to the AVRISP programmer project to make the code compatible with Windows builds of avrdude at the expense of AVRStudio compatibility. 2010-03-31 09:20:24 +00:00
Dean Camera 72527867f6 Remove redundant check in the software PDI programming code of the AVRISP project. 2010-03-17 13:07:22 +00:00
Dean Camera 9a5ae36a4f Software PDI mode breaks unless the software USART has 100 cycles between bits. 2010-03-17 11:48:39 +00:00
Dean Camera 2b74b517ea Don't enable the pullup on the target /RESET line in the AVRISP project for PDI mode - clearing the XMEGA's reset control register twice is enough to release it from reset. Possible silicon bug, since the official Atmel programmers have the same issue. 2010-03-16 12:09:22 +00:00
Dean Camera 39d56aeffe Fixed PDI programming mode in the AVRISP programmer project not exiting programming mode correctly (clear target Reset key twice, set /RESET pin to pullup).
Add newlines to the MIDI event printf() statements in the MIDI host demos.
2010-03-16 11:47:11 +00:00
Dean Camera 071fd8ce53 Revert changes made for the partial port to the AVR32 architecture. 2010-02-24 06:58:23 +00:00
Dean Camera e11fddfe66 Update Temperature board driver to be AVR32 compatible when the ADC peripheral driver is eventually ported. Make architecture includes explicit for both the AVR32 and the AVR8, to make way for future architecture ports.
Add SPI driver aliases for the old function names in the AVR8 driver, so that existing code will still compile against the new version.
2010-02-23 03:51:17 +00:00
Dean Camera c24027f3b5 Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin.
Fix broken AVR8 Serial peripheral driver.
2010-02-23 01:03:27 +00:00
Dean Camera d2851b3351 Oops - need to revert changes made to ease testing of the software PDI programming mode. 2010-02-21 22:15:52 +00:00
Dean Camera 5e12d436fa Remove dual ISR for software PDI mode, use a single ISR instead to reduce code complexity. 2010-02-21 22:11:49 +00:00
Dean Camera e322f14620 More fixes to the AVRISP command timeout system so that it should no longer lock up while processing command no matter what the conditions. 2010-02-21 06:26:33 +00:00
Dean Camera 12a01ed72d Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project. 2010-02-21 05:44:12 +00:00
Dean Camera 10b9394a8b Oops - missed a few references to the old global TimeoutMSRemaining counter in ISPTarget.c of the AVRISP-MKII clone project. 2010-02-20 12:17:48 +00:00
Dean Camera ce8d0424b1 AVRISP programmer project now has a more robust timeout system, allowing for a doubling of the software USART speed for PDI and TPI programming. 2010-02-19 05:17:41 +00:00
Dean Camera de0ccb3d09 Add NO_VTARGET_DETECT compile time option to the AVRISP-MKII clone project, to disable VTARGET detection on AVR models with an on-chip ADC. 2010-02-13 03:21:28 +00:00
Dean Camera 3a2c1db675 Fixed lack of SECTION ERASE command in TPI programming mode of the AVRISP project preventing fuses from being cleared. 2010-02-10 04:07:06 +00:00
Dean Camera ab195ab1da Added .5MHz recovery clock to the AVRISP programmer project when in ISP programming mode to correct mis-set fuses.
Fixed AVRISP project not extending the command delay after each successful page/word/byte program.
2010-02-10 04:02:10 +00:00
Dean Camera 35a0fe9384 Fixed USB_GetHIDReportSize() returning the number of bits in the specified report instead of bytes.
Moved the USB_GetHIDReportItemInfo() calls into the main report item passing loop in the *HostWithParser demos - it is fast enough not to effect performance, and avoids duplicate code.

Make Webserver project report the LUFA version as part of the HTTP header.
2010-02-09 12:30:51 +00:00
Dean Camera 3ab0b3a027 Fix LowLevel Keyboard demo -- accidentally trying to dereference a uint8_t type in ProcessLEDReport(). 2010-02-08 03:32:31 +00:00
Dean Camera 7ae91099e9 Fix AVRISP-MKII clone project's TPI Chip Erase command processing - ensure erase location is the high byte in the given address space, check NVMBUSY for completion rather than the NVM Bus Enable bit.
Change If-Else chains over to switch statements in XPROGProtocol.c for clarity.
2010-02-08 03:16:09 +00:00
Dean Camera 15f84bb8f5 New BOARD value option BOARD_NONE (equivelent to not specifying BOARD) which will remove all board hardware drivers which do not adversely affect the code operation (currently only the LEDs driver).
Spell-check code/comments in the Webserver/AVRISP-MKII projects.
2010-02-04 02:27:09 +00:00
Dean Camera 53eca61d02 Minor fixups to the documentation and preprocessor tokens. 2010-02-02 13:29:07 +00:00
Dean Camera 5687ac7316 Fix TPI mode chip erase code not properly erasing the target memory space. 2010-02-02 04:33:58 +00:00
Dean Camera 8d49480891 Oops - new Write Word alignment code in the TPI programming function means that the WriteBuffer parameter is no longer const. 2010-02-02 03:46:49 +00:00
Dean Camera ec6fbb219f Make TPI writes add a dummy high byte if the data isn't word-aligned. 2010-02-02 03:27:28 +00:00
Dean Camera b736a5ef2b Make TPI programming protocol program in words, not bytes to satisfy the datasheet conditions. 2010-02-02 03:22:45 +00:00
Dean Camera 9e7ffcb014 Make AVRISP XPROG function parameters const where possible. 2010-02-01 05:34:59 +00:00
Dean Camera 5f363996e3 Fixed issues with EEPROM and FLASH ISP programming in the AVRISP project. 2010-02-01 03:42:10 +00:00
Dean Camera 331e8dece6 Use _delay_us() function in the XPROGTarget.c file to ensure timing requirements are met, rather than a fixed number of NOPs. 2010-01-31 12:33:04 +00:00
Dean Camera 75d27f8ef0 Oops - PDI handshake delay was too long, causing the device's /RESET functionality to be re-enabled. 2010-01-31 12:25:53 +00:00
Dean Camera a114878209 Oops - TPI programming is broken in the AVRISP project because the busy-flag check wasn't inverting the result. 2010-01-29 06:02:02 +00:00
Dean Camera 872f61ff53 Fix TPI communications in the AVRISP project when bit-banged USART mode is selected. 2010-01-29 05:31:25 +00:00
Dean Camera cec699ac59 Clean up Webserver project - add more Doxygen documentation for the new DHCP client functions and defines. 2010-01-27 13:45:08 +00:00
Dean Camera 1aeb5056d6 Ensure TPI enable timing requirements are met in AVRISP-MKII programmer. Remove invalid code in the TPI read/write functions. 2010-01-27 03:45:15 +00:00
Dean Camera 2059fd8b1a Manually pull PDI clock pin high for 1ms before disabling PDI mode in the AVRISP-MKII project, to ensure that the PDI bus is disabled in the target and /RESET functionality restored. 2010-01-27 02:59:54 +00:00
Dean Camera 74b6993d66 Cleanup and partially fix AVRISP-MKII project's TPI programming support. 2010-01-25 04:13:44 +00:00
Dean Camera 5d5e359076 Minor code cleanups, remove TemperatureDataLogger host application's Visual Studio Solution files, add LibHIDNet license files. 2010-01-25 01:27:06 +00:00
Dean Camera b68f7f1649 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. 2010-01-25 00:52:45 +00:00
Dean Camera 60fd0ff418 Changed XPLAINBridge project to be both a USB to USART bridge and a PDI programmer, based on the state of a mode select pin. 2010-01-19 05:27:58 +00:00
Dean Camera f3d370a777 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. 2010-01-17 04:39:33 +00:00
Dean Camera efb6c35778 Update Doxygen configuration files to the latest Doxygen version. 2010-01-06 13:37:29 +00:00
Dean Camera d97db1120b 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. 2010-01-05 13:52:34 +00:00
Dean Camera 7f9f97c792 Update copyright year to 2010. 2009-12-30 23:49:19 +00:00
Dean Camera f5951d1593 Reduced guard bit time in the AVRISP project PDI/TPI protocols to reduce the time needed to reverse the data communication direction. 2009-12-29 14:54:52 +00:00
Dean Camera b1dbd92c32 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. 2009-12-29 14:43:03 +00:00
Dean Camera e1c1c25619 Change the AVRISP project's RESET LINE makefile tokens to AUX LINE, as it is not always used for target reset. 2009-12-29 05:18:16 +00:00
Dean Camera 4600fd0cb6 Fix TPI NVM Write handler -- AVRStudio sends out writes in page sized chunks, not byte sized chunks. 2009-12-28 07:50:20 +00:00
Dean Camera 7c8f4a716f 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. 2009-12-28 07:17:21 +00:00
Dean Camera 3222f21b84 Add dummy undocumented TPI XPROG parameters to the AVRISP project so that TPI programming mode can be entered. 2009-12-28 02:58:23 +00:00
Dean Camera d4ca7fb44c Fix MIT license language to make its intent clearer. 2009-12-28 00:34:20 +00:00