aboutsummaryrefslogtreecommitdiff
path: root/libraries/Firmata/examples/EchoString/EchoString.pde
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Firmata/examples/EchoString/EchoString.pde')
-rw-r--r--libraries/Firmata/examples/EchoString/EchoString.pde40
1 files changed, 40 insertions, 0 deletions
diff --git a/libraries/Firmata/examples/EchoString/EchoString.pde b/libraries/Firmata/examples/EchoString/EchoString.pde
new file mode 100644
index 0000000..e5c4e6f
--- /dev/null
+++ b/libraries/Firmata/examples/EchoString/EchoString.pde
@@ -0,0 +1,40 @@
+/* This sketch accepts strings and raw sysex messages and echos them back.
+ *
+ * This example code is in the public domain.
+ */
+#include <Firmata.h>
+
+byte analogPin;
+
+void stringCallback(char *myString)
+{
+ Firmata.sendString(myString);
+}
+
+
+void sysexCallback(byte command, byte argc, byte*argv)
+{
+ Serial.write(START_SYSEX);
+ Serial.write(command);
+ for(byte i=0; i<argc; i++) {
+ Serial.write(argv[i]);
+ }
+ Serial.write(END_SYSEX);
+}
+
+void setup()
+{
+ Firmata.setFirmwareVersion(0, 1);
+ Firmata.attach(STRING_DATA, stringCallback);
+ Firmata.attach(START_SYSEX, sysexCallback);
+ Firmata.begin(57600);
+}
+
+void loop()
+{
+ while(Firmata.available()) {
+ Firmata.processInput();
+ }
+}
+
+