Added V2Protocol handlers to the AVRISP project to enter/exit programming mode, and...
[pub/USBasp.git] / Projects / Incomplete / AVRISP / Lib / V2Protocol.h
index 5283f19..116df8d 100644 (file)
@@ -38,6 +38,7 @@
 
        /* Includes: */
                #include <avr/io.h>\r
+               #include <util/delay.h>\r
 \r
                #include <LUFA/Drivers/USB/USB.h>
                #include <LUFA/Drivers/Peripheral/SPI.h>\r
                #include "V2ProtocolParams.h"
 
        /* Macros: */
-               #define PROGRAMMER_ID       "AVRISP_MK2"
-               #define PROGRAMMER_ID_LEN   (sizeof(PROGRAMMER_ID) - 1)
-\r
-               #define MAX_SPI_SETTINGS    7\r
+               #define PROGRAMMER_ID             "AVRISP_MK2"\r
+               #define TARGET_BUST_TIMEOUT_MS    100\r
 
        /* Function Prototypes: */\r
                void V2Protocol_ProcessCommand(void);\r
                \r
                #if defined(INCLUDE_FROM_V2PROTOCOL_C)\r
-                       static void    V2Protocol_ReconfigureSPI(void);\r
+                       static uint8_t V2Protocol_GetSPIPrescalerMask(void);\r
                        static void    V2Protocol_ChangeTargetResetLine(bool ResetTarget);\r
+                       static void    V2Protocol_DelayMS(uint8_t MS);\r
+                       static uint8_t V2Protocol_WaitWhileTargetBusy(void);\r
 \r
-                       static void    V2Protocol_Command_Unknown(uint8_t V2Command);\r
-                       static void    V2Protocol_Command_SignOn(void);\r
-                       static void    V2Protocol_Command_GetSetParam(uint8_t V2Command);\r
-                       static void    V2Protocol_Command_LoadAddress(void);\r
-                       static void    V2Protocol_Command_SPIMulti(void);\r
+                       static void V2Protocol_Command_Unknown(uint8_t V2Command);\r
+                       static void V2Protocol_Command_SignOn(void);\r
+                       static void V2Protocol_Command_GetSetParam(uint8_t V2Command);\r
+                       static void V2Protocol_Command_LoadAddress(void);\r
+                       static void V2Protocol_Command_EnterISPMode(void);\r
+                       static void V2Protocol_Command_LeaveISPMode(void);\r
+                       static void V2Protocol_Command_ChipErase(void);\r
+                       static void V2Protocol_Command_ReadFuseLockSigOSCCAL(uint8_t V2Command);\r
+                       static void V2Protocol_Command_WriteFuseLock(uint8_t V2Command);\r
+                       static void V2Protocol_Command_SPIMulti(void);\r
                #endif
 
 #endif