Remove the timeout period extension code from the AVRISP project, as no single command should ever exceed the maximum timeout period. Extend timeout period to 1 second per command, so that an accidental timeout will never occur.

This commit is contained in:
Dean Camera 2010-07-13 11:26:03 +00:00
parent 0313034245
commit 666c0fa4c3
9 changed files with 33 additions and 74 deletions

View file

@ -46,8 +46,8 @@ bool MustLoadExtendedAddress;
/** ISR to manage timeouts whilst processing a V2Protocol command */
ISR(TIMER0_COMPA_vect, ISR_NOBLOCK)
{
if (TimeoutMSRemaining)
TimeoutMSRemaining--;
if (TimeoutTicksRemaining)
TimeoutTicksRemaining--;
}
/** Initializes the hardware and software associated with the V2 protocol command handling. */
@ -60,8 +60,8 @@ void V2Protocol_Init(void)
ADC_StartReading(VTARGET_ADC_CHANNEL_MASK | ADC_RIGHT_ADJUSTED | ADC_REFERENCE_AVCC);
#endif
/* Millisecond timer initialization for managing the command timeout counter */
OCR0A = ((F_CPU / 64) / 1000);
/* Timeout timer initialization (10ms period) */
OCR0A = ((F_CPU / 1024) / 100);
TCCR0A = (1 << WGM01);
TIMSK0 = (1 << OCIE0A);
@ -77,8 +77,8 @@ void V2Protocol_ProcessCommand(void)
uint8_t V2Command = Endpoint_Read_Byte();
/* Start the timeout management timer */
TimeoutMSRemaining = COMMAND_TIMEOUT_MS;
TCCR0B = ((1 << CS01) | (1 << CS00));
TimeoutTicksRemaining = COMMAND_TIMEOUT_TICKS;
TCCR0B = ((1 << CS02) | (1 << CS00));
switch (V2Command)
{