Skip to content

Commit 07b4ffd

Browse files
committed
Hiding clunky implementation details within neat CONNECT API.
1 parent 11a1b42 commit 07b4ffd

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

examples/Threading_Basics/Source_Sink_Counter/Source_Sink_Counter.ino

Lines changed: 1 addition & 1 deletion
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
}

examples/Threading_Basics/Source_Sink_LED/Source_Sink_LED.ino

Lines changed: 1 addition & 1 deletion
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
}

src/Arduino_Threads.h

Lines changed: 3 additions & 0 deletions
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)