monome / serialosc

multi-device, bonjour-capable monome OSC server
http://monome.org/docs/serialosc/osc
Other
146 stars 32 forks source link

Add serial protocol support for Illucia DTR #47

Closed lazzarello closed 3 years ago

lazzarello commented 6 years ago

I'm working on adding a new device to serialosc in my fork. The current documented protocol looks like this

/*
 illucia dtr
 "deterritorializer"
 microcontroller code version 0.9
 arduino style code (with Teensy++ as the intended target at the moment)

 When there is a change in state, send a message to the computer specifiying the change. 
 The message is a 4 byte array with the makeup:

 //first byte: char representaiton of type of control element that this message pertains to
 0 = continuous (potentiometer, sensor, etc)
 1 = digital (button, switch, etc)
 2 = jack event (some jack connection or disconnection)
 3 = arbitrary data (currently unused)

 //second byte
 if continous or digital: ID number of control element (ie: which pot changed, or which button changed)
 if jack events: first byte pertaining to the state of the grid (for now, just beaming the whole state of the grid over when something changes)
 if arbitrary data: first byte of whatever data is being sent

 //remaining bytes:
 if continuous: send 2 bytes (the 10bit value from the analogRead) 
 if digital: send 1 byte (only 1 bit used). send 1 for pressed, 0 for released 
 if jack event: another jack is involved, so send its ID in the next byte, and another byte pertaining to the state (0 for a disconnection, 1 for a connection)
 */

Device detection is TBD.

lazzarello commented 6 years ago

I think the firmware for illucia needs to be changed to fit into the mext protocol, which appears to be documented. I have [made an update] (https://github.com/lazzarello/serialosc/commit/002c9a5a59b4e9be718de5a784bcc817538fe7e3) to my fork but it's not fully worked out. I need to better understand the OSC forwarder patch bay concept to figure out the /monome/dtr/jack/* namespace