You are here: Home Documentation Tutorials Max/MSP Max External Reference
Document Actions

Max External Reference

A reference for the Make Controller Max externals.
How to use the Make Controller Kit with Cycling 74's Max/MSP.
Page 4 of 5.

There are a handful of externals that make it easy to use the Make Controller in Max.  Note that all the externals aside from mc.usb are simply Max abstractions that make it easy to form the correct OSC messages.  You can always form the OSC messages yourself - the list can be found here.

Externals


 

mc.usb

mc.usb is the base object that connects to the Make Controller Kit and sends/receives messages to and from it. If you want to communicate with the Make Controller over USB in Max, you need just one of these somewhere in your patch.  It can be helpful to connect send and receive objects on either side of it to get messages to and from the other mc objects, as opposed to connecting them all with patch cables.

Input
Messages sent in the left (and only) inlet will be sent to the Make Controller.  These should be formatted as OSC messages.

Output
Messages coming out of the left (and only) outlet of mc.usb are OSC messages from the Make Controller.   You can either route these yourself, or send them straight to one of the other mc objects which will filter out the messages that it cares about.

 

mc.analogin

mc.analogin receives messages from either the mc.usb or udpreceive objects, filters them, and outputs the values for each of the analog inputs on the Make Controller Kit.

Input
The left inlet expects messages from a udpreceive object and the right inlet expects messages from mc.usb.  If the messages coming in don't contain any analogin information, nothing will come out the outlets.

Output
The 8 outlets correspond to the 8 analog inputs on the Make Controller Kit, numbered 0-7 from left to right.  These will output an int when an analogin value comes back from the board.

 

mc.appled

mc.appled accepts on/off signals (as from a toggle) to turn the LEDs on the Application Board on and off.

Input
Each of the 4 inlets, 0-3 from left to right, correspond to the 4 LEDs on the Application Board.  A 1 will turn them on and a 0 will turn them off.

Output
The properly formatted OSC messages that can be sent either to an mc.usb or udpsend object, which will in turn send the message to the board.

 

mc.digitalout

mc.digitalout accepts on/off signals (as from a toggle) to turn the digital outputs on the Application Board on and off.

Input
Each of the 8 inlets, 0-7 from left to right, correspond to the 8 digital outputs on the Application Board.  A 1 will turn them on and a 0 will turn them off.

Output
The properly formatted OSC messages that can be sent either to an mc.usb or udpsend object, which will in turn send the message to the board.

 

mc.dipswitch

mc.dipswitch receives messages from either the mc.usb or udpreceive objects, filters them, and outputs the values for each of the channels of the DIP switch on the Application Board.

Input
The left inlet expects messages from a udpreceive object and the right inlet expects messages from mc.usb.  If the messages coming in don't contain any dipswitch information, nothing will come out the outlets.

Output
The 8 outlets correspond to the 8 channels of the DIP swtich on the Application Board, numbered 0-7 from left to right.  These will output a 0 when a channel is off and 1 when a channel is on. 

 

mc.motor

mc.motor controls the speed and direction of up to 4 DC motors connected to the Application Board.  mc.motor has 4 inlets which correspond to 4 possible motors connected to the Application Board, numbered 0-3 from left to right.  Check the DC motor how-to for how to use a servo motor with the Make Controller.

Input
Ints will set the speed of the motor - the range 0 - 1023 represents stopped to full speed.  A 'direction x' message will set the direction - the 'x' should be a 1 to set the direction to forward and 0 to set it to backward.

Output
The properly formatted OSC messages that can be sent either to an mc.usb or udpsend object, which will in turn send the message to the board.

 

mc.servo

mc.servo controls the speed and direction of up to 4 servo motors connected to the Application Board.  mc.servo has 4 inlets which correspond to 4 possible servos connected to the Application Board, numbered 0-3 from left to right.  Check the servo how-to for how to use a servo motor with the Make Controller.

Input
Ints will set the position of the servo - the range 0 - 1023 is the 'safe' range, which won't hard your motor but you can get a full 180 degrees of rotation using the range from -512 to 1536.  A 'speed x' message will set the speed - the 'x' should be within the range 0-1023.

Output
The properly formatted OSC messages that can be sent either to an mc.usb or udpsend object, which will in turn send the message to the board.

 

mc.stepper

mc.stepper controls the speed and direction of up to 2 stepper motors, either bipolar or unipolar, connected to the Application Board.  mc.stepper has 2 inlets which correspond to 2 possible stepper motors connected to the Application Board, numbered 0-1 from left to right.  Consult the stepper motor how-to for a description of how to use stepper motors with the Make Controller Kit.

Input
A variety of messages can be used to control the stepper motors:

  • An int will set the position requested.
  • A 'position' message will send a request to the board for the current position of the motor
  • A 'speed x' message will set the motor's speed to 'x', which should be an int from 0-1023.
  • A 'duty x' message will set how much power the motor is using to 'x', which should be an int from 0-1023.
  • A 'bipolar x' message will configure whether the Make Controller tries to drive a unipolar or bipolar motor.  When 'x' is 1, it will drive a bipolar motor and when it is '0' it will drive a unipolar motor.
  • A 'halfstep x' message will configure whether the Make Controller tries to drive in halfstep mode or not.  When 'x' is 1, it will drive in halfstep mode, and when it is '0' it will drive in normal step mode.

Output
The properly formatted OSC messages that can be sent either to an mc.usb or udpsend object, which will in turn send the message to the board.