1 #ifndef CFS_COFFEE_ARCH_H_INCLUDED 2 #define CFS_COFFEE_ARCH_H_INCLUDED 5 #include "contiki-conf.h" 13 #define COFFEE_PAGE_SIZE (EXT_FLASH_PAGE_SIZE) 16 #define COFFEE_SECTOR_SIZE (EXT_FLASH_BLOCK_SIZE) 19 #ifndef COFFEE_START_SECTOR 20 #define COFFEE_START_SECTOR (0) 24 #define COFFEE_START (COFFEE_START_SECTOR * COFFEE_SECTOR_SIZE) 28 #define COFFEE_SIZE (EXT_FLASH_SIZE - COFFEE_START) 32 #ifndef COFFEE_NAME_LENGTH 33 #define COFFEE_NAME_LENGTH (32) 37 #ifndef COFFEE_MAX_OPEN_FILES 38 #define COFFEE_MAX_OPEN_FILES (4) 41 #ifndef COFFEE_FD_SET_SIZE 42 #define COFFEE_FD_SET_SIZE (8) 45 #ifndef COFFEE_DYN_SIZE 46 #define COFFEE_DYN_SIZE (COFFEE_PAGE_SIZE * 4) 49 #ifndef COFFEE_LOG_TABLE_LIMIT 50 #define COFFEE_LOG_TABLE_LIMIT (256) 53 #ifndef COFFEE_LOG_SIZE 54 #define COFFEE_LOG_SIZE (8192) 58 #define coffee_page_t uint16_t 60 #define COFFEE_WRITE(buf, size, offset) \ 61 flash_write(COFFEE_START + offset, buf, size) 63 #define COFFEE_READ(buf, size, offset) \ 64 flash_read(COFFEE_START + offset, buf, size) 66 #define COFFEE_ERASE(sector) \ 67 flash_erase(COFFEE_START_SECTOR + sector) 70 enum coffee_async_format_status_t
72 COFFEE_ASYNC_FORMAT_IDLE,
73 COFFEE_ASYNC_FORMAT_ONGOING,
76 void flash_read(uint32_t address,
void *
data, uint32_t length);
78 void flash_write(uint32_t address,
const void *
data, uint32_t length);
80 #define flash_erase(sector) \ 81 SpiMemoryEraseBlock(&ExtFlash, sector) 83 void coffee_async_format(
void);
85 void coffee_async_format_cancel(
void);
87 enum coffee_async_format_status_t coffee_async_format_status(
void);
89 int coffee_file_test(
void);
uint8_t data[USBNET_RX_BUF_SIZE]
Driver for SPI-based memories.