Be doubly-certain that the incomming CDC class driver's endpoint/pipe is flushed...
[pub/USBasp.git] / Projects / AVRISP-MKII / Lib / XPROG / XMEGANVM.h
index d1a14ab..583a287 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
 \r
-  Permission to use, copy, modify, and distribute this software\r
-  and its documentation for any purpose and without fee is hereby\r
-  granted, provided that the above copyright notice appear in all\r
-  copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
+  Permission to use, copy, modify, distribute, and sell this \r
+  software and its documentation for any purpose is hereby granted\r
+  without fee, provided that the above copyright notice appear in \r
+  all copies and that both that the copyright notice and this\r
+  permission notice and warranty disclaimer appear in supporting \r
+  documentation, and that the name of the author not be used in \r
+  advertising or publicity pertaining to distribution of the \r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
@@ -33,7 +33,7 @@
  *  Header file for XMEGANVM.c.\r
  */\r
 \r
  *  Header file for XMEGANVM.c.\r
  */\r
 \r
-#ifndef _XMEGA_NVM__\r
+#ifndef _XMEGA_NVM_\r
 #define _XMEGA_NVM_\r
 \r
        /* Includes: */\r
 #define _XMEGA_NVM_\r
 \r
        /* Includes: */\r
@@ -56,6 +56,8 @@
                #endif\r
 \r
        /* Defines: */\r
                #endif\r
 \r
        /* Defines: */\r
+               #define XMEGA_CRC_LENGTH                     3\r
+       \r
                #define XMEGA_NVM_REG_ADDR0                  0x00\r
                #define XMEGA_NVM_REG_ADDR1                  0x01\r
                #define XMEGA_NVM_REG_ADDR2                  0x02\r
                #define XMEGA_NVM_REG_ADDR0                  0x00\r
                #define XMEGA_NVM_REG_ADDR1                  0x01\r
                #define XMEGA_NVM_REG_ADDR2                  0x02\r
                #define XMEGA_NVM_CMD_READEEPROM             0x06\r
 \r
        /* Function Prototypes: */\r
                #define XMEGA_NVM_CMD_READEEPROM             0x06\r
 \r
        /* Function Prototypes: */\r
-               void XMEGANVM_SendNVMRegAddress(const uint8_t Register);\r
-               void XMEGANVM_SendAddress(const uint32_t AbsoluteAddress);\r
                bool XMEGANVM_WaitWhileNVMBusBusy(void);\r
                bool XMEGANVM_WaitWhileNVMControllerBusy(void);\r
                bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, uint32_t* const CRCDest);\r
                bool XMEGANVM_ReadMemory(const uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize);\r
                bool XMEGANVM_WaitWhileNVMBusBusy(void);\r
                bool XMEGANVM_WaitWhileNVMControllerBusy(void);\r
                bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, uint32_t* const CRCDest);\r
                bool XMEGANVM_ReadMemory(const uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize);\r
-               bool XMEGANVM_WriteByteMemory(const uint8_t WriteCommand, const uint32_t WriteAddress, const uint8_t* WriteBuffer);\r
+               bool XMEGANVM_WriteByteMemory(const uint8_t WriteCommand, const uint32_t WriteAddress, const uint8_t Byte);\r
                bool XMEGANVM_WritePageMemory(const uint8_t WriteBuffCommand, const uint8_t EraseBuffCommand,\r
                                              const uint8_t WritePageCommand, const uint8_t PageMode, const uint32_t WriteAddress,\r
                                              const uint8_t* WriteBuffer, uint16_t WriteSize);\r
                bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address);\r
 \r
                bool XMEGANVM_WritePageMemory(const uint8_t WriteBuffCommand, const uint8_t EraseBuffCommand,\r
                                              const uint8_t WritePageCommand, const uint8_t PageMode, const uint32_t WriteAddress,\r
                                              const uint8_t* WriteBuffer, uint16_t WriteSize);\r
                bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address);\r
 \r
+               #if defined(INCLUDE_FROM_XMEGANVM_C)\r
+                       static void XMEGANVM_SendNVMRegAddress(const uint8_t Register);\r
+                       static void XMEGANVM_SendAddress(const uint32_t AbsoluteAddress);               \r
+               #endif\r
+\r
 #endif\r
 #endif\r