X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fdataflash.h;h=43a345b40478780a51108a05d50a0760a3f9be96;hb=93258fbceb836cfea5206aa14e9b46d30db124b6;hp=0b12d9d188b1d173b7c0d764e3d45eedd87f4939;hpb=d4b5073d22a2a8f0cfd26739eb57f35b5984e1bc;p=bertos.git diff --git a/bertos/drv/dataflash.h b/bertos/drv/dataflash.h index 0b12d9d1..43a345b4 100644 --- a/bertos/drv/dataflash.h +++ b/bertos/drv/dataflash.h @@ -44,6 +44,7 @@ #include #include +#include /** * Type definitions for dflash memory. @@ -81,7 +82,7 @@ typedef enum DataflashType /** * Dataflash KFile context structure. */ -typedef struct DataFlashKFile +typedef struct DataFlash { KFile fd; ///< File descriptor. KFile *channel; ///< Dataflash comm channel (usually SPI). @@ -90,7 +91,7 @@ typedef struct DataFlashKFile bool page_dirty; ///< True if current_page is dirty (needs to be flushed). dataflash_setReset_t *setReset; ///< Callback used to set reset pin of dataflash. dataflash_setCS_t *setCS; ///< Callback used to set CS pin of dataflash. -} DataFlashKFile; +} DataFlash; /** * ID for dataflash. @@ -98,12 +99,12 @@ typedef struct DataFlashKFile #define KFT_DATAFLASH MAKE_ID('D', 'F', 'L', 'H') /** - * Convert + ASSERT from generic KFile to DataFlashKFile. + * Convert + ASSERT from generic KFile to DataFlash. */ -INLINE DataFlashKFile * DATAFLASHKFILE(KFile *fd) +INLINE DataFlash * DATAFLASH_CAST(KFile *fd) { ASSERT(fd->_type == KFT_DATAFLASH); - return (DataFlashKFile *)fd; + return (DataFlash *)fd; } #define RESET_PULSE_WIDTH 10 ///< Width of reset pulse in usec. @@ -181,7 +182,8 @@ typedef struct DataflashInfo } DataflashInfo; -bool dataflash_init(DataFlashKFile *fd, KFile *ch, DataflashType type, dataflash_setCS_t *setCS, dataflash_setReset_t *setReset); +bool dataflash_init(DataFlash *fd, KFile *ch, DataflashType type, dataflash_setCS_t *setCS, dataflash_setReset_t *setReset); +bool dataflash_diskInit(struct BattFsSuper *d, DataFlash *fd, pgcnt_t *page_array); /** * To test data falsh drive you could use