  | 
  
    simple FS
    v0.1.0
    
   | 
 
 
 
 
Go to the documentation of this file.
   20 #ifndef INC_FILE_FORMAT_H_ 
   21 #define INC_FILE_FORMAT_H_ 
   25 #ifndef FS_SIZE_VARIANT 
   26     #error MEMORY VARIANT NOT DEFINED! 
   29 #if FS_SIZE_VARIANT == FS_VARIANT_U 
   30     #define MAXIMUM_FS_FILES                1 
   31     #define MAXIMUM_FS_SENSORS_PER_FILE     4 
   32 #elif FS_SIZE_VARIANT == FS_VARIANT_X 
   33     #define MAXIMUM_FS_FILES                2 
   34     #define MAXIMUM_FS_SENSORS_PER_FILE     8 
   35 #elif FS_SIZE_VARIANT == FS_VARIANT_S 
   36     #define MAXIMUM_FS_FILES                8 
   37     #define MAXIMUM_FS_SENSORS_PER_FILE     16 
   38 #elif FS_SIZE_VARIANT == FS_VARIANT_L 
   40     #define MAXIMUM_FS_FILES                22 
   42     #define MAXIMUM_FS_SENSORS_PER_FILE     42 
   46 #define FILENAME_LENGTH                 16 
   50 #define FILE_META_SENSOR_LENGTH         12 
   52 #define FILE_HEADER_RECORD_LENGTH       32 
   54 #define FILE_HEADER_ADDRESS             FILE_HEADER_RECORD_LENGTH 
   56 #define FILE_HEADER_SIZE                (MAXIMUM_FS_FILES * FILE_HEADER_RECORD_LENGTH) 
   60 #define FILE_META_RECORD_LENGTH     (FILE_META_SENSOR_LENGTH * MAXIMUM_FS_SENSORS_PER_FILE) 
   62 #define FILE_META_SIZE              (MAXIMUM_FS_FILES * FILE_META_RECORD_LENGTH) 
   64 #define FILE_META_ADDRESS           (FILE_HEADER_ADDRESS + FILE_HEADER_SIZE) 
   66 #define FILE_DATA_ADDRESS           (FILE_HEADER_ADDRESS + FILE_HEADER_SIZE + MAXIMUM_FS_FILES*FILE_META_RECORD_LENGTH) 
   70 #define MAX_SENORS_PER_FLASH_PAGE       (MEMORY_PAGE_SIZE / FILE_META_SENSOR_LENGTH) 
   73 #define DUMMY_VALUE     0xFF 
   76 #define NUM_DRIVERS     14 
  119     FORMAT_META_LENGTH_1B = 0x1,
 
  120     FORMAT_META_LENGTH_2B = 0x2,
 
  121     FORMAT_META_LENGTH_3B = 0x3,
 
  122     FORMAT_META_LENGTH_4B = 0x4,
 
  123     FORMAT_META_LENGTH_5B = 0x5,
 
  124     FORMAT_META_LENGTH_6B = 0x6,
 
  125     FORMAT_META_LENGTH_7B = 0x7,
 
  126     FORMAT_META_LENGTH_8B = 0x8,
 
  127     FORMAT_META_LENGTH_9B = 0x9,
 
  128     FORMAT_META_LENGTH_10B = 0xA,
 
  129     FORMAT_META_LENGTH_11B = 0xB,
 
  130     FORMAT_META_LENGTH_12B = 0xC,
 
  131     FORMAT_META_LENGTH_13B = 0xD,
 
  132     FORMAT_META_LENGTH_14B = 0xE,
 
  133     FORMAT_META_LENGTH_15B = 0xF,
 
  134     FORMAT_META_LENGTH_16B = 0x10,
 
  135     FORMAT_META_LENGTH_24B = 0x11,
 
  136     FORMAT_META_LENGTH_32B = 0x12,
 
  137     FORMAT_META_LENGTH_40B = 0x13,
 
  138     FORMAT_META_LENGTH_48B = 0x14,
 
  139     FORMAT_META_LENGTH_56B = 0x15,
 
  140     FORMAT_META_LENGTH_64B = 0x16,
 
  141     FORMAT_META_LENGTH_72B = 0x17,
 
  142     FORMAT_META_LENGTH_80B = 0x18,
 
  143     FORMAT_META_LENGTH_88B = 0x19,
 
  144     FORMAT_META_LENGTH_96B = 0x1A,
 
  145     FORMAT_META_LENGTH_104B = 0x1B,
 
  146     FORMAT_META_LENGTH_112B = 0x1C,
 
  147     FORMAT_META_LENGTH_120B = 0x1D,
 
  148     FORMAT_META_LENGTH_128B = 0x1E,
 
  150     FORMAT_META_NONE = 0xFF,
 
  153 #define FORMAT_META_MASK_FMT    0xE0 
  154 #define FORMAT_META_MASK_LENGTH    0x1F 
  169     FORMAT_META_FMT_SPECIAL_FUTURE2 = (0x05) << 5,
 
  170     FORMAT_META_FMT_SPECIAL_FUTURE3 = (0x06) << 5,
 
  171     FORMAT_META_FMT_SPECIAL_FUTURE4 = (0x07) << 5,
 
  175 #define Q_FORMAT_NONE            0xFF 
  230     uint8_t sensor_id[8];
 
  265     uint16_t recordAddressMap[MAXIMUM_FS_SENSORS_PER_FILE];
 
  281     uint8_t manufacturer;
 
  283     uint8_t memory_capacity;
 
  284     uint8_t memory_id[8];
 
  
Describe base structure for 1 file.
Definition: file_format.h:242
 
uint8_t ID
Identifier of file.
Definition: file_format.h:244
 
Definition of Q format number parameters: m,n.
Definition: file_format.h:180
 
FileDescriptor_t file
Detailed information about open file: FileDescriptor_t.
Definition: file_format.h:273
 
interface definition for specific types of memories.
 
Describes internal structure of file.
Definition: file_format.h:228
 
uint32_t meta_address
Address of meta-information for file.
Definition: file_format.h:247
 
RecordTypeQ_t Q
Specifies value of Q(m,n) parameters format of value.
Definition: file_format.h:219
 
uint8_t num_files
Number existing files in sFS.
Definition: file_format.h:275
 
uint16_t record_length
Length of one record in file in bytes.
Definition: file_format.h:260
 
uint32_t data_address
Address of begin of data file.
Definition: file_format.h:250
 
Base structure for sFS.
Definition: file_format.h:271
 
SensorType_t sensor_type
Type of stored value.
Definition: file_format.h:232
 
Base structure for description of sored value.
Definition: file_format.h:211
 
RecordTypeValue_t value_format
This information contain every sensor in his driver file.
Definition: file_format.h:234
 
uint8_t num_parts
Each file can have variable count of items (or columns) in row record.
Definition: file_format.h:256