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 bc57726..583a287 100644 (file)
@@ -1,13 +1,13 @@
 /*\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
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\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