Paparazzi UAS
v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
|
#include "std.h"
#include "mcuconf.h"
#include <stdarg.h>
Go to the source code of this file.
Macros | |
#define | NUMBERLEN 4 |
#define | NUMBERMAX 9999 |
#define | NUMBERFMF "%s\\%s%.04d.LOG" |
Typedefs | |
typedef struct _SdLogBuffer | SdLogBuffer |
typedef int8_t | FileDes |
Enumerations | |
enum | SdioError { SDLOG_OK, SDLOG_NOCARD, SDLOG_FATFS_ERROR, SDLOG_FATFS_NOENT, SDLOG_FSFULL, SDLOG_FDFULL, SDLOG_QUEUEFULL, SDLOG_NOTHREAD, SDLOG_INTERNAL_ERROR, SDLOG_LOGNUM_ERROR, SDLOG_WAS_LAUNCHED } |
Functions | |
SdioError | sdLogInit (uint32_t *freeSpaceInKo) |
initialise sdLog More... | |
SdioError | getFileName (const char *prefix, const char *directoryName, char *nextFileName, const size_t nameLength, const int indexOffset) |
get last used name for a pattern, then add offset and return valid filename More... | |
SdioError | removeEmptyLogs (const char *directoryName, const char *prefix, const size_t sizeConsideredEmpty) |
remove spurious log file left on sd More... | |
SdioError | sdLogFinish (void) |
unmount filesystem More... | |
#define NUMBERFMF "%s\\%s%.04d.LOG" |
Definition at line 37 of file sdLog.h.
Referenced by getFileName().
#define NUMBERMAX 9999 |
Definition at line 36 of file sdLog.h.
Referenced by getFileName().
typedef struct _SdLogBuffer SdLogBuffer |
enum SdioError |
SdioError getFileName | ( | const char * | prefix, |
const char * | directoryName, | ||
char * | nextFileName, | ||
const size_t | nameLength, | ||
const int | indexOffset | ||
) |
get last used name for a pattern, then add offset and return valid filename
for log file, you often have a pattern and a version. To retreive last file for reading, call function with indexOffset=0. To get next available file for writing, call function with indexOffset=1 This function is available even without thread login facility : even if SDLOG_XXX macro are zeroed
[in] | prefix | : the pattern for the file : example LOG_ |
[in] | directoryName | : root directory where to find file |
[out] | nextFileName | : file with path ready to be used for f_open system call |
[in] | nameLength | : length of previous buffer |
[in] | indexOffset | : use 0 to retrieve last existent filename, 1 for next filename |
Definition at line 640 of file sdLog.c.
References _MAX_LFN, chsnprintf(), MAX, MIN, NUMBERFMF, NUMBERMAX, SDLOG_FATFS_ERROR, SDLOG_LOGNUM_ERROR, SDLOG_OK, and uiGetIndexOfLogFile().
SdioError removeEmptyLogs | ( | const char * | directoryName, |
const char * | prefix, | ||
const size_t | sizeConsideredEmpty | ||
) |
remove spurious log file left on sd
when tuning firmware, log files are created at each tries, and we consider that empty or nearly empty log are of no value this function remove log file whose size is less than a given value
[in] | prefix | : the pattern for the file : example LOG_ |
[in] | directoryName | : root directory where to find file |
[in] | sizeConsideredEmpty | : file whose size is less or equal to that value will be removed |
Definition at line 708 of file sdLog.c.
References _MAX_LFN, SDLOG_FATFS_ERROR, SDLOG_FATFS_NOENT, and SDLOG_OK.
Referenced by thd_startlog().
SdioError sdLogFinish | ( | void | ) |
unmount filesystem
unmount filesystem, free sdio peripheral This function is available even without thread login facility : even if SDLOG_XXX macro are zeroed
Definition at line 224 of file sdLog.c.
References SDLOG_FATFS_ERROR, and SDLOG_OK.
Referenced by sdlog_chibios_finish().
initialise sdLog
init sdio peripheral, verify sdCard is inserted, check and mount filesystem, launch worker thread This function is available even without thread login facility : even if SDLOG_XXX macro are zeroed
[out] | freeSpaceInKo | : if pointer in nonnull, return free space on filesystem |
Definition at line 166 of file sdLog.c.
References HEAP_DEFAULT, msgqueue_init(), sdio_connect(), sdio_disconnect(), SDLOG_FATFS_ERROR, SDLOG_NOCARD, SDLOG_NUM_BUFFER, SDLOG_OK, SDLOG_QUEUE_BUCKETS, and SDLOG_WAS_LAUNCHED.
Referenced by thd_startlog().