From BlueMelon
The BlueSense OSC (Open Sound Control) interface allows you to use BlueSense from within any environment which supports OSC. Cited from the OSC website:
"Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology".
Examples of OSC enabled applications
svn
Gateway
OSC support in BlueSense is achieved via a special gateway application. The gateway is based upon Java and JavaOSC. The gateway can be used as both a client or server (TCP and UDP protocols) for your OSC applications.
Installation and Setup
Check the OSC directory of the SDK. There are a number of scripts which you can use to start a server or client.
OSC messages
General
Send these messages to
/bluesense/master
- addIPAdress ip username password
- Adds a connection to an BlueSense ethernet router
- getDevices
- Returns a list of currently found BlueSense devices. The list is returned as individual osc messages:
/bluesense/device id name firmwareversion
- detectDevices count timeout
- Try to detect 'count' devices. The process stops when no devices have been found for 'timeout' miliseconds.
- detectDevice id timeout
- Try to detect the device with the given 'id'. The process stops wenn the device is found or after 'timeout' miliseconds.
- getListedDeviceCount
- Returns the number of found BlueSense devices:
/bluesense/deviceCount count
Individual BlueSense devices
You can send a OSC message to an specific BlueSense module:
/bluesense/id/message
- id: should be replace by the id of the module
- message: a specific message. Possible messages are listed below:
Analog input module
Events
/bluesense/id/lastSampledInput index value
Commands
/bluesense/id/getResolution
returns /bluesense/id/resolution value
/bluesense/id/getSampleDelay
returns /bluesense/id/sampleDelay value
/bluesense/id/getVoltageReference
returns /bluesense/id/voltageReference value
/bluesense/id/setResolution value
Analog output module
Commands
/bluesense/id/setOutputs v1 v2 v3 v4 v5 v6 v7 v8
/bluesense/id/setOutput index value
/bluesense/id/getOutput index
returns /bluesense/id/output index value
/bluesense/id/getOutputs
returns /bluesense/id/output v1 v2 v3 v4 v5 v6 v7 v8
Digital (switch) input module
Events
/bluesense/id/lastSampledInput/index value
/bluesense/id/lastSampledCounter/index value
/bluesense/id/lastSampledRotary/index value
Commands
- requestNeedsBooleans: Switches boolean events for side 0 (A), 1 (B) on (1) or off (0).
/bluesense/id/requestNeedsBooleans side onoff
- requestNeedsCounter: Switches counter event for a port on (1) or off (0)
/bluesense/id/requestNeedsCounter port onoff
- requestNeedsRotary: Switches rotary event for a port on (1) or off (0)
/bluesense/id/requestNeedsRotary port onoff
Digital (open collector) output module
/bluesense/id/setouputs mask value
/bluesense/id/getoutputs
returns /bluesense/id/outputs value
/bluesense/id/getoutput index
returns /bluesense/id/output index value
/bluesense/id/setPWMs mask v1 v2 ... max v16
/bluesense/id/getPWMs
returns /bluesense/id/PWMs mask v1 v2 ... max v16
/bluesense/id/getPWM index
returns /bluesense/id/PWM index value
/bluesense/id/setPWM index value
DC motor module
/bluesense/id/setSpeeds v1 v2
/bluesense/id/setSpeed index value
/bluesense/id/getSpeed index
returns /bluesense/id/speed index value
Relay module
/bluesense/id/setouputs mask value
/bluesense/id/getoutputs
returns /bluesense/id/outputs value
/bluesense/id/getoutput index
returns /bluesense/id/output index value
Servo module
/bluesense/id/setAngles v1 v2 v3 v4 v5 v6 v7 v8
/bluesense/id/setAngle index value
/bluesense/id/getAngle index
returns /bluesense/id/angle index value
/bluesense/id/getAngles
returns /bluesense/id/angles v1 v2 v3 v4 v5 v6 v7 v8
Stepper module
/bluesense/id/setConfiguration current autostop halfstep wavedrive fastdecay
/bluesense/id/setSpeed value
Router modules
/bluesense/id/setChannel channel