|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # SerialFlash
-
- Use SPI Flash memory with a filesystem-like interface.
-
- ## Accessing Files
-
- ### Open A File
-
- SerialFlashFile file;
- file = SerialFlash.open("filename.bin");
- if (file) { // true if the file exists
-
- ### Read Data
-
- char buffer[256];
- file.read(buffer, 256);
-
- ### File Size & Positon
-
- file.size();
- file.position()
- file.seek();
-
- ### Write Data
-
- file.write(buffer, 256);
-
- Several limitations apply to writing. Only previously unwritten portions of the file may be written. Files sizes can never change. Writes may only be done within the file's original size.
-
- file.erase(); // not yet implemented
-
- Only files created for erasing can be erased. The entire file is erased to all 255 (0xFF) bytes.
-
- ## Managing Files
-
- ### Create New Files
-
- SerialFlash.create(filename, size);
- SerialFlash.createErasable(filename, size);
-
- New files must be created using these funtions. Each returns true if the file is successfully created, or false if not enough space is available.
-
- Once created, files can never be renamed or deleted. The file's size can never change. Writing additional data can NOT grow the size of file.
-
- Files created for erasing automatically increase in size to the nearest number of erasable blocks, resulting in a file that may be 4K to 128K larger than requested.
-
- ### Directory Listing
-
- SerialFlash.opendir();
- SerialFlash.readdir(buffer, buflen, filelen);
-
- A list of files stored in the Flash can be accessed with readdir(), which returns true for each file, or false to indicate no more files.
-
- ## Full Erase
-
- SerialFlash.erase();
-
- while (SerialFlash.ready() == false) {
- // wait, 30 seconds to 2 minutes for most chips
- }
|