[PD] Pduino sysex vs. OSC advice

Rick Snow ricksnow at gmail.com
Thu Jun 2 18:00:47 CEST 2016


Thanks Christof (and Martin) for pointing me to the CNMAT library.

I did spend a bit of time with this library before posting to the list but
the tutorial I looked at originally required the ethernet shield. Now I am
giving the  slipenc/slipdec + OSC functionality a try.  The raw SLIP
packages look promising as well though I unfamiliar with bitshifting at
this point!

Christof,
Your Arduino_Serial patches look very promising.  Thanks for taking the
time to make this and send my way!  I've taken a look and after getting the
mrpeach objects loaded correctly (and the object/message connections
correctly reconnected) am able to get the LED to light up using
ArduinoTestOSC.pd.

There are a lot of unpackOSC messages telling me things like "Packet size
(#) not a multiple of 4: dropping packet" but I think this is not a big
problem right?

Thanks again!
Rick



On Wed, Jun 1, 2016 at 6:40 PM, Christof Ressi <christof.ressi at gmx.at>
wrote:

> The CNMAT OSC library works well and I often used it with a serial
> connection. The documentation, however, is not so good and some of the
> examples are buggy. I attached some test sketches/patches I once made for a
> class presentation. The arduino sketch explains how to easily send and
> receive OSC messages via a serial connection (make sure you use the same
> baud rate on both sides!)
>
> Although OSC is convenient, it can be a waste of ressources if you send
> lots of messages. I often work with raw SLIP packages instead, where the
> first byte is used for addressing and the other bytes are the actual data
> (using some bit shifting to break up integers into several bytes). In the
> arduino code, use SLIPSerial.read() to fill an array (instead of an OSC
> message) and interpret your data as needed.
>
> You can also make your own simple protocol where you define a certain
> character to signify the start or end of a message. But how do you know if
> it's not part of the data? SLIP uses escape sequences to handle this case.
> Two alternative solutions:
> a) work with fixed length messages and count bytes (not very safe)
> b) reduce the range of possible values for your data (e.g. 0-127, like
> MIDI) and reserve the rest for addressing (128-255). If you need a greater
> resolution for your values, just break them up into several bytes. This
> way, sending a single 16 bit integer would take 4 bytes (address, bit
> 14-15, bit 13-7, bit 0-6).
>
> Christof
>
> Gesendet: Mittwoch, 01. Juni 2016 um 17:16 Uhr
> Von: "Martin Peach" <chakekatzil at gmail.com>
> An: "pd-list at lists.iem.at" <pd-list at lists.iem.at>
> Betreff: Re: [PD] Pduino sysex vs. OSC advice
>
> There's an OSC library for Arduino here:
> https://github.com/CNMAT/OSCUsing SLIP it can communicate over serial
> line using [comport] on the Pd end.
>  Martin
>
> On Wed, Jun 1, 2016 at 10:29 AM, Rick Snow <ricksnow at gmail.com[
> ricksnow at gmail.com]> wrote:
>
> Hello list!
>
> I am looking for some advice on sending messages from PD to an Arduino
> sketch.  Essentially, I plan to connect a mac to an Arduino via USB and
> control a large amount of variables within the Arduino sketch from PD.
>
> Is using the sysex message with the [arduino] object message the way to go
> with this?  How can I "tag" the messages so that they go to the correct
> variable in the arduino sketch?  Is there a practical limit to the speed of
> such a system?
>
> I am much more familiar with using OSC messaging between applications but
> when I looked into using OSC with Arduino it seemed like I needed to use an
> ethernet shield (instead of connect via usb) and I would rather not go that
> route unless absolutely necessary.
>
> Any advice is much appreciated!
>
> cheers,
> Rick
> _______________________________________________
> Pd-list at lists.iem.at[Pd-list at lists.iem.at] mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]
>  _______________________________________________ Pd-list at lists.iem.at
> mailing list UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160602/ef937640/attachment-0001.html>


More information about the Pd-list mailing list