X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/071e02c6b6b4837fa9cf0b6d4c749994e02638d7..a9abe1fdea5ccf67aaccab6fdde300d6fcf2d15a:/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h diff --git a/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h b/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h index 6fcf3916f..ab68049f9 100644 --- a/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h +++ b/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. - + Copyright (C) Dean Camera, 2012. + dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 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 @@ -32,13 +32,13 @@ * * Header file for DataflashManager.c. */ - + #ifndef _DATAFLASH_MANAGER_H_ #define _DATAFLASH_MANAGER_H_ /* Includes: */ #include - + #include "MassStorage.h" #include "Descriptors.h" @@ -52,27 +52,40 @@ #endif /* Defines: */ - /** Total number of bytes of the storage medium, comprised of one or more dataflash ICs. */ + /** Total number of bytes of the storage medium, comprised of one or more Dataflash ICs. */ #define VIRTUAL_MEMORY_BYTES ((uint32_t)DATAFLASH_PAGES * DATAFLASH_PAGE_SIZE * DATAFLASH_TOTALCHIPS) /** Block size of the device. This is kept at 512 to remain compatible with the OS despite the underlying * storage media (Dataflash) using a different native block size. Do not change this value. */ #define VIRTUAL_MEMORY_BLOCK_SIZE 512 - + /** Total number of blocks of the virtual memory for reporting to the host as the device's total capacity. Do not * change this value; change VIRTUAL_MEMORY_BYTES instead to alter the media size. */ #define VIRTUAL_MEMORY_BLOCKS (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE) - + + /** Total number of Logical Units (drives) in the device. The total device capacity is shared equally between + * each drive - this can be set to any positive non-zero amount. + */ + #define TOTAL_LUNS 1 + + /** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */ + #define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS) + /* Function Prototypes: */ - void DataflashManager_WriteBlocks(const uint32_t BlockAddress, uint16_t TotalBlocks); - void DataflashManager_ReadBlocks(const uint32_t BlockAddress, uint16_t TotalBlocks); - void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks, + void DataflashManager_WriteBlocks(const uint32_t BlockAddress, + uint16_t TotalBlocks); + void DataflashManager_ReadBlocks(const uint32_t BlockAddress, + uint16_t TotalBlocks); + void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, + uint16_t TotalBlocks, uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3); - void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks, + void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, + uint16_t TotalBlocks, uint8_t* BufferPtr) ATTR_NON_NULL_PTR_ARG(3); void DataflashManager_ResetDataflashProtections(void); bool DataflashManager_CheckDataflashOperation(void); - + #endif +