File tree Expand file tree Collapse file tree 2 files changed +51
-1
lines changed
examples/tests/concurrency Expand file tree Collapse file tree 2 files changed +51
-1
lines changed Original file line number Diff line number Diff line change 11
11
#include " AudioTools.h"
12
12
#include " AudioLibs/Concurrency.h"
13
13
14
- BufferRTOS<int16_t > buffer (512 , 10 );
14
+ BufferRTOS<int16_t > buffer (512 * 10 );
15
15
16
16
Task writeTask (" write" , 3000 , 10 , 0 );
17
17
Original file line number Diff line number Diff line change
1
+
2
+ #include " AudioTools.h"
3
+ #include " AudioLibs/AudioBoardStream.h"
4
+ #include " AudioLibs/Concurrency.h"
5
+
6
+ AudioInfo info (44100 , 2 , 16 );
7
+ // source and sink
8
+ SineWaveGenerator<int16_t > sineWave (32000 );
9
+ GeneratedSoundStream<int16_t > sound (sineWave);
10
+ AudioBoardStream out (AudioKitEs8388V1);
11
+ // queue
12
+ // SynchronizedNBuffer<uint8_t> buffer(1024, 10);
13
+ BufferRTOS<uint8_t > buffer (1024 * 10 );
14
+ QueueStream<uint8_t > queue (buffer);
15
+ // copy
16
+ StreamCopy copierSource (queue, sound);
17
+ StreamCopy copierSink (out, queue);
18
+ // tasks
19
+ Task writeTask (" write" , 3000 , 10 , 0 );
20
+ Task readTask (" read" , 3000 , 10 , 1 );
21
+
22
+ void setup () {
23
+ Serial.begin (115200 );
24
+ AudioLogger::instance ().begin (Serial, AudioLogger::Warning);
25
+ // start Queue
26
+ queue.begin ();
27
+
28
+ // start I2S
29
+ Serial.println (" starting I2S..." );
30
+ auto config = out.defaultConfig (TX_MODE);
31
+ config.copyFrom (info);
32
+ out.begin (config);
33
+
34
+ // Setup sine wave
35
+ sineWave.begin (info, N_B4);
36
+ Serial.println (" started..." );
37
+
38
+ writeTask.begin ([]() {
39
+ copierSource.copy ();
40
+ });
41
+
42
+ readTask.begin ([]() {
43
+ copierSink.copy ();
44
+ });
45
+
46
+ Serial.println (" started..." );
47
+
48
+ }
49
+
50
+ void loop () { delay (1000 ); }
You can’t perform that action at this time.
0 commit comments