BayEOS-Arduino  1.8.0_0.0.4
BayEOSBufferSDFat.cpp
1 #include "BayEOSBufferSDFat.h"
2 BayEOSBufferSDFat::BayEOSBufferSDFat(unsigned long max_length,uint8_t append,const char *p):BayEOSBuffer(){
3  strncpy(_path,p,13);
4  _path[13]=0;
5  _f.open(_path, O_CREAT | O_RDWR | O_APPEND);
6  _max_length=max_length;
7  if(append) set(_f.fileSize());
8  else reset();
9 }
10 
11 
12 
13 void BayEOSBufferSDFat::resetStorage(void){
14  _f.remove();
15  _f.open(_path, O_CREAT | O_RDWR | O_TRUNC);
16 // Serial.println("SD reset");
17 }
18 
19 uint8_t BayEOSBufferSDFat::write(const uint8_t b){
20  return _f.write(b);
21 }
22 
23 uint8_t BayEOSBufferSDFat::write(const uint8_t *b,uint8_t length){
24 // Serial.print("SD.write:");
25 // Serial.println(_f.size());
26  return _f.write(b,length);
27 }
28 
29 uint8_t BayEOSBufferSDFat::seek(unsigned long pos){
30  return _f.seekSet(pos);
31 }
32 
33 int BayEOSBufferSDFat::read(void){
34  return _f.read();
35 }
36 
37 int BayEOSBufferSDFat::read(uint8_t *dest,int length){
38  return _f.read(dest,length);
39 }
40 
41 void BayEOSBufferSDFat::flush(void){
42  _f.sync();
43  // Serial.println(_f.size());
44 }
45 
46 SdFat SD=SdFat();// create usable instance
void reset(void)