Brain Configure

From Livid Wiki

(Redirected from Brain Editor)
Jump to: navigation, search

Contents

Introduction

The Livid Brain Configure provides a comprehensive setup and testing interface for the Brain board. The software will run on any Mac OS X or Windows XP/Vista/7 machine. For any device made with the DIY board to work properly, the board's micro-controller must know what connections and configurations to expect, and this software lets you do it. Once the hardware is setup (such as number of analog controls and where they are connected), you will also want to map MIDI messages to each element (analog, button, or LED) giving you flexible control over a variety of software and hardware, as well as any LED indicators on your own device. Source code is available, in the form of a Max/MSP patch.

Download the latest version of the Brain Configure application here lividinstruments.com/support_downloads.php#brainconfigure

Overview

Livid Brain Configure main window interface

When Brain Configure is opened, the main window shows a set of buttons, more or less in the order of importance for getting your DIY creation up and running. The application will scan all midi ports in an attempt to find the Brain, and, when found, will automatically choose the correct port and display it in the window, then retrieve all settings from the Brain. If no Brain is found, then it will post a "not found" message in the status line.

Each button opens a window when you can change the settings as needed: Hardware Configuration - tell the livid brain the number of controls and where they are attached Analog Maps - map MIDI messages to the elements in your device Button Maps - map MIDI messages to the buttons in your device LED Maps -map MIDI messages that will control LEDs in your device Standard MIDI Messages - some standard messages the Brain responds to, no matter the configuration Single Messages - special messages that the Brain responds to, mostly for requesting data for troubleshooting and testing. View MIDI - view midi messages coming in on the port chosen in the main window Send MIDI - send midi messages to the DIY to test LED response. Save to Brain - saves current settings to memory, so all configurations will be restored on Brain power-up. Same as "Save User Settings" in the "Single Messages" window. Status - shows messages about sending and receiving data to and from the Brain. Presets - you can store up to 32 different presets for recalling Button, Analog, LED, and Channel assignments to the Brain. Loading a preset will instantly re-program the Brain with new MIDI assignments.

Hardware Configuration

Livid Brain Hardware Configuration screen

The Livid Brain will need to know how many buttons, sliders, and LEDs are connected. As you build your device and add or remove control elements, you will need to send a new configuration to the Brain.

The Hardware Configuration interface makes this very easy. When you open this window, the Brain Configure will request the current hardware configuration from the Brain and update the interface's graphics. This way you always know how things are actually configured on the Brain. Notice the numbers of the pins in the interface: they follow the scheme on the board so you can easily visually confirm your wirings. Refer to Brain#Board_Diagram and Brain#Pin_Header_Numbering for more detail.

If you make any changes in the interface and you want those on the Brain, you MUST press the "Send" button in the lower right corner. You can also edit the sysex message directly, if you want, but you will have to press "send" after any changes. If you send a configuration message in which the Brain finds an error, the bottom area of the configuration window will turn red and provide an error code. If it receives it and accepts it, the bottom area will tint green.

Direct Connections

Buttons

The simplest button connections are directly to the Button Matrix header (JP1). If you are using 16 buttons or less, enable the numbered square of the pins that are in use in the green Direct Connection panel, by click on them. They are on if the background is green. They are off if the background is white.

If you don't want to add any pull-down resistors for your buttons, you will want to have PULLUPS ENABLED for the pins that you have buttons connected to. However, this will cause your buttons to work in opposite of normal operation. Meaning when a button is "OFF": Brain Sends Midi Note of Velocity 64. "ON" : Brain Sends Midi Note of Velocity 0.

If you need the buttons to operate in a normal fashion Meaning when a button is "OFF": Brain Sends Midi Note of Velocity 0. "ON" : Brain Sends Midi Note of Velocity 64. You will want to have PULL-UPS DISABLED for the buttons that you have connected. You will need to add a "pull-down" resistor to each pin that has a button connected, and should add one to any pin that does not have PULL-UPS enabled.

When using Direct Mode... Whether or not you decide to use pull-ups for the buttons you are using, if you have less than 8 buttons connected (say you are only using pins 1-8), You should enable the pull-ups on pins (9-16) that you are not using. This will ensure that those pins are stabilized.

For more detail on connections, refer to Brain#Direct_Wiring_Examples

Livid Brain direct connect buttons configure


