X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/4600fd0cb649d5c625cfcca1f1f14167dc2e6a17..d97db1120b2b5911a3ea7d77efb9b913b8727bdb:/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c index 5275cca8d..9c6ee7e0c 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2009. + Copyright (C) Dean Camera, 2010. dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ /* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -124,6 +124,10 @@ static void XPROGProtocol_EnterXPROGMode(void) XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG); XPROGTarget_SendByte(PDI_RESET_KEY); + /* Lower direction change guard time to 8 USART bits */ + XPROGTarget_SendByte(PDI_CMD_STCS | PDI_CTRL_REG); + XPROGTarget_SendByte(0x04); + /* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */ XPROGTarget_SendByte(PDI_CMD_KEY); for (uint8_t i = sizeof(PDI_NVMENABLE_KEY); i > 0; i--) @@ -134,10 +138,13 @@ static void XPROGProtocol_EnterXPROGMode(void) } else { - #if 0 /* Enable TPI programming mode with the attached target */ XPROGTarget_EnableTargetTPI(); + /* Lower direction change guard time to 8 USART bits */ + XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG); + XPROGTarget_SendByte(0x04); + /* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */ XPROGTarget_SendByte(TPI_CMD_SKEY); for (uint8_t i = sizeof(TPI_NVMENABLE_KEY); i > 0; i--) @@ -145,8 +152,6 @@ static void XPROGProtocol_EnterXPROGMode(void) /* Wait until the NVM bus becomes active */ NVMBusEnabled = TINYNVM_WaitWhileNVMBusBusy(); - #endif - NVMBusEnabled = true; } Endpoint_Write_Byte(CMD_XPROG);