simple FS  v0.1.0
Classes | Macros | Typedefs | Enumerations
Format_specification

Definition of internal structures with format definitions. More...

Collaboration diagram for Format_specification:

Classes

struct  RecordTypeQ_t
 Definition of Q format number parameters: m,n. More...
 
struct  RecordTypeValue_t
 Base structure for description of sored value. More...
 
struct  RecordDescriptor_t
 Describes internal structure of file. More...
 
struct  FileDescriptor_t
 Describe base structure for 1 file. More...
 
struct  SimpleFS_t
 Base structure for sFS. More...
 
struct  FS_Header_t
 Basic information from FS start area. More...
 

Macros

#define FILENAME_LENGTH   16
 Length of file name.
 
#define FILE_META_SENSOR_LENGTH   12
 Length of META record for one column in file. More...
 
#define FILE_HEADER_RECORD_LENGTH   32
 Constant record size for 1 record in HEADER area. More...
 
#define FILE_HEADER_ADDRESS   FILE_HEADER_RECORD_LENGTH
 Define amount of Bytes for 1 file information in HEADER area.
 
#define FILE_HEADER_SIZE   (MAXIMUM_FS_FILES * FILE_HEADER_RECORD_LENGTH)
 Header size of sFS.
 
#define FILE_META_RECORD_LENGTH   (FILE_META_SENSOR_LENGTH * MAXIMUM_FS_SENSORS_PER_FILE)
 Length of record in META area.
 
#define FILE_META_SIZE   (MAXIMUM_FS_FILES * FILE_META_RECORD_LENGTH)
 Length of META block for one file.
 
#define FILE_META_ADDRESS   (FILE_HEADER_ADDRESS + FILE_HEADER_SIZE)
 Starting address for META area.
 
#define FILE_DATA_ADDRESS   (FILE_HEADER_ADDRESS + FILE_HEADER_SIZE + MAXIMUM_FS_FILES*FILE_META_RECORD_LENGTH)
 Starting address for DATA area.
 
#define MAX_SENORS_PER_FLASH_PAGE   (MEMORY_PAGE_SIZE / FILE_META_SENSOR_LENGTH)
 Number of columns records of file per one memory page.
 
#define DUMMY_VALUE   0xFF
 Dummy/empty value.
 
#define NUM_DRIVERS   14
 Number of sensor types. More...
 
#define FORMAT_META_MASK_FMT   0xE0
 
#define FORMAT_META_MASK_LENGTH   0x1F
 
#define Q_FORMAT_NONE   0xFF
 

Typedefs

typedef enum sensor_type SensorType_t
 Definition of base types os supported sensors. More...
 
typedef enum value_format ValueFormatMetaLength_t
 Definition data value lengths. More...
 
typedef enum meta_fmt ValueFormatMetaFmt_t
 Enumeration of supported data formats. More...
 

Enumerations

enum  sensor_type {
  SENSOR_TYPE_NONE = 0x00, SENSOR_TYPE_INTEGER = 0x01, SENSOR_TYPE_CHAR = 0x02, SENSOR_TYPE_FLOAT = 0x03,
  SENSOR_TYPE_TIME = 0x04, SENSOR_TYPE_TEMPERATURE = 0x05, SENSOR_TYPE_HUMIDITY = 0x06, SENSOR_TYPE_PRESSURE = 0x07,
  SENSOR_TYPE_LIGHT_VISIBLE = 0x08, SENSOR_TYPE_LIGHT_IR = 0x09, SENSOR_TYPE_LIGHT_UV = 0x0A, SENSOR_TYPE_ADC = 0x0B,
  SENSOR_TYPE_ACC = 0x0C, SENSOR_TYPE_GYR = 0x0D
}
 Definition of base types os supported sensors. More...
 
enum  value_format {
  FORMAT_META_LENGTH_1B = 0x1, FORMAT_META_LENGTH_2B = 0x2, FORMAT_META_LENGTH_3B = 0x3, FORMAT_META_LENGTH_4B = 0x4,
  FORMAT_META_LENGTH_5B = 0x5, FORMAT_META_LENGTH_6B = 0x6, FORMAT_META_LENGTH_7B = 0x7, FORMAT_META_LENGTH_8B = 0x8,
  FORMAT_META_LENGTH_9B = 0x9, FORMAT_META_LENGTH_10B = 0xA, FORMAT_META_LENGTH_11B = 0xB, FORMAT_META_LENGTH_12B = 0xC,
  FORMAT_META_LENGTH_13B = 0xD, FORMAT_META_LENGTH_14B = 0xE, FORMAT_META_LENGTH_15B = 0xF, FORMAT_META_LENGTH_16B = 0x10,
  FORMAT_META_LENGTH_24B = 0x11, FORMAT_META_LENGTH_32B = 0x12, FORMAT_META_LENGTH_40B = 0x13, FORMAT_META_LENGTH_48B = 0x14,
  FORMAT_META_LENGTH_56B = 0x15, FORMAT_META_LENGTH_64B = 0x16, FORMAT_META_LENGTH_72B = 0x17, FORMAT_META_LENGTH_80B = 0x18,
  FORMAT_META_LENGTH_88B = 0x19, FORMAT_META_LENGTH_96B = 0x1A, FORMAT_META_LENGTH_104B = 0x1B, FORMAT_META_LENGTH_112B = 0x1C,
  FORMAT_META_LENGTH_120B = 0x1D, FORMAT_META_LENGTH_128B = 0x1E, FORMAT_META_NONE = 0xFF
}
 Definition data value lengths. More...
 
