OMK Logo
OMK Title

OSC

OSC query

Our devices are configured via Open Sound Control. The communication scheme we use is adaptable and pretty straight forward: With each OSC request also a (unique) Int32 as message UUID is sent. The device handles the command and replies with a /fail or /success message. Both messages return your UUID and queried path as first two reply arguments. The fail message additionally returns an error string, the success message may return requested reply arguments. The default configuration port is set to port 4444. The device sends its replies to the same IP/port the request was sent from.

Example

Here an example session with pseudo OSC commands to configure the Chimaera.

send request to get the firware version

$ oscsend osc.udp://chimaera.local:4444 /info/version i $[RANDOM]

returns a successful answer, the firmware version string

/success iss 30415 "/info/version" "0.3.0 Rev4"

when your request failed, the chimaera will tell you so with an error message

/fail iss 30415 "/info/version" "wrong format, uuid(int32) expected"

to query a given configuration value use the path without any arguments, but the ID

$ oscsend osc.udp://chimaera.local:4444 /sensors/rate i $[RANDOM]

you'll get the value with the reply

/success isi 17444 "/sensors/rate" 2500

to set a given configuration value, use the path with the new value

$ oscsend osc.udp://chimaera.local:4444 /sensors/rate ii $[RANDOM] 20000

you'll get a reply whether the value was set or not

/fail iss 18065 "/sensors/rate" "value is out of bound"

With this system, using command UUIDs (which could be implemented as an increasing counter or random numbers) and the /success and /fail answers, it's straight-forward to build a custom asynchronous configuration system in any programming language or environment.

WANTED:
Beta Testers

After a high interest at Maker Faire Rome, we are now running a beta-testing campaign to collect more comprehensive feedback of first-hand experiences of our final Chimaera prototype design from interested individuals. Get in contact with us. Now.

Please support free/libre software and hardware designs.

or

donate bitcoins

or

request bank credentials via encrypted mail for SEPA transfers.

Last update - 16 May 2017

GitHub Google+ SoundCloud Vimeo

Copyright © 2014-2017, Hanspeter Portner, Open Music Kontrollers, cc-by-sa 4.0. Uses libre javascript.