/** Flag to indicate that the next read/write operation must update the device's current address */\r
bool MustSetAddress;\r
\r
+\r
/** Initializes the hardware and software associated with the V2 protocol command handling. */\r
void V2Protocol_Init(void)\r
{\r
/* Millisecond timer initialization for managing the command timeout counter */\r
OCR0A = ((F_CPU / 64) / 1000);\r
TCCR0A = (1 << WGM01);\r
- TCCR0B = ((1 << CS01) | (1 << CS00));\r
+ TIMSK0 = (1 << OCIE0A);\r
\r
V2Params_LoadNonVolatileParamValues();\r
}\r
{\r
uint8_t V2Command = Endpoint_Read_Byte();\r
\r
+ /* Start the timeout management timer */\r
TimeoutMSRemaining = COMMAND_TIMEOUT_MS;\r
+ TCCR0B = ((1 << CS01) | (1 << CS00));\r
\r
switch (V2Command)\r
{\r
V2Protocol_UnknownCommand(V2Command);\r
break;\r
}\r
+ \r
+ /* Disable the timeout management timer */\r
+ TCCR0B = 0;\r
\r
Endpoint_WaitUntilReady();\r
Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);\r