Skip to content
4ntoine edited this page Dec 7, 2011 · 6 revisions

Now it is implemented in object-oriented style, so use message object to perform command.

See name.antonsmirnov.firmata.message package for the commands.


// ... (serial init)
Firmata firmata = new Firmata(serial);

// implement all messages from the board listener
firmata.setListener(new Firmata.Listener() {
    public void onAnalogMessageReceived(AnalogMessage message) {}
    public void onDigitalMessageReceived(DigitalMessage message) {}
    public void onFirmwareVersionMessageReceived(FirmwareVersionMessage message) {}
    public void onProtocolVersionMessageReceived(ProtocolVersionMessage message) {}
    public void onSysexMessageReceived(SysexMessage message) {}
    public void onStringSysexMessageReceived(StringSysexMessage message) {}
    public void onUnknownByteReceived(int byteValue) {}
});

// .. or extend Stub to override few methods only
firmata.setListener(new Firmata.StubListener() {
     public void onSysexMessageReceived(SysexMessage message) {
         // do something
     }
});

// send commands to the board
firmata.write(new SetPinModeMessage(pin, SetPinModeMessage.PIN_MODE.PWM.getMode()));
firmata.write(new AnalogMessage(pin, value));

See tests as usage examples.

Clone this wiki locally