Add Doxygen documentation to the completed portions of the PDI programming protocol...
[pub/USBasp.git] / Projects / AVRISP / Lib / PDIProtocol.h
index 53388d0..490e14b 100644 (file)
 \r
        /* Includes: */\r
                #include <avr/io.h>\r
 \r
        /* Includes: */\r
                #include <avr/io.h>\r
+               #include <util/delay.h>\r
                #include <stdio.h>\r
        \r
                #include "V2Protocol.h"\r
                #include "PDITarget.h"\r
                #include <stdio.h>\r
        \r
                #include "V2Protocol.h"\r
                #include "PDITarget.h"\r
+               #include "NVMTarget.h"\r
+\r
+       /* Preprocessor Checks: */\r
+               #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1))\r
+                       #undef ENABLE_ISP_PROTOCOL\r
+                       \r
+                       #if !defined(ENABLE_PDI_PROTOCOL)\r
+                               #define ENABLE_PDI_PROTOCOL\r
+                       #endif\r
+               #endif\r
 \r
        /* Macros: */\r
                #define XPRG_CMD_ENTER_PROGMODE             0x01\r
 \r
        /* Macros: */\r
                #define XPRG_CMD_ENTER_PROGMODE             0x01\r
                #define XPRG_PARAM_NVMBASE                  0x01\r
                #define XPRG_PARAM_EEPPAGESIZE              0x02\r
                \r
                #define XPRG_PARAM_NVMBASE                  0x01\r
                #define XPRG_PARAM_EEPPAGESIZE              0x02\r
                \r
+               #define XPRG_PROTOCOL_PDI                   0x00\r
+               #define XPRG_PROTOCOL_JTAG                  0x01\r
+       \r
+       /* External Variables: */\r
+               extern uint32_t XPROG_Param_NVMBase;\r
+               \r
        /* Function Prototypes: */\r
                void PDIProtocol_XPROG_SetMode(void);\r
                void PDIProtocol_XPROG_Command(void);\r
        /* Function Prototypes: */\r
                void PDIProtocol_XPROG_SetMode(void);\r
                void PDIProtocol_XPROG_Command(void);\r
                        static void PDIProtocol_EnterXPROGMode(void);\r
                        static void PDIProtocol_LeaveXPROGMode(void);\r
                        static void PDIProtocol_SetParam(void);\r
                        static void PDIProtocol_EnterXPROGMode(void);\r
                        static void PDIProtocol_LeaveXPROGMode(void);\r
                        static void PDIProtocol_SetParam(void);\r
-                       static void PDIProtocol_EraseChip(void);\r
+                       static void PDIProtocol_Erase(void);\r
                        static void PDIProtocol_WriteMemory(void);\r
                        static void PDIProtocol_ReadMemory(void);\r
                        static void PDIProtocol_ReadCRC(void);\r
                        static void PDIProtocol_WriteMemory(void);\r
                        static void PDIProtocol_ReadMemory(void);\r
                        static void PDIProtocol_ReadCRC(void);\r