ChibiOS 21.11.4
MFSDriver Struct Reference

Type of an MFS instance. More...

#include <hal_mfs.h>

Collaboration diagram for MFSDriver:
Collaboration graph

Data Fields

mfs_state_t state
 Driver state.
const MFSConfigconfig
 Current configuration data.
mfs_bank_t current_bank
 Bank currently in use.
uint32_t current_counter
 Usage counter of the current bank.
flash_offset_t next_offset
 Pointer to the next free position in the current bank.
flash_offset_t used_space
 Used space in the current bank without considering erased records.
mfs_record_descriptor_t descriptors [MFS_CFG_MAX_RECORDS]
 Offsets of the most recent instance of the records.
flash_offset_t tr_next_offset
 Next write offset for current transaction.
flash_offset_t tr_limit_offet
 Maximum offset for the transaction.
uint32_t tr_nops
 Number of buffered operations in current transaction.
mfs_transaction_op_t tr_ops [MFS_CFG_TRANSACTION_MAX]
 Buffered operations in current transaction.
mfs_nocache_buffer_tncbuf
 Associated non-cacheable buffer.

Detailed Description

Type of an MFS instance.

Definition at line 350 of file hal_mfs.h.

Field Documentation

◆ state

◆ config

◆ current_bank

mfs_bank_t MFSDriver::current_bank

Bank currently in use.

Definition at line 362 of file hal_mfs.h.

Referenced by mfs_garbage_collect(), mfs_state_reset(), mfs_try_mount(), mfsEraseRecord(), mfsStartTransaction(), and mfsWriteRecord().

◆ current_counter

uint32_t MFSDriver::current_counter

Usage counter of the current bank.

Definition at line 366 of file hal_mfs.h.

Referenced by mfs_garbage_collect(), mfs_state_reset(), and mfs_try_mount().

◆ next_offset

flash_offset_t MFSDriver::next_offset

Pointer to the next free position in the current bank.

Definition at line 370 of file hal_mfs.h.

Referenced by mfs_bank_scan_records(), mfs_garbage_collect(), mfs_state_reset(), mfsCommitTransaction(), mfsEraseRecord(), mfsStartTransaction(), and mfsWriteRecord().

◆ used_space

flash_offset_t MFSDriver::used_space

Used space in the current bank without considering erased records.

Definition at line 374 of file hal_mfs.h.

Referenced by mfs_state_reset(), mfs_try_mount(), mfsCommitTransaction(), mfsEraseRecord(), mfsStartTransaction(), and mfsWriteRecord().

◆ descriptors

Offsets of the most recent instance of the records.

Note
Zero means that there is not a record with that id.

Definition at line 379 of file hal_mfs.h.

Referenced by mfs_bank_scan_records(), mfs_garbage_collect(), mfs_state_reset(), mfs_try_mount(), mfsCommitTransaction(), mfsEraseRecord(), mfsReadRecord(), and mfsWriteRecord().

◆ tr_next_offset

flash_offset_t MFSDriver::tr_next_offset

Next write offset for current transaction.

Definition at line 384 of file hal_mfs.h.

Referenced by mfsCommitTransaction(), mfsEraseRecord(), mfsStartTransaction(), and mfsWriteRecord().

◆ tr_limit_offet

flash_offset_t MFSDriver::tr_limit_offet

Maximum offset for the transaction.

Definition at line 388 of file hal_mfs.h.

Referenced by mfsEraseRecord(), mfsStartTransaction(), and mfsWriteRecord().

◆ tr_nops

uint32_t MFSDriver::tr_nops

Number of buffered operations in current transaction.

Definition at line 392 of file hal_mfs.h.

Referenced by mfsCommitTransaction(), mfsEraseRecord(), mfsRollbackTransaction(), mfsStartTransaction(), and mfsWriteRecord().

◆ tr_ops

Buffered operations in current transaction.

Definition at line 396 of file hal_mfs.h.

Referenced by mfsCommitTransaction(), mfsEraseRecord(), and mfsWriteRecord().

◆ ncbuf