Hallo zusammen,
ich mache gerade meine ersten Erfahrungen mit der Library von Roland
Riegel.
Ich möchte die einen Datenlogger bauen, dafür würde ich gerne an eine
bestehende Datei einen pro Aufruf einen Datensatz anhängen. Im Prinzip
suche sich das Pandon zum ">>" Streaming Oparator in der bash.
Momentan kann sieht mein (noch recht primitiver) Code so aus:
1 | sd_raw_init();
|
2 | struct partition_struct* partition = partition_open(sd_raw_read, sd_raw_read_interval, sd_raw_write, sd_raw_write_interval, 0);
|
3 | struct fat_fs_struct* fs = fat_open(partition);
|
4 |
|
5 | struct fat_dir_entry_struct directory;
|
6 | fat_get_dir_entry_of_path(fs, "/", &directory);
|
7 | struct fat_dir_struct* dd = fat_open_dir(fs, &directory);
|
8 |
|
9 | const char filename[10] = {'D', 'A', 'T', 'A', '.', 'T', 'X', 'T'};
|
10 | /*
|
11 | fat_create_file(dd, filename, &directory);
|
12 | struct fat_file_struct* filehandle;
|
13 | filehandle = fat_open_file(fs, &directory);
|
14 | char sdbuffer[6] = "huhu";
|
15 | fat_write_file(filehandle, sdbuffer, 4);
|
16 | */
|
17 |
|
18 | struct fat_file_struct* filehandle = open_file_in_dir(fs, dd, filename);
|
19 | char sdbuffer[6] = "bubu";
|
20 | fat_write_file(filehandle, sdbuffer, 4);
|
21 | sd_raw_sync();
|
Die Karte und der Code funktioniert im prinzip, ich kann entweder eine
neue Datei "DATA.TXT" anlegen und "huhu" reinschreiben, oder in eine
exisitierende Date "bubu" schreiben. Leider entspricht das Verhalten dem
">" Operator (der Inhalt der Datei wird gelöscht und dann neu
beschrieben).
Gibts da n Trick? Ich bin sicher nicht der erste, der "appenden"
möchte...
Gruß und Danke
Schorsch