EchoString \ Learning \ Wiring ALPHA 1.0
Author: Hernando Barragán
Description: Wiring is an electronic sketchbook and hardware electronics for developing ideas. It is a context for learning fundamentals of computer programming and prototyping with electronics within the context of the electronic arts.
Keywords: Wiring, Processing, Interactive Media, Electronic Arts, Programming, C, C++, Hernando Barragán

Search wiring.org.co:

This example is for Wiring version 0023+. If you have a previous version, use the examples included with your software. If you see any errors or have comments, please let us know.

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.print(START_SYSEX, BYTE);
        Serial.print(command, BYTE);
        for(byte i=0; i<argc; i++) {
            Serial.print(argv[i], BYTE);
        }
        Serial.print(END_SYSEX, BYTE);
    }

    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();
        }
    }