 |
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