firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
log_file.h
Go to the documentation of this file.
1
8
9#include "_feram_private.h"
10
11#include "lfs.h"
12
13#ifndef LOG_FILE_H
14 #define LOG_FILE_H
15
16// Log file attributes
19 size_t entry_size;
20 unsigned max_entry_cnt;
21 unsigned entries_written_cnt; // index to next available index to write to
22};
23
24
25// struct to store information about the file
26typedef struct {
27 struct {
28 lfs_file_t file;
29 struct lfs_file_config config;
30 } lfs;
31
34 bool is_open;
35} Logfile_t;
36
37int logfile_create(Logfile_t *file, const char *path, unsigned schema_version, size_t entry_size, unsigned max_entries);
38
39int logfile_open(Logfile_t *file, const char *path, int schema_version, int entry_size, int max_entries);
40
41int logfile_close(Logfile_t *file);
42
43int logfile_read_entry(Logfile_t *file, unsigned index, void *buffer);
44
45int logfile_read_oldest(Logfile_t *file, void *buffer);
46
47int logfile_read_newest(Logfile_t *file, void *buffer);
48
49int logfile_write_next_entry(Logfile_t *file, const void *buffer);
50
52
53#endif /* LOG_FILE_H */
#define FERAM_CACHE_SIZE
Definition _feram_private.h:20
int logfile_create(Logfile_t *file, const char *path, unsigned schema_version, size_t entry_size, unsigned max_entries)
Definition log_file.c:18
int logfile_read_entry(Logfile_t *file, unsigned index, void *buffer)
Definition log_file.c:84
int logfile_read_attributes(Logfile_t *file)
int logfile_read_oldest(Logfile_t *file, void *buffer)
Definition log_file.c:105
int logfile_write_next_entry(Logfile_t *file, const void *buffer)
Definition log_file.c:131
int logfile_read_newest(Logfile_t *file, void *buffer)
Definition log_file.c:121
int logfile_open(Logfile_t *file, const char *path, int schema_version, int entry_size, int max_entries)
Definition log_file.c:41
int logfile_close(Logfile_t *file)
Definition log_file.c:70
Definition log_file.h:26
bool is_open
Definition log_file.h:34
uint8_t buffer[FERAM_CACHE_SIZE]
Definition log_file.h:32
struct lfs_file_config config
Definition log_file.h:29
lfs_file_t file
Definition log_file.h:28
struct logfile_metadata metadata
Definition log_file.h:33
Definition log_file.h:17
unsigned entries_written_cnt
Definition log_file.h:21
unsigned schema_version
Definition log_file.h:18
unsigned max_entry_cnt
Definition log_file.h:20
size_t entry_size
Definition log_file.h:19