uint8_t Protocol;\r
} SetMode_XPROG_Params;\r
\r
- Endpoint_Read_Stream_LE(&SetMode_XPROG_Params, sizeof(SetMode_XPROG_Params));\r
+ Endpoint_Read_Stream_LE(&SetMode_XPROG_Params, sizeof(SetMode_XPROG_Params), NO_STREAM_CALLBACK);\r
\r
Endpoint_ClearOUT();\r
Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);\r
\r
/* Lower direction change guard time to 8 USART bits */\r
XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG);\r
- XPROGTarget_SendByte(0x04); \r
+ XPROGTarget_SendByte(0x04);\r
\r
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */\r
XPROGTarget_SendByte(TPI_CMD_SKEY); \r
uint32_t Address;\r
} Erase_XPROG_Params;\r
\r
- Endpoint_Read_Stream_LE(&Erase_XPROG_Params, sizeof(Erase_XPROG_Params));\r
+ Endpoint_Read_Stream_LE(&Erase_XPROG_Params, sizeof(Erase_XPROG_Params), NO_STREAM_CALLBACK);\r
Erase_XPROG_Params.Address = SwapEndian_32(Erase_XPROG_Params.Address);\r
\r
Endpoint_ClearOUT();\r
else\r
{\r
/* Erase the target memory, indicate timeout if ocurred */\r
- if (!(TINYNVM_EraseMemory()))\r
+ if (!(TINYNVM_EraseMemory(TINY_NVM_CMD_CHIPERASE, Erase_XPROG_Params.Address)))\r
ReturnStatus = XPRG_ERR_TIMEOUT;\r
}\r
\r
} WriteMemory_XPROG_Params;\r
\r
Endpoint_Read_Stream_LE(&WriteMemory_XPROG_Params, (sizeof(WriteMemory_XPROG_Params) -\r
- sizeof(WriteMemory_XPROG_Params).ProgData));\r
+ sizeof(WriteMemory_XPROG_Params).ProgData), NO_STREAM_CALLBACK);\r
WriteMemory_XPROG_Params.Address = SwapEndian_32(WriteMemory_XPROG_Params.Address);\r
WriteMemory_XPROG_Params.Length = SwapEndian_16(WriteMemory_XPROG_Params.Length);\r
- Endpoint_Read_Stream_LE(&WriteMemory_XPROG_Params.ProgData, WriteMemory_XPROG_Params.Length);\r
+ Endpoint_Read_Stream_LE(&WriteMemory_XPROG_Params.ProgData, WriteMemory_XPROG_Params.Length, NO_STREAM_CALLBACK);\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
+ /* 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
}\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
uint16_t Length;\r
} ReadMemory_XPROG_Params;\r
\r
- Endpoint_Read_Stream_LE(&ReadMemory_XPROG_Params, sizeof(ReadMemory_XPROG_Params));\r
+ Endpoint_Read_Stream_LE(&ReadMemory_XPROG_Params, sizeof(ReadMemory_XPROG_Params), NO_STREAM_CALLBACK);\r
ReadMemory_XPROG_Params.Address = SwapEndian_32(ReadMemory_XPROG_Params.Address);\r
ReadMemory_XPROG_Params.Length = SwapEndian_16(ReadMemory_XPROG_Params.Length);\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
Endpoint_Write_Byte(ReturnStatus);\r
\r
if (ReturnStatus == XPRG_ERR_OK)\r
- Endpoint_Write_Stream_LE(ReadBuffer, ReadMemory_XPROG_Params.Length);\r
+ Endpoint_Write_Stream_LE(ReadBuffer, ReadMemory_XPROG_Params.Length, NO_STREAM_CALLBACK);\r
\r
Endpoint_ClearIN();\r
}\r
uint8_t CRCType;\r
} ReadCRC_XPROG_Params;\r
\r
- Endpoint_Read_Stream_LE(&ReadCRC_XPROG_Params, sizeof(ReadCRC_XPROG_Params));\r
+ Endpoint_Read_Stream_LE(&ReadCRC_XPROG_Params, sizeof(ReadCRC_XPROG_Params), NO_STREAM_CALLBACK);\r
Endpoint_ClearOUT();\r
Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);\r
\r