for clarity and consistency, the following was copied directly from the monome website. the protocol below has been modified to show which messages are supported by the chronome, as well as the new messages added by the chronome.
to serialosc
these messages can be sent to serialosc to change settings.
sys
/sys/port i <port>
change destination port
/sys/host s <host>
change destination host
/sys/prefix s <prefix>
change message prefix (filtering)
/sys/rotation i <degrees>
rotate the chronome by degrees, where degrees is one of 0, 90, 180, 270.
this replaces /cable
/sys/info si <host> <port>
/sys/info i <port>
/sys/info
info
request information (settings) about this device
/info can take the following arguments:
/info si <host> <port> (send /sys/info messages to host:port)
/info i <port> (send to localhost:port)
/info (send to current destination application’s host:port)
''example:
to serialosc:
/sys/info localhost 9999
from serialosc to localhost:9999:
/sys/port 23849
/sys/prefix /nubs
/sys/id m0000045''
from serialosc
these messages are sent from serialosc to the destination port.
the messages below are sent after a /sys/info request is received.
sys
/sys/port i
report destination port
/sys/host s
report destination host
/sys/id s
report device id
/sys/prefix s
report prefix
to device
grid
/grid/led/set x y s
set led at (x,y) to state s (0 or 1).
/grid/led/set/color x y r g b
set led at (x,y) to red r (0 – 127), green g (0 – 127), blue b (0 – 127).
/grid/led/all s
set all leds to state s (0 or 1).
/grid/led/map x_offset y_offset s[8]
Set a quad (8×8, 64 buttons) in a single message.
Each number in the list is a bitmask of the buttons in a row, one number in the list for each row. The message will fail if the list doesn’t have 8 entries plus offsets.
taken apart:
(/grid/led/map) <- the message/route
(8 8) <- the offsets
(1 2 4 8 16 32 64 128) <- the bitmasks for each row
examples
-
/grid/led/map 0 0 1 2 4 8 16 32 64 128
-
/grid/led/map 0 0 4 4 4 4 8 8 8 8
-
/grid/led/map 0 0 1 2 3 4 5 6 7 8
-
/grid/led/map 0 0 254 253 251 247 239 223 191 127
Offsets must be mutliples of 8.
Offsets for map are broken as of serialosc 0.8.
/grid/led/row x_offset y s[..]
Set a row in a quad in a single message.
Each number in the list is a bitmask of the buttons in a row, one number in the list for each row being updated. Up to 4 quads can be updated at once. Rows appear (!) to wrap around the edges of the chronome from right side to left as of serialosc 0.8.
examples
-
/grid/led/row 0 0 232
-
/grid/led/row 0 3 129
Offsets should always be zero.
/grid/led/col x y_offset s[..]
Set a column in a quad in a single message.
Each number in the list is a bitmask of the buttons in a column, one number in the list for each row being updated. Up to 2 quads can be updated at once. Columns appear (!) to NOT wrap around the edges of the chronome from bottom to top as of serialosc 0.8.
examples
-
/grid/led/col 0 0 232
-
/grid/led/col 6 0 155
Offsets should always be zero.
from device
grid
/grid/key x y s
key state change at (x,y) to s (0 or 1, 1 = key down, 0 = key up).
/grid/pressure x y p
key state change at (x,y) to pressure (0-1023), although a more realistic range would be 0-900.