enum  meta_fmt {
  FORMAT_META_FMT_INT = 0, FORMAT_META_FMT_UINT = (0x01) << 5, FORMAT_META_FMT_Q = (0x02) << 5, FORMAT_META_FMT_SPECIAL_TIME = (0x03) << 5,
  FORMAT_META_FMT_SPECIAL_BCD = (0x04) << 5, FORMAT_META_FMT_SPECIAL_FUTURE2 = (0x05) << 5, FORMAT_META_FMT_SPECIAL_FUTURE3 = (0x06) << 5, FORMAT_META_FMT_SPECIAL_FUTURE4 = (0x07) << 5
}
 Enumeration of supported data formats. More...
 

Detailed Description

Definition of internal structures with format definitions.

Macro Definition Documentation

◆ FILE_HEADER_RECORD_LENGTH

#define FILE_HEADER_RECORD_LENGTH   32

Constant record size for 1 record in HEADER area.

This is constant for all size variants of sFS.

◆ FILE_META_SENSOR_LENGTH

#define FILE_META_SENSOR_LENGTH   12

Length of META record for one column in file.

This is constant for all size variants of sFS.

◆ NUM_DRIVERS

#define NUM_DRIVERS   14

Number of sensor types.

This is count od enum type SensorType_t

Typedef Documentation

◆ SensorType_t

typedef enum sensor_type SensorType_t

Definition of base types os supported sensors.

It is also used for automatic driver load ofr supported sensor modules. See

See also
{sensor_FS.c} to method FS_init(). Values of these constant MUST increment by 1!!!

◆ ValueFormatMetaFmt_t

Enumeration of supported data formats.

This is additional value to determine specific format of stored data in file.

◆ ValueFormatMetaLength_t

Definition data value lengths.

These enumerates represent length codes. For determine real length of data use get_sensor_data_length() function.

Enumeration Type Documentation

◆ meta_fmt

enum meta_fmt

Enumeration of supported data formats.

This is additional value to determine specific format of stored data in file.

Enumerator
FORMAT_META_FMT_INT 

Format as signed integer.

FORMAT_META_FMT_UINT 

Format as unsigned integer.

FORMAT_META_FMT_Q 

Format float number with fixed decimal point.

FORMAT_META_FMT_SPECIAL_TIME 

Format as time (binary coded)

FORMAT_META_FMT_SPECIAL_BCD 

Format as BCD value.

◆ sensor_type

Definition of base types os supported sensors.

It is also used for automatic driver load ofr supported sensor modules. See

See also
{sensor_FS.c} to method FS_init(). Values of these constant MUST increment by 1!!!
Enumerator
SENSOR_TYPE_NONE 

Empty value.

Dont use this type.

SENSOR_TYPE_INTEGER 

Primitive data type: integer.

SENSOR_TYPE_CHAR 

Primitive data type: char.

SENSOR_TYPE_FLOAT 

Primitive data type: float in fixed point notation.

SENSOR_TYPE_TIME 

Date/Time.

Can be represent as binary or BCD

SENSOR_TYPE_TEMPERATURE 

Temperature value from DS18B20 sensors.

SENSOR_TYPE_HUMIDITY 

Humidity, stored as Q format.

SENSOR_TYPE_PRESSURE 

Atmosferic pressure, stored as Q format.

SENSOR_TYPE_LIGHT_VISIBLE 

Visible light, stored as Q format.

SENSOR_TYPE_LIGHT_IR 

Infrared light, stored as Q format.

SENSOR_TYPE_LIGHT_UV 

Ultraviolet light.

SENSOR_TYPE_ADC 

Telemetry, value from internal ACD converter.

Typically value in Volts

SENSOR_TYPE_ACC 

Acceleration from accelerometer.

SENSOR_TYPE_GYR 

Values from gyroscope

◆ value_format

Definition data value lengths.

These enumerates represent length codes. For determine real length of data use get_sensor_data_length() function.