- is the little FS exposed to the user for saving data?
- especially when device goes offline and data can be saved with time stamp so it can sent later when device reconnect ?
- If not little FS what are the other ways to achieve this saving of the data with timestamp.
This is very important feature for us because we need to aware all the time what has happened to our IoT device. The event that might happen during offline are also very critical in making the business decisions.
Note: we have already finalized the hardware with particle boron and have no external flash build on our PCB.
What device OS version are you targeting?
Try the latest.
BTW, you will never be able to use the full 4MB as more than half of that is used otherwise already.
Here you can find some information
Hi. I am using device OS 1.4.4. If it can be done in that then how much memory available. ? I need to save the the data with time stamp. Please advice
LittleFS was only exposed in 2.0.0-rc.1 - with 1.4.4 you’d need to locally build the device OS too in order to gain access to the relevant (previously hidden) functions.
Or you need to add LittleFS support via a suitable library. But I cannot recommend any such library.
How much of the little FS exposed in 2.0.0-rc.1?
Also does this os version improves the reconnection issues?
Please share a method or tutorial to save data to this memory if i upgrade to 2.0.0-rc.1.
Didn’t I already post a link above?
Maybe try clicking it and reading what’s written there.
The littleFS file system uses wear leveling to make the memory last longer.
2MB of the 4MB chip is taken up by Particle OS stuff and that leaves 2MB of space. I hear with the wear leveling you only have a 1MB of useful space but I have heard others say it’s closer to 2MB of useable space.
IIRC you’d be near the 1.8MB range as about 200KB are used for the EEPROM emulation and LittleFS does not require (extra) wear leveling - but I’d rather leave the final word on that to Rick
On the Boron and Argon there’s currently something like 10K of the 2MB Little FS used by Device OS. I’d avoid filling it completely full in case Device OS needs more of it in the future.
There isn’t a reserved amount for wear leveling, however it does affect the life. The 2 MB is 4096 sectors of 512 bytes. If the flash is nearly empty, you can write nearly 4000 sectors before a sector is reused, so the wear on any single sector is very small.
However, if you only had 10 free sectors, every 10th write would have to erase and rewrite one of the sectors. But if the data rarely changes you can still safely fill most of the flash memory.
Thanks for the clarification!
Thats very good news.