\r
#include "ISPProtocol.h"\r
\r
+#if defined(ENABLE_ISP_PROTOCOL) || defined(__DOXYGEN__)\r
+\r
/** Handler for the CMD_ENTER_PROGMODE_ISP command, which attempts to enter programming mode on\r
* the attached device, returning success or failure back to the host.\r
*/\r
\r
CurrentAddress = 0;\r
\r
- V2Protocol_DelayMS(Enter_ISP_Params.ExecutionDelayMS); \r
+ ISPProtocol_DelayMS(Enter_ISP_Params.ExecutionDelayMS); \r
SPI_Init(ISPTarget_GetSPIPrescalerMask() | SPI_SCK_LEAD_RISING | SPI_SAMPLE_LEADING | SPI_MODE_MASTER);\r
\r
while (Enter_ISP_Params.SynchLoops-- && (ResponseStatus == STATUS_CMD_FAILED))\r
uint8_t ResponseBytes[4];\r
\r
ISPTarget_ChangeTargetResetLine(true);\r
- V2Protocol_DelayMS(Enter_ISP_Params.PinStabDelayMS);\r
+ ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS);\r
\r
for (uint8_t RByte = 0; RByte < sizeof(ResponseBytes); RByte++)\r
{\r
- V2Protocol_DelayMS(Enter_ISP_Params.ByteDelay);\r
+ ISPProtocol_DelayMS(Enter_ISP_Params.ByteDelay);\r
ResponseBytes[RByte] = SPI_TransferByte(Enter_ISP_Params.EnterProgBytes[RByte]);\r
}\r
\r
else\r
{\r
ISPTarget_ChangeTargetResetLine(false);\r
- V2Protocol_DelayMS(Enter_ISP_Params.PinStabDelayMS);\r
+ ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS);\r
}\r
}\r
\r
Endpoint_ClearOUT();\r
Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);\r
\r
- V2Protocol_DelayMS(Leave_ISP_Params.PreDelayMS);\r
+ ISPProtocol_DelayMS(Leave_ISP_Params.PreDelayMS);\r
ISPTarget_ChangeTargetResetLine(false);\r
SPI_ShutDown();\r
- V2Protocol_DelayMS(Leave_ISP_Params.PostDelayMS);\r
+ ISPProtocol_DelayMS(Leave_ISP_Params.PostDelayMS);\r
\r
Endpoint_Write_Byte(CMD_LEAVE_PROGMODE_ISP);\r
Endpoint_Write_Byte(STATUS_CMD_OK);\r
uint8_t ProgData[256]; // Note, the Jungo driver has a very short ACK timeout period, need to buffer the\r
} Write_Memory_Params; // whole page and ACK the packet as fast as possible to prevent it from aborting\r
\r
- Endpoint_Read_Stream_LE(&Write_Memory_Params, sizeof(Write_Memory_Params) - sizeof(Write_Memory_Params.ProgData));\r
+ Endpoint_Read_Stream_LE(&Write_Memory_Params, (sizeof(Write_Memory_Params) -\r
+ sizeof(Write_Memory_Params.ProgData)));\r
+\r
+\r
Write_Memory_Params.BytesToWrite = SwapEndian_16(Write_Memory_Params.BytesToWrite);\r
\r
if (Write_Memory_Params.BytesToWrite > sizeof(Write_Memory_Params.ProgData))\r
SPI_SendByte(Erase_Chip_Params.EraseCommandBytes[SByte]);\r
\r
if (!(Erase_Chip_Params.PollMethod))\r
- V2Protocol_DelayMS(Erase_Chip_Params.EraseDelayMS);\r
+ ISPProtocol_DelayMS(Erase_Chip_Params.EraseDelayMS);\r
else\r
ResponseStatus = ISPTarget_WaitWhileTargetBusy();\r
\r
Endpoint_Write_Byte(STATUS_CMD_OK);\r
Endpoint_ClearIN();\r
}\r
+\r
+#endif
\ No newline at end of file