The IpsonCompact communicates with OpenSoundControl messages. All the sensor- and switch values are packed into an OSC-string. Since the IpsonCompact cab send and receive OSC-messages, there are a few different set-ups to explain.
Receiving the /ic string [ Send from the IpsonCompact]
All sensor-values and switch values are sent to the Max/Msp patch running on your computer at a certain speed. This speed is adjustable in the configuration string. Below the syntax of the /ic OSC-message that consists of all 13 analogue sensor values, the digital inputs and the 3 distance measurements (if activated).
One OSC integer consists of 32 bits. Within one OSC integer there are two 12-bit sensor values embedded. Check OSC integer 1 in the table above. From left to right: MSB an0 (Most Significant Byte) of analogue input 0 followed by LSB an0 (the Least Significant Byte) of analogue input 0. In total 9 times 32-bit integers are being send from the IpsonCompact to the Max/Msp patch – this is one OSC-message.
Sending OSC-messages [Received by the IpsonCompact]
For driving the outputs of the IpsonCompact an OSC-message with the /ut address tag has to be sent. The sybtax is shown in the tabel above. Out1 and out2 define the values when the outputs are set to be digital. If the outputs are configured to generated Pulse Width Modulation, the 8-bit PWM-values are placed within this OSC-message as shown above. Below the bit definition of “out1” and “out2”.
The configuration OSC-message /cf
To configure a few settings within the IpsonCompact the /cf message can be used. It consists of 13 8-bit threshold values and 4 bytes that determine the configuration of the timer, the distance measurements and the mode of the output (Digital or PWM).
The timer value defines the frequency of the sensor measurements. It can be set to measure all inputs once every 2 seconds (the slowest mode) of once every 2mS (fastest). The 8-bit within the time byte define the time. See figure.
The threshold values (th0 – th12) determine the minimum value the sensor-value has to change (in reference to the last measurement), before the new value will be sent. In other words: if you have a sensor that generates a little noise and thus a lot of data, the threshold value can be used to reduce the data.
With the distance-byte the distance-measurement can be switched On/Off separately.