BayEOS-Arduino  1.8.0_0.0.4
BayEOSBufferRAM.h
1 /*
2  * Implemetation of BayEOSBuffer using RAM
3  */
4 #ifndef BayEOSBufferRAM_h
5 #define BayEOSBufferRAM_h
6 #include <inttypes.h>
7 #include <BayEOS.h>
8 #include <BayEOSBuffer.h>
9 
10 
11 
12 
13 class BayEOSBufferRAM : public BayEOSBuffer {
14 public:
18  BayEOSBufferRAM(void);
19 
24  BayEOSBufferRAM(uint16_t max_length,uint16_t min_free=100);
25 
29  BayEOSBufferRAM(uint8_t* buffer,unsigned long max_length);
30 
31 
32 private:
33  void resetStorage(void);
34  uint8_t write(const uint8_t b);
35  uint8_t write(const uint8_t *b,uint8_t length);
36  uint8_t seek(unsigned long pos);
37  int read(void);
38  int read(uint8_t *dest,int length);
39  void flush(void);
40 
41  uint8_t* _buffer;
42  uint8_t* _ram_pos;
43 };
44 
45 #endif