-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFIFOqueue.ino
More file actions
88 lines (64 loc) · 1.79 KB
/
Copy pathFIFOqueue.ino
File metadata and controls
88 lines (64 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*file: FIFOqueue.ino
*---------------------------------------------------------------------
*
* test FIFOqueue class
*
* Author: Dave Harris. Andover, UK. © Dave Harris, Jan 2021
*/
#include "FIFOqueue.h"
// create global que object
FIFOqueue que( 8 ); /* new que of length 8 (actual size = length -1) */
void printStatus()
{
Serial.print("\t errorCount=");
Serial.print( que.errorCount );
Serial.print(", available=");
Serial.print( que.available() );
Serial.print(", emptySlots=");
Serial.println( que.emptySlots() );
}
void setup()
{
Serial.begin(115200);
Serial.print("\n-----test FIFOqueue que(8), length=");
Serial.println( que.length() );
printStatus();
for( uint8_t i = 100; i < que.length() + 100; i++ )
{
que.put( i );
Serial.print("put>"); Serial.println( i ); // put 100 to 106
printStatus();
}
// queue is now full...
Serial.println("put>123 fails as 0 emptySlots");
que.put( 123 );
printStatus();
Serial.print("get="); Serial.println( que.get() );
printStatus();
Serial.print("get="); Serial.println( que.get() );
printStatus();
Serial.print("get="); Serial.println( que.get() );
printStatus();
Serial.print("get="); Serial.println( que.get() );
printStatus();
Serial.println("put>200");
que.put( 200 );
printStatus();
Serial.print("get="); Serial.println( que.get() );
printStatus();
Serial.println("put>201");
que.put( 201 );
printStatus();
while( que.available() > 0 ) // get the rest of entries
{
Serial.print("get="); Serial.println( que.get() );
printStatus();
}
Serial.print("get fails as 0 available =");
Serial.println( que.get() );
printStatus();
}
void loop()
{
}
/* -------------------------------EoF------------------------------ */