Component: FAT Dummy (File): Difference between revisions
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead"" |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 139: | Line 139: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''AppendByteToFile''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 158: | Line 158: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''AppendStringToFile''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 177: | Line 177: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CloseFile''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 191: | Line 191: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CreateFile''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 210: | Line 210: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DeleteFile''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 229: | Line 229: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MoveToNextFileSector''' | ||
|- | |- | ||
| colspan="2" | Attempts to move to the next sector in the file. When reading a file you would leave force next sector set to 0. When writing a file you would leave force next sector set to 1 to allow new sectors to be created as the file grows. Returns 0 for success | | colspan="2" | Attempts to move to the next sector in the file. When reading a file you would leave force next sector set to 0. When writing a file you would leave force next sector set to 1 to allow new sectors to be created as the file grows. Returns 0 for success | ||
| Line 248: | Line 248: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''OpenFile''' | ||
|- | |- | ||
| colspan="2" | Searches for and opens a file for reading or writing from within the current directory on the disk. Returns 0 for success. | | colspan="2" | Searches for and opens a file for reading or writing from within the current directory on the disk. Returns 0 for success. | ||
| Line 267: | Line 267: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''OpenFolder''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 286: | Line 286: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadByteFromFile''' | ||
|- | |- | ||
| colspan="2" | Reads a byte from the currently open file. Auto increments the position in the file. A return value of 0 may signify the end of the file has been reached (depending on the contents of the file). | | colspan="2" | Reads a byte from the currently open file. Auto increments the position in the file. A return value of 0 may signify the end of the file has been reached (depending on the contents of the file). | ||
| Line 300: | Line 300: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadByteFromIndex''' | ||
|- | |- | ||
| colspan="2" | Reads a byte of data from the local sector buffer. Return = Data byte read from the local sector buffer. | | colspan="2" | Reads a byte of data from the local sector buffer. Return = Data byte read from the local sector buffer. | ||
| Line 319: | Line 319: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadFileLength''' | ||
|- | |- | ||
| colspan="2" | Returns the number of bytes in the current sector that are used by the current open file. Return = 512 - Sector is filled with file data Return < 512 - Last sector of the file, Retval specifies how many bytes of data are remaining in the sector | | colspan="2" | Returns the number of bytes in the current sector that are used by the current open file. Return = 512 - Sector is filled with file data Return < 512 - Last sector of the file, Retval specifies how many bytes of data are remaining in the sector | ||
| Line 333: | Line 333: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadFileSize''' | ||
|- | |- | ||
| colspan="2" | Reads the entire size of the current file in bytes. | | colspan="2" | Reads the entire size of the current file in bytes. | ||
| Line 347: | Line 347: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteByteToBuffer''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 371: | Line 371: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteFileSector''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 386: | Line 386: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|} | |} | ||
Latest revision as of 14:23, 13 July 2026
| Author | Matrix Ltd. |
| Version | 2.7 |
| Category | File |
FAT Dummy component
FAT component allowing access to read and write files on a SD, SDHC or MMC card. The component automatically detects the filesystem on the card on initialise so FAT16 and FAT32 are fully supported.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_File_Dummy.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_File_Dummy.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Reading data from a text file
Example to read a text file from a SD card or from a text file in simulation and display on a 16 x 2 character LCD. The text file needs to be in the same directory as the Flowcode .fcfx project file for the simulation to run correctly.
FAT Read File
File:Test.txt
Console showing current 512 byte sector data
Console showing high level FAT status
Parsing a standard .BMP image file
Example to read a bitmap image file from a SD card or from a bitmap file in simulation and display on a graphical LCD. The bitmapfile needs to be in the same directory as the Flowcode .fcfx project file for the simulation to run correctly.
FAT display Bitmap
Demo bitmap files referenced in the example.
Picture showing a bitmap being displayed on a GLCD component.
Data logger Simple
Example showing how to take a collection of analogue readings and save them into a text based file, the simple way.
FAT data logger simple but slow
Data logger Advanced
Example showing how to take a collection of analogue readings and save them into a text based file, the fast way.
FAT data logger fast
Log Keypad Presses
Example showing how to poll a keypad for key presses. Each key press is shown on an LCD and appended to a log file as an ASCII character using the FAT component.
Keypad Press Log
Streaming Audio Files
Example showing how to steam out .wav audio files from an SD card using a 16-bit @ 16KHz file format. A free program such as Audacity can be used to create or edit the .wav files.
WAV Streaming
Macro reference
AppendByteToFile
| AppendByteToFile | |
| Data | |
| Return | |
AppendStringToFile
| AppendStringToFile | |
| Data_String | |
| Return | |
CloseFile
| CloseFile | |
| Return | |
CreateFile
| CreateFile | |
| Filename | |
| Return | |
DeleteFile
| DeleteFile | |
| Filename | |
| Return | |
MoveToNextFileSector
OpenFile
OpenFolder
| OpenFolder | |
| Folder_Name | |
| Return | |
ReadByteFromFile
ReadByteFromIndex
| ReadByteFromIndex | |
| Reads a byte of data from the local sector buffer. Return = Data byte read from the local sector buffer. | |
| Address | |
| Return | |
ReadFileLength
ReadFileSize
| ReadFileSize | |
| Reads the entire size of the current file in bytes. | |
| Return | |
WriteByteToBuffer
| WriteByteToBuffer | |
| Address | |
| Data | |
| Return | |
WriteFileSector
| WriteFileSector | |
| Return | |
Property reference
| Properties |


