Oops - PDI handshake delay was too long, causing the device's /RESET functionality...
[pub/USBasp.git] / Projects / AVRISP-MKII / Lib / XPROG / XPROGProtocol.c
index c2714f2..0057a67 100644 (file)
@@ -270,14 +270,14 @@ static void XPROGProtocol_WriteMemory(void)
        Endpoint_ClearOUT();\r
        Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);\r
 \r
        Endpoint_ClearOUT();\r
        Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);\r
 \r
-       /* Assume FLASH page programming by default, as it is the common case */\r
-       uint8_t WriteCommand     = XMEGA_NVM_CMD_WRITEFLASHPAGE;\r
-       uint8_t WriteBuffCommand = XMEGA_NVM_CMD_LOADFLASHPAGEBUFF;\r
-       uint8_t EraseBuffCommand = XMEGA_NVM_CMD_ERASEFLASHPAGEBUFF;\r
-       bool    PagedMemory      = true;\r
-\r
        if (XPROG_SelectedProtocol == XPRG_PROTOCOL_PDI)\r
        {\r
        if (XPROG_SelectedProtocol == XPRG_PROTOCOL_PDI)\r
        {\r
+               /* Assume FLASH page programming by default, as it is the common case */\r
+               uint8_t WriteCommand     = XMEGA_NVM_CMD_WRITEFLASHPAGE;\r
+               uint8_t WriteBuffCommand = XMEGA_NVM_CMD_LOADFLASHPAGEBUFF;\r
+               uint8_t EraseBuffCommand = XMEGA_NVM_CMD_ERASEFLASHPAGEBUFF;\r
+               bool    PagedMemory      = true;\r
+\r
                if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_APPL)\r
                {\r
                        WriteCommand     = XMEGA_NVM_CMD_WRITEAPPSECPAGE;\r
                if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_APPL)\r
                {\r
                        WriteCommand     = XMEGA_NVM_CMD_WRITEAPPSECPAGE;\r
@@ -321,8 +321,6 @@ static void XPROGProtocol_WriteMemory(void)
        }\r
        else\r
        {\r
        }\r
        else\r
        {\r
-               Serial_TxByte((uint8_t)WriteMemory_XPROG_Params.Length);\r
-       \r
                /* Send write command to the TPI device, indicate timeout if occurred */\r
                if (!(TINYNVM_WriteMemory(WriteMemory_XPROG_Params.Address, WriteMemory_XPROG_Params.ProgData,\r
                      WriteMemory_XPROG_Params.Length)))\r
                /* Send write command to the TPI device, indicate timeout if occurred */\r
                if (!(TINYNVM_WriteMemory(WriteMemory_XPROG_Params.Address, WriteMemory_XPROG_Params.ProgData,\r
                      WriteMemory_XPROG_Params.Length)))\r
@@ -368,8 +366,6 @@ static void XPROGProtocol_ReadMemory(void)
        }\r
        else\r
        {\r
        }\r
        else\r
        {\r
-               Serial_TxByte((uint8_t)ReadMemory_XPROG_Params.Length);\r
-\r
                /* Read the TPI target's memory, indicate timeout if occurred */\r
                if (!(TINYNVM_ReadMemory(ReadMemory_XPROG_Params.Address, ReadBuffer, ReadMemory_XPROG_Params.Length)))\r
                  ReturnStatus = XPRG_ERR_TIMEOUT;\r
                /* Read the TPI target's memory, indicate timeout if occurred */\r
                if (!(TINYNVM_ReadMemory(ReadMemory_XPROG_Params.Address, ReadBuffer, ReadMemory_XPROG_Params.Length)))\r
                  ReturnStatus = XPRG_ERR_TIMEOUT;\r