Make the StandaloneProgrammer project seamlessly read out drive contents from either...
[pub/USBasp.git] / Projects / Incomplete / StandaloneProgrammer / Lib / DataflashManager.h
index 9b74b2e..d5e01a1 100644 (file)
                #include "StandaloneProgrammer.h"\r
                #include "Descriptors.h"\r
 \r
                #include "StandaloneProgrammer.h"\r
                #include "Descriptors.h"\r
 \r
-               #include <LUFA/Common/Common.h>                 // Function Attribute, Atomic, Debug and ISR Macros\r
-               #include <LUFA/Drivers/USB/USB.h>               // USB Functionality\r
-               #include <LUFA/Drivers/USB/Class/MassStorage.h> // Mass Storage Class Driver\r
-               #include <LUFA/Drivers/Board/Dataflash.h>       // Dataflash chip driver\r
+               #include <LUFA/Drivers/USB/USB.h>\r
+               #include <LUFA/Drivers/USB/Class/MassStorage.h>\r
+               #include <LUFA/Drivers/Board/Dataflash.h>\r
 \r
        /* Preprocessor Checks: */\r
                #if (DATAFLASH_PAGE_SIZE % 16)\r
 \r
        /* Preprocessor Checks: */\r
                #if (DATAFLASH_PAGE_SIZE % 16)\r
                #define VIRTUAL_MEMORY_BLOCKS               (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)\r
                \r
        /* Function Prototypes: */\r
                #define VIRTUAL_MEMORY_BLOCKS               (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)\r
                \r
        /* Function Prototypes: */\r
-               void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress,\r
-                                                 uint16_t TotalBlocks);\r
-               void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress,\r
-                                                uint16_t TotalBlocks);\r
-               void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks,\r
-                                                     uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3);\r
-               void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks,\r
-                                                    uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3);\r
-               void DataflashManager_ResetDataflashProtections(void);\r
-               bool DataflashManager_CheckDataflashOperation(void);\r
-               \r
+               #if defined(USB_CAN_BE_DEVICE)\r
+                       void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress,\r
+                                                                                         uint16_t TotalBlocks);\r
+                       void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress,\r
+                                                                                        uint16_t TotalBlocks);\r
+                       void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks,\r
+                                                                                                 uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3);\r
+                       void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks,\r
+                                                                                                uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3);\r
+                       void DataflashManager_ResetDataflashProtections(void);\r
+                       bool DataflashManager_CheckDataflashOperation(void);\r
+               #endif\r
+\r
 #endif\r
 #endif\r