Configure the Make Controller to Automatically Send Input Values
How to configure and use the autosend feature in the Heavy firmware.
Purpose
When using the Make Controller over OSC to read sensor or other input values, it can be a pain to constantly ask it for the latest value. Instead, we can do a one-time configuration of the board to always send input values whenver they change. This feature is called autosend.
Prerequisities
You'll need a recent version of Heavy uploaded onto your Make Controller. With your Make Controller connected to your computer, open up mchelper and click on the Summary tab to see the version. If it's not 1.3.0 or later, you need to upload new firmware.
This also assumes you're familiar with how to communicate with the Make Controller via OSC. If not, check out the OSC tutorial.
Step by step
There are 2 main things to configure:
- Whether the board will send its autosend its messages to the board over USB or Ethernet.
- How often to check for, and send, new messages.
Ethernet or USB
If you want messages to come over USB, send the message
/system/autosend-usb 1
and if you want them to come over Ethernet, send the message
/system/autosend-udp 1
How Often
To tell the board to check for new info every 10 milliseconds, send the message
/system/autosend-interval 10
Which Systems?
Now all we need to do is decide which subsystems should automatically send their messages. If all you care about are messages from the DIP switch, for instance, you might not want all the analogins sending messages automatically.
To turn autosend on for the DIP switch, send the message
/dipswitch/autosend 1
and just change the 1 to a 0 to turn it off. To turn autosend for all the analog ins on, send the message
/analogin/*/autosend 1
Now in your applications you never need to send requests to the board - all you need to do is process the messages coming back from the board. Simple!
The list of subsystems that currently support autosend are:
- analogin
- dipswitch
- xbee
Further Information
For more info, you can consult the OSC documentation.

