Bullroarers

From Robert-Depot
Revision as of 08:44, 10 September 2014 by Rtwomey (talk | contribs) (OSC Addressing)

Jump to: navigation, search

Addressing Scheme

21 bullroarer nodes with single server/controller system.

  • Node Addresses: 192.168.3.1 - 192.168.3.21
  • Server/Controller Address: 192.168.3.100

OSC Addressing

The bullroarer nodes use Open Sound Control to communicate with the host computer. You can find an introduction to Open Sound Control [here]. The OSC messages are addressed differently to each node. They start with a base address of /br/ followed by the node's number, 1-21.

They can send 4 messages:

  • /br/1/range, integer, 0-1024.
    • Analog sensor reading from ultrasonic rangefinder from 0-1024.
    • Sent every 200 ms (so 5 Hz refresh rate).
  • /br/1/limit, integer, 0 or 1.
    • State of limit switch.
    • Sent when button is pressed or released. Switches are active low, so the value is 0 (LOW) when the button is pressed, 1 (HIGH) when the button is released.
  • /br/1/relay, integer, 0 or 1.
    • State of motor control relay.
    • Sent when relay state changes. Relays are active low, so a value of 0 (LOW) means the relay is on, 1 (HIGH) means the relay is off.
  • /br/1/config, integer, integer, integer.
    • Sent when requested.
    • First value is auto mode, 0 for "off", 1 for "on".
    • Second value is max range, 0 - 1024. This is a threshold value for the lower limit of bullroarer travel. When in auto mode, a sensor reading larger than this value will trigger the relay to turn the motor back on and raise the bullroarer.
    • Third value is cycle timeout, 0 - max long int. Sets the amount of time the bullroarer waits at bottom before starting motor, the "rest time". Only works when in auto mode.

They can receive 6 messages:

  • /br/1/relay, integer (0 or 1).
    • Turns relay on or off.
    • Relays are active low, so a value of 0 (LOW) means the relay is on, 1 (HIGH) means the relay is off.

Configuration messages. The following three messages change run-time behavior of a node in automatic mode:

  • /br/1/auto, integer (0 or 1).
    • Sets automatic mode. 0 for "off", 1 for "on".
  • /br/1/max, integer, 0 - 1024.
    • Sets the threshold value for the lower limit of bullroarer travel. When in auto mode, a sensor reading larger than this value will trigger the relay to turn the motor back on and raise the bullroarer.
  • /br/1/timeout, long integer, 0- max long int.
    • Sets the amount of time the bullroarer waits at bottom before starting motor, the "rest time". Only works when in auto mode.
  • /br/1/write, integer, 0 or 1.
    • Writes the current runtime configuration (auto, max, and timeout) to the bullroarer's EEPROM. This will save the current settings for next startup. Otherwise they are lost.
  • /br/1/config, integer, 0 or 1.
    • Sends the current runtime configuration for the bullroarer to the host computer.