Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add littlefs file system and update Sys.IO.FileSystem and stream #2911

Merged
merged 336 commits into from
Jul 23, 2024

Conversation

josesimoes
Copy link
Member

@josesimoes josesimoes commented Apr 10, 2024

Description

  • Add littlefs to build system.
  • Replacing and removing Win.Storage from ChibiOS, Azure RTOS and ESP32 targets.
  • Add native implementation for File Stream and other new methods.
  • Add stream to handle interactions with all storage devices (SD Card, internal flash, USB MSD).

Motivation and Context

How Has This Been Tested?

  • Unit tests in Sys.IO.File repo.

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue with code or algorithm)
  • New feature (non-breaking change which adds functionality to code)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dev Containers (changes related with Dev Containers, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist

  • My code follows the code style of this project (only if there are changes in source code).
  • My changes require an update to the documentation (there are changes that require the docs website to be updated).
  • I have updated the documentation accordingly (the changes require an update on the docs in this repo).
  • I have read the CONTRIBUTING document.
  • I have tested everything locally and all new and existing tests passed (only if there are changes in source code).

Copy link
Member

@Ellerbach Ellerbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice heavy lifting! Few comments

CMake/Modules/FindLITTLEFS.cmake Show resolved Hide resolved
targets/ChibiOS/CMakeLists.txt Outdated Show resolved Hide resolved
targets/ChibiOS/CMakeLists.txt Outdated Show resolved Hide resolved
@josesimoes josesimoes force-pushed the develop-add-littlefs branch 5 times, most recently from cfd4dfb to 7f3d6a2 Compare April 10, 2024 23:56
Copy link
Member

@Ellerbach Ellerbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lot of work and efforts in the PR and I know a lot of tests. So approving it.

@networkfusion
Copy link
Member

networkfusion commented May 2, 2024

Current issue seems to be:
image

and/or undefined ref to lfsFileSystemReady

@networkfusion
Copy link
Member

For ESP32:
image

- Update CMake and dev container files.
@josesimoes josesimoes added Area: Common libs Everything related with common libraries Platform: STM32 Everything related specifically with ChibiOS platform Platform: ESP32 Everything related specifically with ESP32 platform Platform: Azure-RTOS labels Jul 23, 2024
@josesimoes josesimoes enabled auto-merge (squash) July 23, 2024 13:06
@josesimoes josesimoes disabled auto-merge July 23, 2024 13:06
@josesimoes josesimoes merged commit bf46e5d into nanoframework:main Jul 23, 2024
38 checks passed
@josesimoes josesimoes deleted the develop-add-littlefs branch July 23, 2024 13:10
@josesimoes josesimoes changed the title Add littlefs file system Add littlefs file system and update Sys.IO.FileSystem and stream Jul 23, 2024
@josesimoes
Copy link
Member Author

@MateuszKlatecki following this, NXP is the last target using Win.Storage.
Any change you guys can put some work on this and migrate to the new FileSystem namespace and implementation so we can get rid of Win-Storage for good? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Common libs Everything related with common libraries Area: Config-and-Build Area: Dev-Containers Breaking-change Platform: Azure-RTOS Platform: ESP32 Everything related specifically with ESP32 platform Platform: STM32 Everything related specifically with ChibiOS platform Type: enhancement
Projects
None yet
5 participants