Minor updates to the Benito programmer - remove redundant PORT register manipulations.
[pub/USBasp.git] / LUFA / Drivers / Board / Dataflash.h
index 57ce92d..acdcc4c 100644 (file)
@@ -48,7 +48,8 @@
  *    - None\r
  *\r
  *  \section Module Description\r
- *  Functions, macros, variables, enums and types related to the control of board Dataflash ICs.\r
+ *  Dataflash driver. This module provides an easy to use interface for the Dataflash ICs located on many boards,\r
+ *  for the storage of large amounts of data into the Dataflash's non-volatile memory.\r
  *\r
  *  If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project\r
  *  directory. Otherwise, it will include the appropriate built in board driver header file.\r
                #endif\r
 \r
        /* Public Interface - May be used in end-application: */\r
+               /* Macros: */\r
+                       #if !defined(__DOXYGEN__)\r
+                               #define __GET_DATAFLASH_MASK2(x, y) x ## y\r
+                               #define __GET_DATAFLASH_MASK(x)     __GET_DATAFLASH_MASK2(DATAFLASH_CHIP,x)\r
+                       #endif\r
+       \r
+                       /* Retrieves the Dataflash chip select mask for the given Dataflash chip index.\r
+                        *\r
+                        * \param index  Index of the dataflash chip mask to retrieve\r
+                        */\r
+                       #define DATAFLASH_CHIP_MASK(index)      __GET_DATAFLASH_MASK(index)\r
+                       \r
                /* Pseudo-Function Macros: */\r
                        #if defined(__DOXYGEN__)\r
                                /** Determines the currently selected dataflash chip.\r
                        #else\r
                                #error The selected board does not contain a dataflash IC.\r
                        #endif\r
-\r
+               \r
                /* Inline Functions: */\r
                        /** Initializes the dataflash driver (including the SPI driver) so that commands and data may be\r
                         *  sent to an attached dataflash IC.\r
                                Dataflash_ToggleSelectedChipCS();\r
                                Dataflash_SendByte(DF_CMD_GETSTATUS);\r
                                while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));\r
+                               Dataflash_ToggleSelectedChipCS();                               \r
                        }\r
 \r
                        /** Selects a dataflash IC from the given page number, which should range from 0 to\r