Chrispy
High-performance multichannel ADC sampling and audio recording.
Loading...
Searching...
No Matches
SdFunctions.cpp
Go to the documentation of this file.
1
2#include "SdFunctions.h"
3
4#include <limits.h>
5
6int32_t close_all(SdFile files[], size_t nfiles) {
7 for (size_t i = 0; i < nfiles; ++i) {
8 if (files[i].isOpen() && !files[i].close()) {
9 return i + 1;
10 }
11 }
12 return 0;
13}
14
15int64_t truncate_to_smallest(SdFile files[], size_t nfiles) {
16 if (nfiles == 0 || files == nullptr) {
17 return -1;
18 }
19 // Make sure each recording is exactly the same length
20 uint64_t min_size = UINT32_MAX;
21 for (size_t i = 0; i < nfiles; ++i) {
22 if (!files[i].isOpen()) {
23 return -2;
24 }
25 min_size = min(files[i].fileSize(), min_size);
26 }
27 for (size_t i = 0; i < nfiles; ++i) {
28 if (!files[i].truncate(min_size)) {
29 return -3;
30 }
31 }
32 return static_cast<int64_t>(min_size);
33}
int64_t truncate_to_smallest(SdFile files[], size_t nfiles)
Definition SdFunctions.cpp:15
int32_t close_all(SdFile files[], size_t nfiles)
Definition SdFunctions.cpp:6
#define min(a, b)
Definition Timer.cpp:15