Accessories
Arduino for motors and lights library.
CircularBuffer.hpp
1 //-------------------------------------------------------------------
2 #ifndef __Accessories_CircularBuffer_H__
3 #define __Accessories_CircularBuffer_H__
4 //-------------------------------------------------------------------
5 
6 #ifndef NO_EEPROM
8 {
9 public:
10  int StartListPos;
11  byte ItemSize;
12  byte ReplicaNumber;
13 
14  AccessoriesCircularBuffer() { this->ItemSize = 0; this->ReplicaNumber = 0; this->StartListPos = 0; }
15 
16  int begin(int inStartListPos, byte inItemSize, byte inReplicaNumber)
17  {
18  this->StartListPos = inStartListPos;
19  this->ItemSize = inItemSize;
20  this->ReplicaNumber = inReplicaNumber;
21 
22  return (this->ItemSize + 1) * this->ReplicaNumber;
23  }
24 
25  int getStartRead();
26  int startWrite();
27 
28  void clear() const;
29 
30 #ifdef ACCESSORIES_DEBUG_MODE
31  void printStatus();
32 #endif
33 
34 private:
35  byte FindEnd();
36 };
37 
38 //-------------------------------------------------------------------
39 #endif
40 #endif
41 //-------------------------------------------------------------------