Switch to hardware delays and timeouts via a hardware timer in the V2 Protocol handler.

More additions to the PROGRAM_FLASH_ISP and PROGRAM_EEPROM_ISP commands, although neither work correctly yet.

Added dummy RESET_PROTECTIONS handler to prevent the Atmel driver from crashing when the command returns an UNKNOWN_COMMAND error code.
This commit is contained in:
Dean Camera 2009-08-24 12:49:19 +00:00
parent 92adb00f8e
commit 8cb8f1cfdd
6 changed files with 101 additions and 28 deletions

View file

@ -48,7 +48,7 @@
#include "V2ProtocolParams.h"
/* Macros: */
#define TARGET_BUSY_TIMEOUT_MS 100
#define TARGET_BUSY_TIMEOUT_MS 200
/* External Variables: */
extern uint32_t CurrentAddress;
@ -57,7 +57,8 @@
uint8_t V2Protocol_GetSPIPrescalerMask(void);
void V2Protocol_ChangeTargetResetLine(bool ResetTarget);
void V2Protocol_DelayMS(uint8_t MS);
uint8_t V2Protocol_WaitForProgrammingComplete(uint16_t PollAddress, uint8_t ProgrammingMode);
uint8_t V2Protocol_WaitForProgComplete(uint8_t ProgrammingMode, uint16_t PollAddress, uint8_t PollValue,
uint8_t DelayMS, bool IsFlashMemory, uint8_t ReadMemCommand);
uint8_t V2Protocol_WaitWhileTargetBusy(void);
void V2Protocol_LoadExtendedAddress(void);