Documentation improvements - put driver example code into its own section, fix incorr...
[pub/USBasp.git] / Projects / AVRISP-MKII / Lib / XPROG / TINYNVM.h
index 73bf1f9..27a3dba 100644 (file)
@@ -1,21 +1,21 @@
 /*
              LUFA Library
      Copyright (C) Dean Camera, 2010.
-              
+
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
   Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
                #include <avr/io.h>
                #include <avr/interrupt.h>
                #include <stdbool.h>
-               
+
                #include <LUFA/Common/Common.h>
-               
+
                #include "XPROGProtocol.h"
                #include "XPROGTarget.h"
-       
+
        /* Preprocessor Checks: */
                #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1))
                        #undef ENABLE_ISP_PROTOCOL
-                       
+
                        #if !defined(ENABLE_XPROG_PROTOCOL)
                                #define ENABLE_XPROG_PROTOCOL
                        #endif
                #define TINY_NVM_CMD_SECTIONERASE      0x14
                #define TINY_NVM_CMD_WORDWRITE         0x1D
 
-       /* Function Prototypes: */              
+       /* Function Prototypes: */
                bool TINYNVM_WaitWhileNVMBusBusy(void);
                bool TINYNVM_WaitWhileNVMControllerBusy(void);
-               bool TINYNVM_ReadMemory(const uint16_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadLength);
-               bool TINYNVM_WriteMemory(const uint16_t WriteAddress, uint8_t* WriteBuffer, uint16_t WriteLength);
-               bool TINYNVM_EraseMemory(const uint8_t EraseCommand, const uint16_t Address);
+               bool TINYNVM_EnableTPI(void);
+               void TINYNVM_DisableTPI(void);
+               bool TINYNVM_ReadMemory(const uint16_t ReadAddress,
+                                       uint8_t* ReadBuffer,
+                                       uint16_t ReadLength);
+               bool TINYNVM_WriteMemory(const uint16_t WriteAddress,
+                                        uint8_t* WriteBuffer,
+                                        uint16_t WriteLength);
+               bool TINYNVM_EraseMemory(const uint8_t EraseCommand,
+                                        const uint16_t Address);
 
-               #if defined(INCLUDE_FROM_TINYNVM_C)
+               #if (defined(INCLUDE_FROM_TINYNVM_C) && defined(ENABLE_XPROG_PROTOCOL))
                        static void TINYNVM_SendReadNVMRegister(const uint8_t Address);
                        static void TINYNVM_SendWriteNVMRegister(const uint8_t Address);
                        static void TINYNVM_SendPointerAddress(const uint16_t AbsoluteAddress);
                #endif
 
 #endif
+