Analog

These two settings are fairly self-explanatory. Just enter the number of analog controls and the first "AD" index. For example if you have 16 analogs attached to AD49-56 (JP13) and AD57-64 (JP14), you would enter "16" in the first box and "49" in the second box. You must use contiguous pins for analog controls. For example, 16 analogs on AD41-48 and AD57-64 will not work. Analog Controls can "wrap around" if you desire. For example, if you would like to use 32 Analog Controls you may use 48 as your "first AD jumper index" and have 32 as the "number of analog controls" This will use AD48-64 and AD1-16 as your analogs controls.

For more detail on analog connections, refer to Brain#Direct_Wire_Analog_Controls.

Livid Brain direct connect analog controls configure


LEDS

The simplest LED configuration is to connect up to 14 LEDs directly to the LED Matrix (JP2). Simply click on the numbered square to enable the pins that are connected to LEDs. Boxes with a green background are enabled Boxes with a white background are disabled

For more detail, refer to Brain#Wiring_LEDs

Livid Brain direct connect LEDs configure


Matrix Connections

Button Matrix

Using a bit more effort than the direct-connect buttons, a matrix of diodes and switches will enable the Brain to listen to 64 buttons. The Editor interface works slightly differently than for Direct-Connect buttons. Notice that the first 8 pin buttons are greyed out and not clickable - they are instead set using the "Starting Column bit" and "# of Columns" boxes. If you have 36 buttons arranged in 6 rows and 6 columns, and start connecting your columns at pin 2, you will enter "2" in the first number box, and "6" in the second box. Your row pins can be enabled simply by clicking on the buttons 9-16, and, for this example, you would likely enable buttons 9-14. The Brain scans all 8 Rows whether or not they are enabled (it just doesn't output MIDI Messages for the rows that are disabled), so the most efficient designs will use all 8 Rows and a minimum number of columns.

If you are using a Button Matrix, you will want to make sure all pins and pullups are disabled in the Button Direct Connections and Addressed Button Matrix interfaces.

For maximum stability, All 8 Button Row Pins (Pins 9-16) should be connected to ground through a pull-down resistor (30k-39k), whether or not they have buttons connected to them. For more detail refer to Brain#Diode_Matrix

Livid Brain matrix connect LEDs configure


Addressed Matrix

Using even more effort, in the form of address decoder chips, the Brain can listen for up to 179 buttons. Use this area to configure your connections to the Brain. Set the Addressing bits the same way you set the Columns in the Button Matrix example. Refer to the connection details in the Brain manual for more information. 2-Addressing Pins Creates 4 Columns. 3-Addressing Pins Creates 8 Columns. 4-Addressing Pins Creates 16 Columns. If you are using an Addressed Matrix, you will want to make sure all pins and pullups are disabled in the Button Direct Connections and Button Matrix interfaces. Every Row Pin (Pins 9-16) will each need to be connected to a resistor (30k-39k) (the other side of the resistor needs to be connected to ground). For more detail on wiring, refer to Brain#Address_Decoder_Matrix

Livid Brain matrix connect LEDs configure


LEDs

You can have up to 48 LEDs controllable with MIDI on your device, using an LED matrix. Configuring the Matrix is simple, but slightly different from the button matrix. The LED header pins are arranged so the columns are on pins 9-14. Enabling those pins is done by setting the starting column and the # of columns you use in your matrix. Like the columns of the button matrix, you cannot click on the buttons to enable them - you must "starting column bit" and "number of column bit" boxes. For the rows (Pins 1-8), however, simply click on the the numbered boxes of rows that are connected to LED matrix. A Green Background designates that the pin is Enabled. A White Background means that the pin is Disabled. Any unused pins can be used to directly connect LEDs, but that must be configured in the Direct Connect panel. For more detail, refer to Brain#LED_Matrix

Livid Brain matrix connect LEDs configure


Analog Maps

Livid Brain Analog MIDI Mapping Configuration screen

The Analog Maps window is a simple, editable table for assigning continuous controller, high-res continuous controller, or pitchbend messages from the attached device. Simply enter the value and type of message you want to send from an analog index, then press "Send". When you open the Analog Maps window, it will populate with the current Map defined on the Brain.

The "index" refers to the AD number on the Brain jumpers. The value will determine the MIDI message value you want to send. The cc/hi-res column lets you select a type of message to send: "0" means the analog control will send a continuous controller, and can range from 0 to 120. "1" with a value in the range of 0-31 means the control will send a high resolution pair of continuous controllers. A value of "3" means your computer would receive both ccs 3 and 34, with the MSB on 3 and LSB on 34. This is for compatibility and future updates - the value sent is still only 7 bit. "1" with a value in the range of 96-111 will send a pitch bend message, on channels 1-16 respectively.

NOTE: The Editor does no checking to ensure that your values do not conflict, so pay attention to what you are doing!

Button Maps

Livid Brain Button MIDI Mapping Configuration screen

The Button Maps window is a simple, editable table for assigning MIDI notes or ccs to the attached buttons. Simply enter the value and type of message you want to send from an button index, then press "Send". When you open the Button Maps window, it will populate with the current Map defined on the Brain.

The "index" is for reference only. The actual button reference is noted in the "notes" column. The "val" is the note or cc number the button will send. The "cc" can be set to "1" for the button to send cc, "0" for the button to send notes.

As in the Analog Maps, the Editor does no checking to ensure that your values do not conflict, so pay attention to what you are doing!

LED Maps

Livid Brain Button LED Mapping Configuration screen

When you open the LED Maps window, it will populate with the current Map defined on the Brain, showing what notes and/or ccs are assigned to control LED lights. The LED Maps window is somewhat different than the Button or Analog maps interface. The tables presented are for viewing only, and are not editable. Configuring the map requires that you know how your LED is wired: direct or by matrix.

  • For Direct Connections, just enter the pin number, and the type and value you want the LED to respond to.
  • For Matrix connections, you will have to know the column/row an LED is attached to, then enter the type and value.

The "Clear" section of the window can be used to clear a single note of its CR assignment, clear all notes and cc's of ALL assignments, and/or set the Brain to the default note->CR assignments. For example if you have note 16 assigned to CR 16, and you want note 100 to control the LED at CR 16, you can make that assignment. However, multiple notes can be assigned to control the same LED. You may not want this, so you can use this control to clear note 16 of its assignment.

The "clear all" button can be useful before you begin your assignments, so you do not accidentally end up with multiple notes controlling the same LED. Similarly, if you want to reset to the default states, you can use the "all to defaults" button. Both of these buttons will provide a confirmation window before their function is completed.

Standard MIDI Messages

Livid Brain standard MIDI messages

There are a few standard MIDI messages that the Brain responds to. Reset All Controllers - Sets all analog values to 0, regardless of current position of sensor. Omni On/Off - if Omni is on, the LEDs will respond to any matching note or cc value in the LED Map, regardless of channel. If Omni is off, the LEDs will respond to any matching messages only on the channel set for the Brain (see Single Messages). All Notes Off - Turns all LEDs off

Single Messages

Livid Brain special MIDI messages

These are special messages used to change, request, or store settings. Save User Settings - Stores Configuration and Maps to the Brain's memory. Recall User Settings - Recalls Configuration and Maps from the Brain's memory, overwriting any changes. Factory Reset - Overwrites current settings to factory defaults. MIDI Merge - This command allows the Control Surface to merge its messages onto the MIDI output jack, in addition to USB Erase MIDI Input Map - As it says. Beware! Set Channel - The send and receive channel for the Brain. Control Surface Snapshot - sends the current values of all analog controls. Request Configuration Request Analog Map Request Button Map Request LED Indicators Request MIDI Channel Request MIDI Merge Request MIDI Settings

View MIDI

Livid Brain MIDI history viewer

This shows a table of the history of MIDI messages received on the port selected in the main menu (when a Brain is connected before Editor startup, the Brain will be selected automatically in the menu). This also shows a graph of CC values, which can be useful in detecting noise problems that can occur in un-sheilded and complex connections. The history will automatically clear itself every once in awhile. You can manually clear the history by pressing the "clear" button.

Send MIDI

Livid Brain MIDI sender

A simple interface for sending notes and cc's to the Brain so you can test the LEDs and their assignments. Just type a number in the note box or in the cc box, depending on what you want to send.

Save to Brain

Livid Brain MIDI sender

This all-important button will dump any changes made in the Configuration and Map interfaces, then save the settings to the Brains memory. This ensures the Brain will be setup as desired when you de/re-attach it to a computer.

Personal tools