User manual

Table Of Contents
300
mikoC PRO for PIC32
MikroElektronika
Cf_Fat_Get_File_Size
Prototype
unsigned long Cf_Fat_Get_File_Size();
Description This function reads size of currently assigned le in bytes.
Parameters None.
Returns Size of the currently assigned le in bytes.
Requires CF card and CF library must be initialized for le operations. See Cf_Fat_Init.
File must be previously assigned. See Cf_Fat_Assign.
Example
unsigned long my_le_size;
...
my_le_size = Cf_Fat_Get_File_Size();
Notes None.
Cf_Fat_Get_Swap_File
Prototype
unsigned long Cf_Fat_Get_Swap_File(unsigned long sectors_cnt, char *lename,
char le_attr);
Description This function is used to create a swap le of predened name and size on the CF media. If a le
with specied name already exists on the media, search for consecutive sectors will ignore sectors
occupied by this le. Therefore, it is recommended to erase such le if it exists before calling this
function. If it is not erased and there is still enough space for a new swap le, this function will delete
it after allocating new memory space for a new swap le.
The purpose of the swap le is to make reading and writing to CF media as fast as possible, by using
the Cf_Read_Sector() and Cf_Write_Sector() functions directly, without potentially damaging the FAT
system. Swap le can be considered as a “window” on the media where the user can freely write/read
data. It’s main purpose in the this library is to be used for fast data acquisition; when the time-critical
acquisition has nished, the data can be re-written into a “normal” le, and formatted in the most
suitable way.
Parameters - sectors_cnt: number of consecutive sectors that user wants the swap le to have.
- lename: name of the le that should be assigned for le operations. The le name should be in
DOS 8.3 (le_name.extension) format. The le name and extension will be automatically padded with
spaces by the library if they have less than length required (i.e. “mikro.tx” -> “mikro .tx “), so the user
does not have to take care of that. The le name and extension are case insensitive. The library will
convert them to proper case automatically, so the user does not have to take care of that.
Also, in order to keep backward compatibility with the rst version of this library, le names can be
entered as UPPERCASE string of 11 bytes in length with no dot character between the le name and
extension (i.e. “MIKROELETXT” -> MIKROELE.TXT). In this case the last 3 characters of the string
are considered to be le extension.
- le_attr: le creation and attributes ags. Each bit corresponds to the appropriate le attribute: