Files
MSE-SoftwEng/TSM_PicoW_Sensor/McuLib/FatFS/McuFatFS.h
SylvanArnold 6cd510e749 feat: added PicoW_Sensor code template
Credits to @ext-erich.styger that provided the template
2025-05-06 13:07:01 +00:00

1367 lines
53 KiB
C

/* ###################################################################
** This component module is generated by Processor Expert. Do not modify it.
** Filename : McuFatFS.h
** Project : FRDM-K64F_Generator
** Processor : MK64FN1M0VLL12
** Component : FAT_FileSystem
** Version : Component 01.214, Driver 01.00, CPU db: 3.00.000
** Compiler : GNU C Compiler
** Date/Time : 2021-05-13, 11:07, # CodeGen: 738
** Abstract :
**
** Settings :
** Component name : McuFatFS
** FatFs Version : R0.12 (Patch 3, 29-April-2016)
** Tiny : no
** Volumes : 1
** Drives : 1
** Drive0 : SDCard
** FS_MINIMIZE : 0
** Maximum Sector Size : 512
** Relative Path : Enabled with f_getcwd()
** Code Page : U.S. (OEM)
** File Sharing : 0
** Multipartion : no
** Fast Seek : yes
** Use Find : Disable (0)
** String Functions : enable
** LFN : Long File Name Support
** Use LFN : Disable
** exFAT : no
** Max LFN Length : 255
** LFN Unicode : no
** Write enabled : Enabled
** Use TimeDate : Enabled
** Realtime clock : McuTimeDate
** Reentrant : Enabled
** Timeout ticks : 1000
** Handle : HANDLE
** User Sync Functions : no
** RTOS : Enabled
** RTOS : McuRTOS
** Use dynamic heap : yes
** Utility : McuUtility
** Wait : McuWait
** SDK : McuLib
** Shell : Enabled
** Shell : McuShell
** Card Insert Delay (ms) : 100
** File print buffer size : 32
** File copy buffer size : 32
** Contents :
** open - FRESULT McuFatFS_open(FIL *fp, const XCHAR *path, BYTE mode);
** close - FRESULT McuFatFS_close(FIL *fp);
** read - FRESULT McuFatFS_read(FIL *fp, void *buff, UINT btr, UINT *br);
** write - FRESULT McuFatFS_write(FIL *fp, const *void buff, UINT btw, UINT *bw);
** opendir - FRESULT McuFatFS_opendir(DIR *dj, const XCHAR *path);
** readdir - FRESULT McuFatFS_readdir(DIR *dj, FILINFO *fno);
** lseek - FRESULT McuFatFS_lseek(FIL *fp, DWORD ofs);
** unlink - FRESULT McuFatFS_unlink(const XCHAR *path);
** mount - FRESULT McuFatFS_mount(FATFS *fs, const TCHAR* path, byte opt);
** getfree - FRESULT McuFatFS_getfree(const XCHAR *path, dword *nclst, FATFS **fatfs);
** sync - FRESULT McuFatFS_sync(FIL *fp);
** rename - FRESULT McuFatFS_rename(const XCHAR *path_old, const XCHAR *path_new);
** isWriteProtected - bool McuFatFS_isWriteProtected(uint8_t *drvStr);
** isDiskPresent - bool McuFatFS_isDiskPresent(uint8_t *drvStr);
** mkdir - FRESULT McuFatFS_mkdir(const XCHAR *path);
** chmod - FRESULT McuFatFS_chmod(const TCHAR* FileName, uint8_t Attribute, uint8_t...
** truncate - FRESULT McuFatFS_truncate(FIL *FileObject);
** stat - FRESULT McuFatFS_stat(const TCHAR* FileName, FILINFO* FileInfo);
** utime - FRESULT McuFatFS_utime(const TCHAR* FileName, const FILINFO* TimeDate);
** mkfs - FRESULT McuFatFS_mkfs(byte drive, uint8_t PartitioningRule, UINT AllocSize);
** chdir - FRESULT McuFatFS_chdir(const TCHAR* Path);
** chdrive - FRESULT McuFatFS_chdrive(uint8_t Drive);
** getcwd - FRESULT McuFatFS_getcwd(TCHAR* Buffer, UINT BufferLen);
** errFResultMsg - char* McuFatFS_errFResultMsg(int errNo);
** errDResultMsg - char* McuFatFS_errDResultMsg(int errNo);
** f_gets - McuFatFS_CHARP McuFatFS_f_gets(TCHAR* buff, int len, FIL *fil);
** f_puts - McuFatFS_INT McuFatFS_f_puts(const TCHAR* str, FIL *fil);
** f_putc - McuFatFS_INT McuFatFS_f_putc(TCHAR c, FIL *fil);
** f_printf - McuFatFS_INT McuFatFS_f_printf(FIL* fil, const TCHAR* str, ...);
** f_eof - byte McuFatFS_f_eof(FIL *fil);
** f_error - uint8_t McuFatFS_f_error(FIL *fil);
** f_tell - dword McuFatFS_f_tell(FIL *fil);
** f_size - dword McuFatFS_f_size(FIL *fil);
** f_getlabel - FRESULT McuFatFS_f_getlabel(const TCHAR* path, TCHAR* label, DWORD* vsn);
** f_setlabel - FRESULT McuFatFS_f_setlabel(const TCHAR* label);
** f_expand - FRESULT McuFatFS_f_expand(FIL* fp, FSIZE_t fsz, BYTE opt);
** f_findfirst - FRESULT McuFatFS_f_findfirst(DIR* dp, FILINFO* fno, const TCHAR* path, const...
** f_findnext - FRESULT McuFatFS_f_findnext(DIR* dp, FILINFO* fno);
** f_opendir - FRESULT McuFatFS_f_opendir(DIR* dp, const TCHAR* path);
** f_readdir - FRESULT McuFatFS_f_readdir(DIR *dj, FILINFO *fno);
** f_closedir - FRESULT McuFatFS_f_closedir(DIR* dp);
** get_fattime - uint32_t McuFatFS_get_fattime(void);
** ParseCommand - uint8_t McuFatFS_ParseCommand(const unsigned char *cmd, bool *handled, const...
** StrToDriveNumber - uint8_t McuFatFS_StrToDriveNumber(uint8_t *drvStr);
** CheckCardPresence - uint8_t McuFatFS_CheckCardPresence(bool *cardMounted, uint8_t *drive, FATFS...
** MountFileSystem - uint8_t McuFatFS_MountFileSystem(FATFS *fileSystemObject, uint8_t...
** UnMountFileSystem - uint8_t McuFatFS_UnMountFileSystem(uint8_t *logicalDrive, const...
** PrintDirectory - uint8_t McuFatFS_PrintDirectory(const uint8_t *dirName, const...
** CopyFile - uint8_t McuFatFS_CopyFile(const uint8_t*srcFileName, const uint8_t...
** DeleteFile - uint8_t McuFatFS_DeleteFile(const uint8_t *fileName, const...
** CreateFile - uint8_t McuFatFS_CreateFile(const uint8_t *fileName, const...
** PrintFile - uint8_t McuFatFS_PrintFile(const uint8_t *fileName, const...
** PrintHexFile - uint8_t McuFatFS_PrintHexFile(const uint8_t *fileName, const...
** MakeDirectory - uint8_t McuFatFS_MakeDirectory(const uint8_t *dirName, const...
** ChangeDirectory - uint8_t McuFatFS_ChangeDirectory(const uint8_t *dirName, const...
** RenameFile - uint8_t McuFatFS_RenameFile(const uint8_t *srcFileName, const uint8_t...
** PrintSector - uint8_t McuFatFS_PrintSector(uint8_t drive, uint32_t sectorNo, const...
** PrintDiskInfo - uint8_t McuFatFS_PrintDiskInfo(uint8_t *drive, const...
** Benchmark - uint8_t McuFatFS_Benchmark(const %@Shell@'ModuleName'%.StdIOType *io);
** Deinit - uint8_t McuFatFS_Deinit(void);
** Init - uint8_t McuFatFS_Init(void);
**
** Copyright (c) 2014-2021, Erich Styger
** Web: http://mcuoneclipse.com/
** SourceForge: https://sourceforge.net/projects/mcuoneclipse
** Git: https://github.com/ErichStyger/McuOnEclipse_PEx
** All rights reserved.
**
** Redistribution and use in source and binary forms, with or without modification,
** are permitted provided that the following conditions are met:
** - Redistributions of source code must retain the above copyright notice, this list
** of conditions and the following disclaimer.
** - Redistributions in binary form must reproduce the above copyright notice, this
** list of conditions and the following disclaimer in the documentation and/or
** other materials provided with the distribution.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
** ###################################################################*/
/*!
** @file McuFatFS.h
** @version 01.00
** @brief
**
*/
/*!
** @addtogroup McuFatFS_module McuFatFS module documentation
** @{
*/
#ifndef __McuFatFS_H
#define __McuFatFS_H
/* MODULE McuFatFS. */
#include "McuLib.h" /* SDK and API used */
#include "McuFatFSconfig.h" /* configuration */
/* Wrappers to FatFS types and constants */
#define McuFatFS_FATFS FATFS
#define McuFatFS_DIR DIR
#define McuFatFS_FIL FIL
#define McuFatFS_FILINFO FILINFO
#define McuFatFS_FRESULT FRESULT
#define McuFatFS_DRESULT DRESULT
#if McuLib_CONFIG_SDK_VERSION_USED == McuLib_CONFIG_SDK_PROCESSOR_EXPERT
#define McuFatFS_USE_LFN _USE_LFN
#define McuFatFS_MAX_LFN _MAX_LFN
#define McuFatFS_MAX_SS _MAX_SS
#define McuFatFS_FS_RPATH _FS_RPATH
#define McuFatFS_FS_READONLY _FS_READONLY
#define McuFatFS_FS_REENTRANT _FS_REENTRANT
#define McuFatFS_SYNC_t _SYNC_t
#define McuFatFS_FS_TIMEOUT _FS_TIMEOUT
#define McuFatFS_VOLUMES _VOLUMES
#else /* use newer defines in NXP SDK and FatFS */
#define McuFatFS_USE_LFN FF_USE_LFN
#define McuFatFS_MAX_LFN FF_MAX_LFN
#define McuFatFS_MAX_SS FF_MAX_SS
#define McuFatFS_FS_RPATH FF_FS_RPATH
#define McuFatFS_FS_READONLY FF_FS_READONLY
#define McuFatFS_FS_REENTRANT FF_FS_REENTRANT
#define McuFatFS_SYNC_t FF_SYNC_t
#define McuFatFS_FS_TIMEOUT FF_FS_TIMEOUT
#define McuFatFS_VOLUMES FF_VOLUMES
#endif
/* prototypes for application callbacks */
extern bool McuFatFS_CONFIG_IS_DISK_PRESENT_CALLBACK(uint8_t *drvStr);
extern bool McuFatFS_CONFIG_IS_WRITE_PROTECTED_CALLBACK(uint8_t *drvStr);
#if McuFatFS_CONFIG_SHELL_ENABLED
#include "McuShell.h"
#endif
#include "McuUtility.h"
#include "McuWait.h"
#include "McuTimeDate.h"
#include "McuRTOS.h"
#include "ff.h"
#include "diskio.h"
#ifndef __BWUserType_McuFatFS_CHARP
#define __BWUserType_McuFatFS_CHARP
typedef char * McuFatFS_CHARP; /* alias to a char pointer */
#endif
#ifndef __BWUserType_McuFatFS_INT
#define __BWUserType_McuFatFS_INT
typedef int McuFatFS_INT; /* alias to int type. */
#endif
#define McuFatFS_PARSE_COMMAND_ENABLED McuFatFS_CONFIG_SHELL_ENABLED /* set to 1 if method ParseCommand() is present, 0 otherwise */
#define McuFatFS_USE_RTOS_DYNAMIC_MEMORY (1 && configSUPPORT_DYNAMIC_ALLOCATION) /* 1: use RTOS dynamic memory allocation, 0: use static memory */
#define McuFatFS_open(fp, path, mode) \
f_open(fp, path, mode)
/*
** ===================================================================
** Method : open (component FAT_FileSystem)
**
** Description :
** Open/Create a file
** Parameters :
** NAME - DESCRIPTION
** fp - Pointer to the blank file object structure
** path - Pointer to a null-terminated string that
** specifies the file name to create or open.
** mode - Specifies the type of access and open
** method for the file. It is specified by a
** combination of following flags.
** FA_READ: Specifies read access to the
** object. Data can be read from the file.
** Combine with FA_WRITE for read-write access.
** FA_WRITE: Specifies write access to the
** object. Data can be written to the file.
** Combine with FA_READ for read-write access.
** FA_OPEN_EXISTING: Opens the file. The
** function fails if the file is not existing.
** (Default)
** FA_OPEN_ALWAYS: Opens the file if it is
** existing. If not, a new file is created. To
** append data to the file, use f_lseek
** function after file open in this method.
** FA_CREATE_NEW: Creates a new file. The
** function fails if the file is already
** existing.
** FA_CREATE_ALWAYS: Creates a new file. If
** the file is existing, it is truncated and
** overwritten.
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_close(fp) \
f_close(fp)
/*
** ===================================================================
** Method : close (component FAT_FileSystem)
**
** Description :
** Close a file
** Parameters :
** NAME - DESCRIPTION
** fp - Pointer to the open file object structure to
** be closed.
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_read(fp, buff, btr, br) \
f_read(fp, buff, btr, br)
/*
** ===================================================================
** Method : read (component FAT_FileSystem)
**
** Description :
** Read file
** Parameters :
** NAME - DESCRIPTION
** fp - Pointer to the file object
** buff - Pointer to the data buffer
** btr - Number of bytes to read
** br - Pointer to the number of bytes read
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_write(fp, buff, btw, bw) \
f_write(fp, buff, btw, bw)
/*
** ===================================================================
** Method : write (component FAT_FileSystem)
**
** Description :
** Write to a file
** Parameters :
** NAME - DESCRIPTION
** fp - Pointer to the file object structure
** buff - Pointer to the data to be written
** btw - Number of bytes to write
** bw - Pointer to the variable to return number of
** bytes written
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_opendir(dj, path) \
f_opendir(dj, path)
/*
** ===================================================================
** Method : opendir (component FAT_FileSystem)
**
** Description :
** Open a directory
** Parameters :
** NAME - DESCRIPTION
** dj - Pointer to the blank directory object to be
** created.
** path - Pointer to the null-terminated string
** that specifies the directory name to be
** opened.
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_readdir(dj, fno) \
f_readdir(dj, fno)
/*
** ===================================================================
** Method : readdir (component FAT_FileSystem)
**
** Description :
** Read a directory item
** Parameters :
** NAME - DESCRIPTION
** dir - Pointer to the open directory object
** fno - Pointer to the file information structure
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_lseek(fp, ofs) \
f_lseek(fp, ofs)
/*
** ===================================================================
** Method : lseek (component FAT_FileSystem)
**
** Description :
** The f_lseek function moves the file read/write pointer of an
** open file object. It can also be used to increase the file
** size (cluster pre-allocation).
** Parameters :
** NAME - DESCRIPTION
** fp - Pointer to the file object
** ofs - File pointer from top of file
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_unlink(path) \
f_unlink(path)
/*
** ===================================================================
** Method : unlink (component FAT_FileSystem)
**
** Description :
** Remove a file or directory
** Parameters :
** NAME - DESCRIPTION
** path - Pointer to the object name
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_mount(fs, path, opt) \
f_mount(fs, path, opt)
/*
** ===================================================================
** Method : mount (component FAT_FileSystem)
**
** Description :
** Mount/unmount a logical drive
** Parameters :
** NAME - DESCRIPTION
** fs - pointer to the new file system object (NULL
** for unmount)
** * path - Logical drive number to be
** mounted/unmounted
** opt - options: 0:Do not mount (delayed mount), 1:
** Mount immediately
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_getfree(path, nclst, fs) f_getfree(path, nclst, fs)
/*
** ===================================================================
** Method : getfree (component FAT_FileSystem)
**
** Description :
** Get Number of Free Clusters
** Parameters :
** NAME - DESCRIPTION
** path - Pointer to the logical drive number
** (root dir)
** * nclst - Pointer to the variable to return
** number of free clusters
** fatfs - Pointer to pointer to file system
** object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_sync(fp) \
f_sync(fp)
/*
** ===================================================================
** Method : sync (component FAT_FileSystem)
**
** Description :
** Flush cached data of a writing file
** Parameters :
** NAME - DESCRIPTION
** fp - Pointer to the file object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_rename(path_old, path_new) \
f_rename(path_old, path_new)
/*
** ===================================================================
** Method : rename (component FAT_FileSystem)
**
** Description :
** Delete a file or directory
** Parameters :
** NAME - DESCRIPTION
** path_old - Pointer to old object name
** path_new - Pointer to new object name
** Returns :
** --- - Error code
** ===================================================================
*/
bool McuFatFS_isWriteProtected(uint8_t *drvStr);
/*
** ===================================================================
** Method : isWriteProtected (component FAT_FileSystem)
**
** Description :
** Determines if the file system is write protected.
** Parameters :
** NAME - DESCRIPTION
** * drvStr - Pointer to drive string, e.g. "" or
** "0"
** Returns :
** --- - TRUE if file system is write protected
** ===================================================================
*/
#define McuFatFS_mkdir(path) \
f_mkdir(path)
/*
** ===================================================================
** Method : mkdir (component FAT_FileSystem)
**
** Description :
** Creates a directory
** Parameters :
** NAME - DESCRIPTION
** path - Name of directory to be created
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_chmod(FileName, Attribute, AttributeMask) \
f_chmod(FileName, Attribute, AttributeMask)
/*
** ===================================================================
** Method : chmod (component FAT_FileSystem)
**
** Description :
** Changes the attribute of a file or directory
** Following attribute flags to be set in one or more
** combination of the following flags. The specified flags are
** set and others are cleared.
** AM_RDO Read only
** AM_ARC Archive
** AM_SYS System
** AM_HID Hidden
** Parameters :
** NAME - DESCRIPTION
** FileName - Pointer to the file or directory
** Attribute - Attribute flags. Attribute
** flags to be set in one or more combination
** of the following flags. The specified flags
** are set and others are cleard.
** AttributeMask - Attribute mask.
** Attribute mask that specifies which
** attribute is changed. The specified
** aattributes are set or cleard.
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_truncate(FILP) \
f_truncate(FILP)
/*
** ===================================================================
** Method : truncate (component FAT_FileSystem)
**
** Description :
** Truncates the file size.
** The truncate() function truncates the file size to the
** current file read/write point. This function has no effect
** if the file read/write pointer is already pointing end of
** the file.
** Parameters :
** NAME - DESCRIPTION
** * FileObject - Pointer to the file object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_stat(FileName, FileInfo) \
f_stat(FileName, FileInfo)
/*
** ===================================================================
** Method : stat (component FAT_FileSystem)
**
** Description :
** The f_stat gets the information of a file or directory. For
** details of the infomation, refer to the FILINFO structure
** and f_readdir function. This function is not supported in
** minimization level of >= 1.
** Parameters :
** NAME - DESCRIPTION
** FileName - Pointer to the file or directory
** path
** * FileInfo - Pointer to the FILINFO structure
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_utime(FileName, TimeDate) \
f_utime(FileName, TimeDate)
/*
** ===================================================================
** Method : utime (component FAT_FileSystem)
**
** Description :
** The f_utime function changes the timestamp of a file or
** directory
** Parameters :
** NAME - DESCRIPTION
** * FileName - Pointer to the file or directory
** path
** * TimeDate - Pointer to time and data to be
** set
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_mkfs(drive, PartitioningRule, AllocSize) \
f_mkfs(drive, PartitioningRule, AllocSize)
/*
** ===================================================================
** Method : mkfs (component FAT_FileSystem)
**
** Description :
** The f_mkfs fucntion creates a file system on the drive.
** Parameters :
** NAME - DESCRIPTION
** drive - Logical drive number
** PartitioningRule - When 0 is given,
** a partition table is created into the
** master boot record and a primary DOS
** partition is created and then an FAT volume
** is created on the partition. This is called
** FDISK format and used for harddisk and
** memory cards. When 1 is given, the FAT
** volume starts from the first sector on the
** drive without partition table. This is
** called SFD format and used for floppy disk
** and most optical disk
** AllocSize - Size of the allocation unit.
** Force the allocation unit (cluster) size in
** unit of byte. The value must be power of 2
** and between the sector size and 128 times
** sector size. When invalid value is
** specified, the cluster size is determined
** depends on the volume size.
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_chdir(Path) \
f_chdir(Path)
/*
** ===================================================================
** Method : chdir (component FAT_FileSystem)
**
** Description :
** The f_chdir function changes the current directory of the
** logical drive. The current directory of a drive is
** initialized to the root directory when the drive is
** auto-mounted. Note that the current directory is retained in
** the each file system object so that it also affects other
** tasks that using the drive.
** Parameters :
** NAME - DESCRIPTION
** Path - Pointer to the path name
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_chdrive(Drive) \
f_chdrive(Drive)
/*
** ===================================================================
** Method : chdrive (component FAT_FileSystem)
**
** Description :
** The f_chdrive function changes the current drive. The
** initial value of the current drive number is 0. Note that
** the current drive is retained in a static variable so that
** it also affects other tasks that using the file functions.
** Parameters :
** NAME - DESCRIPTION
** Drive - Logical drive number
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_getcwd(Buffer, BufferLen) \
f_getcwd(Buffer, BufferLen)
/*
** ===================================================================
** Method : getcwd (component FAT_FileSystem)
**
** Description :
** The f_getcwd function retrieves the current directory of the
** current drive in full path string including drive number.
** Parameters :
** NAME - DESCRIPTION
** Buffer - Pointer to the buffer to receive the
** current directory string.
** BufferLen - Size of the buffer in unit of
** TCHAR.
** Returns :
** --- - Error code
** ===================================================================
*/
char* McuFatFS_errFResultMsg(int errNo);
/*
** ===================================================================
** Method : errFResultMsg (component FAT_FileSystem)
**
** Description :
** Returns for a given FatFs FRESULT error code a string
** Parameters :
** NAME - DESCRIPTION
** errNo - FatFs error code
** Returns :
** --- - Error code
** ===================================================================
*/
char* McuFatFS_errDResultMsg(int errNo);
/*
** ===================================================================
** Method : errDResultMsg (component FAT_FileSystem)
**
** Description :
** Returns for a given FatFs DRESULT error code a string
** Parameters :
** NAME - DESCRIPTION
** errNo - FatFs error code
** Returns :
** --- - Error code
** ===================================================================
*/
bool McuFatFS_isDiskPresent(uint8_t *drvStr);
/*
** ===================================================================
** Method : isDiskPresent (component FAT_FileSystem)
**
** Description :
** Determines if the disk is present or not (e.g. disk inserted).
** Parameters :
** NAME - DESCRIPTION
** * drvStr - drive string, "" or "0" or "1"
** Returns :
** --- - TRUE if file system is write protected
** ===================================================================
*/
#define McuFatFS_f_gets(buff, len, fil) \
f_gets(buff,len,fil)
/*
** ===================================================================
** Method : f_gets (component FAT_FileSystem)
**
** Description :
** Get a string from the file
** Parameters :
** NAME - DESCRIPTION
** * buff - Pointer to the string buffer to read
** len - Size of string buffer (characters)
** fil - Pointer to the file object
** Returns :
** --- - zero (NULL) if failed, otherwise a string
** to the buffer is returned.
** ===================================================================
*/
#define McuFatFS_f_puts(str, fil) \
f_puts(str, fil)
/*
** ===================================================================
** Method : f_puts (component FAT_FileSystem)
**
** Description :
** Put a string to the file
** Parameters :
** NAME - DESCRIPTION
** * buff - A character to be output
** fil - Pointer to the file object
** Returns :
** --- - number of characters written.
** ===================================================================
*/
#define McuFatFS_f_putc(c, fil) \
f_putc(c, fil)
/*
** ===================================================================
** Method : f_putc (component FAT_FileSystem)
**
** Description :
** Put a character to the file
** Parameters :
** NAME - DESCRIPTION
** * buff - A character to be output
** fil - Pointer to the file object
** Returns :
** --- - 1 if ok, EOF otherwise
** ===================================================================
*/
#define McuFatFS_f_printf \
f_printf
/*
** ===================================================================
** Method : f_printf (component FAT_FileSystem)
**
** Description :
** Put a formatted string to the file
** Parameters :
** NAME - DESCRIPTION
** Variable_1 - Pointer to the file object
** str - Pointer to the format string
** Variable_2 - Optional arguments...
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_eof(fp) \
f_eof(fp)
/*
** ===================================================================
** Method : f_eof (component FAT_FileSystem)
**
** Description :
** Wrapper to to the f_eof() macro. Returns 1 if at the end of
** the file, 0 otherwise.
** Parameters :
** NAME - DESCRIPTION
** * fp - Pointer to file object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_error(fp) \
f_error(fp)
/*
** ===================================================================
** Method : f_error (component FAT_FileSystem)
**
** Description :
** Wrapper to to the f_eof() macro. Returns 1 if at the end of
** the file, 0 otherwise.
** Parameters :
** NAME - DESCRIPTION
** * fp - Pointer to file object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_tell(fp) \
f_tell(fp)
/*
** ===================================================================
** Method : f_tell (component FAT_FileSystem)
**
** Description :
** Wrapper to to the f_tell() macro. Returns the file
** read/write pointer (0 on file open).
** Parameters :
** NAME - DESCRIPTION
** * fp - Pointer to file object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_size(fp) \
f_size(fp)
/*
** ===================================================================
** Method : f_size (component FAT_FileSystem)
**
** Description :
** Wrapper to to the f_size() macro. Returns the file size.
** Parameters :
** NAME - DESCRIPTION
** * fp - Pointer to file object
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_Init(void);
/*
** ===================================================================
** Method : Init (component FAT_FileSystem)
**
** Description :
** Initializes the device driver.
** Parameters : None
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_Deinit(void);
/*
** ===================================================================
** Method : Deinit (component FAT_FileSystem)
**
** Description :
** Deinitializes the driver.
** Parameters : None
** Returns :
** --- - Error code
** ===================================================================
*/
uint32_t McuFatFS_get_fattime(void);
/*
** ===================================================================
** Method : get_fattime (component FAT_FileSystem)
**
** Description :
** Returns the current time
** Parameters : None
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_ParseCommand(const unsigned char *cmd, bool *handled, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : ParseCommand (component FAT_FileSystem)
**
** Description :
** Shell Command Line parser. This method is enabled/disabled
** depending on if you have the Shell enabled/disabled in the
** properties.
** Parameters :
** NAME - DESCRIPTION
** * cmd - Pointer to command string
** * handled - Pointer to variable which tells if
** the command has been handled or not
** * io - Pointer to I/O structure
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_CheckCardPresence(bool *cardMounted, uint8_t *drive, FATFS *fileSystemObject, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : CheckCardPresence (component FAT_FileSystem)
**
** Description :
** This method checks if card has been inserted or removed and
** mounts or unmounts the file system.
** Parameters :
** NAME - DESCRIPTION
** * cardMounted - Pointer to initialize this
** variable to FALSE on the caller side the
** first time.
** * drive - drive string, or ""
** * fileSystemObject - Pointer to file
** system object
** io - Pointer to io handler to be used. Can be
** NULL, then no messages are written.
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_MountFileSystem(FATFS *fileSystemObject, uint8_t *logicalDrive, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : MountFileSystem (component FAT_FileSystem)
**
** Description :
** Mounts a file system
** Parameters :
** NAME - DESCRIPTION
** * fileSystemObject - Pointer to a
** file system object
** * logicalDrive - Pointer to the drive
** string, or ""
** * io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_UnMountFileSystem(uint8_t *logicalDrive, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : UnMountFileSystem (component FAT_FileSystem)
**
** Description :
** Mounts a file system
** Parameters :
** NAME - DESCRIPTION
** * logicalDrive - Pointer to the drive
** string, or ""
** * io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_PrintDirectory(const uint8_t *dirName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : PrintDirectory (component FAT_FileSystem)
**
** Description :
** Prints a directory
** Parameters :
** NAME - DESCRIPTION
** dirName - Directory folder to be printed
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_CopyFile(const uint8_t*srcFileName, const uint8_t *dstFileName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : CopyFile (component FAT_FileSystem)
**
** Description :
** Copy a file
** Parameters :
** NAME - DESCRIPTION
** srcFileName - Source file name
** dstFileName - Destination file name
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_DeleteFile(const uint8_t *fileName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : DeleteFile (component FAT_FileSystem)
**
** Description :
** Deletes a file
** Parameters :
** NAME - DESCRIPTION
** fileName - Filename of file to be deleted
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_PrintFile(const uint8_t *fileName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : PrintFile (component FAT_FileSystem)
**
** Description :
** Prints the content of a file
** Parameters :
** NAME - DESCRIPTION
** fileName - Name of file to be printed
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_MakeDirectory(const uint8_t *dirName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : MakeDirectory (component FAT_FileSystem)
**
** Description :
** Creates a directory
** Parameters :
** NAME - DESCRIPTION
** dirName - Directory name
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_ChangeDirectory(const uint8_t *dirName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : ChangeDirectory (component FAT_FileSystem)
**
** Description :
** Changes to a directory
** Parameters :
** NAME - DESCRIPTION
** dirName - Directory name
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_RenameFile(const uint8_t *srcFileName, const uint8_t *dstFileName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : RenameFile (component FAT_FileSystem)
**
** Description :
** Renames a file
** Parameters :
** NAME - DESCRIPTION
** srcFileName - Source file name
** dstFileName - Destination file name
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_PrintSector(uint8_t drive, uint32_t sectorNo, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : PrintSector (component FAT_FileSystem)
**
** Description :
** Prints information about the current disk
** Parameters :
** NAME - DESCRIPTION
** drive - drive number, starting with zero
** sectorNo - sector number
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_PrintDiskInfo(uint8_t *drive, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : PrintDiskInfo (component FAT_FileSystem)
**
** Description :
** Prints information about the current disk
** Parameters :
** NAME - DESCRIPTION
** * drive - Drive string, can be NULL or e.g.
** pointing to "0"
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_Benchmark(const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : Benchmark (component FAT_FileSystem)
**
** Description :
** Performs a disk benchmark
** Parameters :
** NAME - DESCRIPTION
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_PrintHexFile(const uint8_t *fileName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : PrintHexFile (component FAT_FileSystem)
**
** Description :
** Prints the content of a file in hexadecimal format, useful
** for binary files.
** Parameters :
** NAME - DESCRIPTION
** fileName - Name of file to be printed
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_CreateFile(const uint8_t *fileName, const McuShell_StdIOType *io);
/*
** ===================================================================
** Method : CreateFile (component FAT_FileSystem)
**
** Description :
** Creates an empty file
** Parameters :
** NAME - DESCRIPTION
** fileName - Filename of file to be created
** io - Pointer to I/O handler
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_getlabel(path, label, vsn) \
f_getlabel(path, label, vsn)
/*
** ===================================================================
** Method : f_getlabel (component FAT_FileSystem)
**
** Description :
** Get volume label
** Parameters :
** NAME - DESCRIPTION
** * path - Pointer to path name of the logical
** drive number
** * label - Pointer to a buffer to return the
** volume label
** vsn -
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_setlabel(label) \
f_setlabel(label);
/*
** ===================================================================
** Method : f_setlabel (component FAT_FileSystem)
**
** Description :
** Set Volume Label
** Parameters :
** NAME - DESCRIPTION
** * label - Pointer to the volume label to set
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_expand(fp, fsz, opt) \
f_expand(fp, fsz, opt);
/*
** ===================================================================
** Method : f_expand (component FAT_FileSystem)
**
** Description :
** Allocate a Contiguous Blocks to the File
** Parameters :
** NAME - DESCRIPTION
** * fp - Pointer to the file object
** fsz - File size to be expanded to
** opt - Operation mode 0:Find and prepare or 1:
** Find and allocate
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_findfirst(dp, fno, path, pattern) \
f_findfirst(dp, fno, path, pattern)
/*
** ===================================================================
** Method : f_findfirst (component FAT_FileSystem)
**
** Description :
** Find FirstFile
** Parameters :
** NAME - DESCRIPTION
** dp - Pointer to the open directory object
** fno - Pointer to the file information structure
** path - Pointer to the directory to open
** pattern - Pointer to the matching pattern
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_findnext(dp, fno) \
f_findnext(dp, fno)
/*
** ===================================================================
** Method : f_findnext (component FAT_FileSystem)
**
** Description :
** Find Next File
** Parameters :
** NAME - DESCRIPTION
** dp - Pointer to the open directory object
** fno - Pointer to the file information structure
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_opendir(dp, path) \
f_opendir(dp, path)
/*
** ===================================================================
** Method : f_opendir (component FAT_FileSystem)
**
** Description :
** Open a directory
** Parameters :
** NAME - DESCRIPTION
** dp - Pointer to the open directory object
** path - path of directory
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_closedir(dp) \
f_closedir(dp)
/*
** ===================================================================
** Method : f_closedir (component FAT_FileSystem)
**
** Description :
** Close a directory
** Parameters :
** NAME - DESCRIPTION
** dp - Pointer to the open directory object
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuFatFS_f_readdir(dj, fno) \
f_readdir(dj, fno)
/*
** ===================================================================
** Method : f_readdir (component FAT_FileSystem)
**
** Description :
** Read a directory item
** Parameters :
** NAME - DESCRIPTION
** dir - Pointer to the open directory object
** fno - Pointer to the file information structure
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuFatFS_StrToDriveNumber(uint8_t *drvStr);
/*
** ===================================================================
** Method : StrToDriveNumber (component FAT_FileSystem)
**
** Description :
** Transforms a drive string ("0:/") into a drive number (0)
** Parameters :
** NAME - DESCRIPTION
** * drvStr - Pointer to drive string, e.g. "0:/"
** Returns :
** --- - Error code
** ===================================================================
*/
/* END McuFatFS. */
#endif
/* ifndef __McuFatFS_H */
/*!
** @}
*/