History: fs_smfs


This page describes all changes made to the fs_smfs package, Smart-Meter File System base, since its release.

Version

1.18 (2017-08-30, 12:28):

  • smfs_get_record_size() prevented other APIs from running if used with RTOS and called with invalid database index.

1.17 (2017-08-02, 11:46):

  • Configuration parameter SMFS_SUPPRESS_IAR_DIAG moved to SMFS configuration file from psp_smfs configuration file.
  • New configuration parameter SMFS_OAL_USED introduced.

1.16:

  • Formal change eliminating error report generated by the CodeSonar static analysis tool.

1.15:

  • All API functions are protected against calls with invalid database index.
  • MISRA compliance extended to pass IAR MISRA check (except rules where SMFS deviates i.e. Pm152, Pm102).

1.14:

  • Operation with block sizes <64k was incorrect.

1.13:

  • New API functions added for creating, deleting, migrating databases.
  • New API function added for getting database properties.

1.12:

  • smfs_init() made flash access-free. Flash chip identification, surrounded by smfs_lock() and smfs_unlock() calls moved to smfs_start() so flash chip can be powered before accessing it for the first time.

1.11:

  • MISRA-compliant version.
  • Added support for key based search.
  • Added init-time layout check to verify if how the medium is formatted is suitable for the actual configuration.
  • Added support for storing/reading Database Structure ID.

1.10:

  • Several fixes based on review.

1.9:

  • Several fixes based on review.

1.8:

  • Database table is being checked for validity when formatting.
  • initialization fix for the case when all data blocks are used.

1.7:

  • several fixes based on review: Medium and Low priority issues.
  • search algorithm changed, now it uses timestamp-based dichotomic search.

1.6:

  • several fixes based on review: Highest and High Priority issues fixed.

1.5:

  • several safety fixes.
  • block init/erase fixed for ( SMFS_CHECK_BLOCKS_ERASED == 0 ).
  • API changes:

-  get_timestamp() callback removed.

-  timestamp comes from input parameter in write functions.

-  read functions output signature and timestamp among data.

1.4:

  • SMFS and drivers cleaned up, beautified.
  • timestamp not contained by user buffer when writing but returned by user callback function.
  • Databases can be configured, whether or not they contain timestamps.
  • wear leveling introduced.
  • fix regarding writing to non-full databases.
  • several safety related fixes.
  • smfs_cleanup_blocks() API function changed: gets time window size as input parameter.

1.3:

  • several safety-related fixes.
  • added new API function smfs_clear_records().

1.2:

  • fix regarding linear database write.
  • new API function smfs_update_record() introduced.

1.1:

  • initial release.