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:
parent
0313034245
commit
666c0fa4c3
9 changed files with 33 additions and 74 deletions
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue