Accessories
Arduino for motors and lights library.
AccessoriesCircularBuffer.hpp
1 //-------------------------------------------------------------------
2 #ifndef __Accessories_CircularBuffer_H__
3 #define __Accessories_CircularBuffer_H__
4 //-------------------------------------------------------------------
5 
6 #ifndef NO_EEPROM
7 
30 {
31 private:
32  int StartListPos;
33  byte ItemSize;
34  byte ReplicaNumber;
35 
36 public:
38  AccessoriesCircularBuffer() { this->ItemSize = 0; this->ReplicaNumber = 0; this->StartListPos = 0; }
39 
46  int begin(int inStartListPos, byte inItemSize, byte inReplicaNumber)
47  {
48  this->StartListPos = inStartListPos;
49  this->ItemSize = inItemSize;
50  this->ReplicaNumber = inReplicaNumber;
51 
52  return (this->ItemSize + 1) * this->ReplicaNumber;
53  }
54 
58  int getStartRead();
62  int startWrite();
63 
65  void clear() const;
66 
67 #ifdef ACCESSORIES_DEBUG_MODE
68 
69  void printStatus();
70 #endif
71 
72 private:
73  byte FindEnd();
74 };
75 
76 //-------------------------------------------------------------------
77 #endif
78 #endif
79 //-------------------------------------------------------------------
int begin(int inStartListPos, byte inItemSize, byte inReplicaNumber)