diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-11-14 06:44:57 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-11-14 06:44:57 +0000 |
commit | f2324fc2b4a926dc2db5d3e681a019949fe23342 (patch) | |
tree | c16061ed6c1a73174144789716220ec465c59e74 | |
parent | d41cd9a41aca81eaa21e65e6c53672fe604fa3d5 (diff) | |
download | lufa-f2324fc2b4a926dc2db5d3e681a019949fe23342.tar.gz lufa-f2324fc2b4a926dc2db5d3e681a019949fe23342.tar.bz2 lufa-f2324fc2b4a926dc2db5d3e681a019949fe23342.zip |
Second patch to fix incorrect PDI/TPI programming speed.
-rw-r--r-- | LUFA/ManPages/ChangeLog.txt | 2 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c | 4 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c | 4 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h | 4 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h | 1 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c | 2 |
6 files changed, 8 insertions, 9 deletions
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 7d4b2c1b5..1eda701ab 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -101,7 +101,7 @@ * - Fixed USBtoSerial and XPLAINBridge demos discarding data from the PC if the send buffer becomes full * - Fixed broken input in the MagStripe reader project due to an incorrect HID report descriptor * - Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics) - * - Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz + * - Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz (thanks to Tom Light) * * \section Sec_ChangeLog100807 Version 100807 * <b>New:</b> diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c index 9056942d2..97e0fb305 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c @@ -66,7 +66,7 @@ void ISPProtocol_EnterISPMode(void) /* Perform execution delay, initialize SPI bus */ ISPProtocol_DelayMS(Enter_ISP_Params.ExecutionDelayMS); - ISPTarget_Init(); + ISPTarget_EnableTargetISP(); /* Continuously attempt to synchronize with the target until either the number of attempts specified * by the host has exceeded, or the the device sends back the expected response values */ @@ -118,7 +118,7 @@ void ISPProtocol_LeaveISPMode(void) /* Perform pre-exit delay, release the target /RESET, disable the SPI bus and perform the post-exit delay */ ISPProtocol_DelayMS(Leave_ISP_Params.PreDelayMS); ISPTarget_ChangeTargetResetLine(false); - ISPTarget_ShutDown(); + ISPTarget_DisableTargetISP(); ISPProtocol_DelayMS(Leave_ISP_Params.PostDelayMS); Endpoint_Write_Byte(CMD_LEAVE_PROGMODE_ISP); diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c index d315e9d1e..66a1c2560 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c @@ -142,7 +142,7 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK) /** Initialises the appropriate SPI driver (hardware or software, depending on the selected ISP speed) ready for * communication with the attached target. */ -void ISPTarget_Init(void) +void ISPTarget_EnableTargetISP(void) { uint8_t SCKDuration = V2Params_GetParameterValue(PARAM_SCK_DURATION); @@ -167,7 +167,7 @@ void ISPTarget_Init(void) /** Shuts down the current selected SPI driver (hardware or software, depending on the selected ISP speed) so that no * further communications can occur until the driver is re-initialized. */ -void ISPTarget_ShutDown(void) +void ISPTarget_DisableTargetISP(void) { if (HardwareSPIMode) { diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h index aae4c5b53..ba47fdde9 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h @@ -69,8 +69,8 @@ extern bool HardwareSPIMode; /* Function Prototypes: */ - void ISPTarget_Init(void); - void ISPTarget_ShutDown(void); + void ISPTarget_EnableTargetISP(void); + void ISPTarget_DisableTargetISP(void); void ISPTarget_ConfigureRescueClock(void); void ISPTarget_ConfigureSoftwareISP(const uint8_t SCKDuration); uint8_t ISPTarget_TransferSoftSPIByte(const uint8_t Byte); diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h index 541841105..e5952a1ac 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h @@ -113,7 +113,6 @@ extern uint16_t XPROG_Param_EEPageSize; extern uint8_t XPROG_Param_NVMCSRRegAddr; extern uint8_t XPROG_Param_NVMCMDRegAddr; - extern uint8_t XPROG_SelectedProtocol; /* Function Prototypes: */ void XPROGProtocol_SetMode(void); diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c index 5d59f7f17..8760e62cb 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c @@ -55,7 +55,7 @@ void XPROGTarget_EnableTargetPDI(void) _delay_us(1); /* Set up the synchronous USART for XMEGA communications - 8 data bits, even parity, 2 stop bits */ - UBRR1 = (F_CPU / XPROG_HARDWARE_SPEED); + UBRR1 = ((F_CPU / 2 / XPROG_HARDWARE_SPEED) - 1); UCSR1B = (1 << TXEN1); UCSR1C = (1 << UMSEL10) | (1 << UPM11) | (1 << USBS1) | (1 << UCSZ11) | (1 << UCSZ10) | (1 << UCPOL1); |