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 #2911

Open
wants to merge 359 commits into
base: develop-sys.io.filestream
Choose a base branch
from

Conversation

josesimoes
Copy link
Member

@josesimoes josesimoes commented Apr 10, 2024

Description

  • Add littlefs to build system.
  • Replacing and removing Win.Storage from ChibiOS and Azure RTOS targets.
  • Temporarily removing support for SDCard and USB MSD in ORGPALTHREE.

Motivation and Context

How Has This Been Tested?

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

@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

@@ -61,7 +60,7 @@ RUN mkdir -p /usr/local/bin/gcc \
# Clone what is needed for TI
RUN git clone --branch 4.10.00.07 https://github.com/nanoframework/SimpleLink_CC32xx_SDK.git --depth 1 ./sources/SimpleLinkCC32 \
# you can't use the nanoFramework repository as it's Windows only
# && git clone --branch 3.62.01.15 https://github.com/nanoframework/TI_XDCTools.git --depth 1 ./sources/TI_XDCTools \
# && git clone --branch 3.61.00.16 https://github.com/nanoframework/TI_XDCTools.git --depth 1 ./sources/TI_XDCTools \
Copy link
Member

Choose a reason for hiding this comment

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

Any reason in particular for this downgrade in version? perhaps it should be noted as to why.

Copy link
Member Author

Choose a reason for hiding this comment

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

None. I was probably testing something and forgot to revert it.
Actually this line could (should?) be removed as is not doing anything here...

@networkfusion
Copy link
Member

Note: there is no need to continually bump the dockerfile version for smoke tests to succeed. The CI uses the SRC file as default, so the PR should only bump by one version when ready to merge.


mutex_t lfs_mutex[LITTLEFS_INSTANCES_COUNT];

//bool lfsFileSystemReady;
Copy link
Member

Choose a reason for hiding this comment

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

Uncommenting this will allow the build to succeed for STM32, but might be commented out for a reason (defined as extern in the header).

# file system drivers
nanoPAL_FileSystem.cpp

targetPAL_FileSystem.cpp
Copy link
Contributor

Choose a reason for hiding this comment

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

These three files are missing in the ESP32 target.

targetPAL_FileSystem.cpp
Target_System_IO_FileSystem.c
target_FileSystem.cpp

Copy link
Member Author

Choose a reason for hiding this comment

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

Correct. I'm working on STM32 only. Other platforms will follow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants