Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnSDUtils.cpp
- Revision:
- 122:c1b5023eac69
- Parent:
- 103:0ea896a0953a
--- a/SnSDUtils.cpp Thu Nov 30 06:26:18 2017 +0000 +++ b/SnSDUtils.cpp Fri Dec 01 16:29:10 2017 +0000 @@ -522,6 +522,39 @@ return fgCurFile; } +bool SnSDUtils::CopyFileToSD(const char* const infn, + const char* const outfn, + char* const buf, + const uint32_t bsize) { + // bsize must be >1 +#ifdef DEBUG + printf("copying [%s] to [%s]\r\n", infn, outfn); +#endif + Watchdog::kick(); // don't reset + if (InitSDCard()) { + FILE* inf = fopen(infn, "rb"); + FILE* outf = OpenSDFile(outfn, "wb", false); + if ( (inf>0) & (outf>0) ) { + size_t nread(0); + while ( nread=fread(buf, sizeof(char), bsize-1, inf), nread>0) { + const char* b = buf; + size_t nwritten(0); + do { + nwritten = fwrite(b, sizeof(char), nread, outf); + nread -= nwritten; + b += nwritten; + } while (nread>0); + } + fclose(inf); + fclose(outf); + if (nread==0) { + return true; + } + } + } + return false; +} + void SnSDUtils::PrintFilesInDirs(const char* dirname) { Watchdog::kick(); // don't reset if (InitSDCard()) {