Logic - Basics

Logic in ControlSpace® Designer version 5 encompasses both the assignment of object controls to logic inputs and outputs such as a GPIO block or a serial block, and also the manipulation of logic signals within the processor.

Legacy Products
Any Bose ControlSpace® DSP device, even the discontinued ESP-88, is able to assign object parameters to GPI ports or Serial input triggers. This is familiar functionality accomplished by dragging and dropping the processing object to the programming window in the GPI or Serial control panel. For example, once an object parameter has been assigned to a GPI port, a physical button or switch connected to the GPI port will control the assigned object parameter.

This functionality is also available in the EX-1280C, but the EX-1280C has the ability to provide additional logic processing to perform more complex functions. This additional functionality is provided by logic processing objects, which are connected to logic ports on the various objects using drag and drop wiring in the same way audio objects are wired together. GPIO and Serial I/O objects in the EX-1280C have logic ports visible by default. The color of these logic nodes indicates the current state of the node. A blue node indicates that the logic node is “off” or “open”, while an orange node indicates that the node is “on” or “closed”.

Many audio processing objects have Logic I/O that can be made visible by right-clicking on the object and selecting Show Logic I/O. Wiring between the logic I/O on objects will produce association between the object similar to dragging and dropping the objects directly into a control programming window.

If a GPI with a latching button is connected directly to the logic controls on a mixer, the channel mutes will be muted when the GPI is closed, and unmuted when the GPI is open. Connecting the GPI directly to the mixer works fine if there is no external control system in the room and no Parameter Sets being used on the mixer mutes, but will become a problem if the physical buttons connected to the GPI are in the closed or on position when the external control system unmutes the mixer channels. The physical controls are still in the closed position, but they are no longer in sync with the mutes on the mixer. When the user presses the physical button, the GPI will switch to the open position and nothing will change on the mixer. The user would need to press the physical button a second time in order to change the state of the mixer mute.

Issues like this can be easily corrected by using Logic Blocks. In this example, using momentary contact switches on the microphones and adding Logic Blocks between the GPI and the mixer to provide a simple toggle function, will allow the GPI to change the state of the mixer mute each time the momentary button is pressed. If a Parameter Set or external control system needs to change the state of the mixer mutes, the changes are made to the Logic Object rather than directly to the mixer object. This allows the physical controls to do what the user expects them to do even if the state of the object parameters have been changed by an external control system or a Parameter Set recall.

The functionality of each Logic Block is freely programmable for a nearly infinite variety of functions. Multiple functions may be programmed in a single Logic Block or individual Logic Blocks may be used for each function. Freely programmable Logic Blocks exist only in the EX-1280C and are not available in older processors.