forked from CNMAT/OSC
-
Notifications
You must be signed in to change notification settings - Fork 4
/
serialBasics.ino
45 lines (35 loc) · 918 Bytes
/
serialBasics.ino
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
// MESSAGE PROTOCOL OBJECT
#include <OscSerial.h>
// tile support libraries
#include <EthernetUdp.h>
#include <SPI.h>
OscSerial oscSerial;
long timer;
void setup() {
Serial.begin(9600);
oscSerial.begin(Serial);
pinMode(13, OUTPUT);
}
void loop() {
// send a message every 100 ms
// avoid using delay() since it just blocks everything
long now = millis();
if (now-timer > 100) {
OscMessage msg("/helloFromArduino");
msg.add(0); // <-- this could be any data
oscSerial.send(msg);
timer = now;
}
// important!
oscSerial.listen();
}
void oscEvent(OscMessage &m) { // *note the & before msg
// receive a message
m.plug("/led", myFunction);
}
void myFunction(OscMessage &m) { // *note the & before msg
// getting to the message data
int value = m.getInt(0);
if (value == 0) digitalWrite(13, LOW);
if (value == 1) digitalWrite(13, HIGH);
}