Skip to content

Commit 54085dc

Browse files
committed
Hiding clunky implementation details within neat CONNECT API.
1 parent 8b556a3 commit 54085dc

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

Diff for: examples/Threading_Basics/Source_Sink_Counter/Source_Sink_Counter.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
void setup()
88
{
9-
ProducerPrivate::counter.connectTo(ConsumerPrivate::counter);
9+
CONNECT(Producer, counter, Consumer, counter);
1010
Producer.start();
1111
Consumer.start();
1212
}

Diff for: examples/Threading_Basics/Source_Sink_LED/Source_Sink_LED.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
void setup()
88
{
9-
Source_ThreadPrivate::led.connectTo(Sink_ThreadPrivate::led);
9+
CONNECT(Source_Thread, led, Sink_Thread, led);
1010
Sink_Thread.start();
1111
Source_Thread.start();
1212
}

Diff for: src/Arduino_Threads.h

+3
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ SinkBlocking<type> name{size}
7474
#define SINK_NON_BLOCKING(name, type) \
7575
SinkNonBlocking<type> name{}
7676

77+
#define CONNECT(source_thread, source_name, sink_thread, sink_name) \
78+
source_thread##Private::source_name.connectTo(sink_thread##Private::sink_name)
79+
7780
#define SHARED(name, type) \
7881
Shared<type> name
7982

0 commit comments

Comments
 (0)