Bullroarers

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

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 Messaging

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. For the examples below, I am using the base address for node 1, /br/1/

Sending

Each node can send 4 messages:

  • /br/1/range
    • integer, 0-1024
    • Current 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.

Receiving

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.