EEFS - EEprom File System.
JimPishlo
Posts: 6
My first contribution to the Hydra community is my EEProm File System. It works sort of like the HAM system, in fact, I'm using the NS_EEprom_Drv code used by HAM to access the EEProm. I'm even using HAM to debug my app while working on it. What you can do with EEFS are the following.
Save blocks of memory (or files) into EEProm from within your SPIN code by 'Name' (file name).
List files saved in EEProm.
Load files (by file name) from EEProm into a buffer.
I intend this to be an extension to Tiny Basic, so you can save and load programs to the upper 96k of EEProm memory.
TODO:
I'm still working on removing files from EEProm (kill function).
You can download the latest source code, and check it out for your self here:
·http://sourceforge.net/projects/eefilesystem
-jim
·
Save blocks of memory (or files) into EEProm from within your SPIN code by 'Name' (file name).
List files saved in EEProm.
Load files (by file name) from EEProm into a buffer.
I intend this to be an extension to Tiny Basic, so you can save and load programs to the upper 96k of EEProm memory.
TODO:
I'm still working on removing files from EEProm (kill function).
You can download the latest source code, and check it out for your self here:
·http://sourceforge.net/projects/eefilesystem
-jim
·
Comments
(Of course for now, you'll have to drop the file, and provide instruction to finding it.)
Maybe we can get Andre to weigh in on this and allow the driver to be distributed.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
Got an SD card connected? - PropDOS
@mpark:· I believe you can redistribute the NS Eeprom driver, because, Rich Benson (keebler) had it packaged up with his Hydra Asset Manager.· If I'm wrong, then I appologize, didn't mean to step on any toes, and I'll be happy to get permission from whomever, or even write my own, but there should be no need to re-invent the wheel.
@OldbitCollector: I don't think Andre' minds.· I posted about this project first on the Hydra forums over at xgs, and he just asked that I start up a source forge entry, update the wiki (which I haven't done yet), and tell you guys about it here on these forums.
I'm not using any kind of File Allocation tables for file location information.· I wanted to keep it simple and just have one growing heap for 'file' storage.· Everything is done in a sequential manor.· One file is located directly after another.· Kind of like on the old tape drives.· What happens is EEFS prepends a 16 byte header to your data.
Header Format:
The next header block, and file are located right after the file data.
To delete a file, I'll just have it shift all the file information upward to cover up the file you are deleting.· Kind of like a scroll function.· I'll have it write all zeros at the bottom of the file storage space to cover up the old copy of the last file so it's not duplicated.· The problem with this method is that it could be time consuming.· I'd have to use a temporary buffer, bring in a chunk of memory from EEProm, and re-write it to a spot further above it's old location back onto the EEProm.· I want this to have a small of a footprint as possible, so I'll have to limit the size of the temporary buffer.
-jim