Skip to content

Configurable features

paradajz edited this page Mar 21, 2022 · 157 revisions

This section lists all possible configurable features on OpenDeck boards. All features on OpenDeck boards are grouped into several blocks. Each block has one or more sections. Configuration can be done either via SysEx configuration or using Web configuration tool.

Global

This configuration block contains parameters applied globally.

MIDI settings

This section allows configuration of several settings related to sending and receiving of MIDI messages. All settings are disabled by default.

  • Standard note off - When enabled, standard MIDI note off will be sent. If disabled, note off is sent as note on event with velocity 0.
  • Running status (DIN MIDI only) - When enabled, MIDI traffic can be reduced. See here for more info. This setting can cause issues on older MIDI gear so it's best to leave it disabled. DIN MIDI state must be enabled in order to use this option.
  • DIN MIDI - When enabled, outgoing MIDI traffic will be sent to DIN MIDI out, and incoming messages will be processed.
  • DIN to DIN thru - When enabled, all incoming traffic from DIN MIDI will be forwarded to DIN MIDI out.
  • DIN to USB thru - When enabled, all incoming traffic from DIN MIDI will be forwarded to USB MIDI out.
  • USB to DIN thru - When enabled, all incoming traffic from USB MIDI will be forwarded to DIN MIDI out.
  • USB to USB thru - When enabled, all incoming traffic from USB MIDI will be forwarded to USB MIDI out.
  • Use global MIDI channel - When enabled, specified global MIDI channel will be used for all components. Individual channel settings for components will be ignored.
  • Global MIDI channel - Specifies global MIDI channel which will be used for all components if global channel usage is enabled. Accepted values are 1-17. Channel 17 is a special value indicating "omni" channel setting. When channel 17 is set, all outgoing MIDI traffic will be sent on each channel simultaneously (provided that the traffic is a channel message). As an example, buttons won't just send a single channel message on specific channel, but they will do so for each channel, that is, 16 messages will be sent. For incoming data, channel 17 is akin to ignoring the channel completely, e.g. LEDs will listen to messages on all channels if channel 17 is defined. This setting is ignored if components are configured to send DMX data.

Presets

This section contains the following parameters related to presets:

  • Active preset - Currently active preset.
  • Preset preservation - Controls whether or not active preset is preserved after the board is reset. Disabled by default (first preset will be always active on start-up).

DMX

This section currently has only one option for DMX:

  • Enable - Used to enable or disable DMX transmitter. Receiving isn't currently supported. DMX signals are constantly being transmitted through UART. Timing is done in firmware so it does not rely on PC. Open Lighting Architecture (OLA) plugin usbserial can be used to interface with OpenDeck since the firmware implements Enttec DMX USB Pro Widget API. See DMX wiki page for more details.

Buttons

Button block is used to configure buttons connected to OpenDeck boards.

Type

Buttons can be configured as momentary or latching. When momentary type is set, different MIDI messages are sent when button is pressed or released. For example, if note message type is used, on press, note on will be sent with configured velocity, and that same message will be sent with velocity 0 on release. When latching type is set, MIDI note on is sent when button is pressed, and note off is sent when button is pressed again. Depending on message type, this setting can be ignored.

Message type

The following are supported message types:

  • Notes (default setting)
  • Notes / Off only - Only note off will be sent. Sent on press only - button type is ignored.
  • Program change - Sent on press only - button type is ignored.
  • Program change, increment - Every press of the button will increase the value of program for specified channel. Sent on press only - button type is ignored.
  • Program change, decrement - Every press of the button will decrease the value of program for specified channel. Sent on press only - button type is ignored.
  • CC - Sent on press only - button type is ignored.
  • CC with 0 reset - Same as CC but on release (depending on button type) CC with value 0 will be sent.
  • CC / 0 only - Sends only configured controller number with value 0. Sent on press only - button type is ignored
  • MMC Play - Sent on press only - button type is ignored.
  • MMC Stop - Sent on press only - button type is ignored.
  • MMC Pause - Sent on press only - button type is ignored.
  • MMC Record - Recording start message will be sent on first press and recording stop message on second. Sent on press only - button type is ignored.
  • Real Time Clock - Sent on press only - button type is ignored.
  • Real Time Start - Sent on press only - button type is ignored.
  • Real Time Continue - Sent on press only - button type is ignored.
  • Real Time Stop - Sent on press only - button type is ignored.
  • Real Time Active Sensing - Sent on press only - button type is ignored.
  • Real Time System Reset - Sent on press only - button type is ignored.
  • Change OpenDeck preset - No MIDI message is being sent. Sent on press only - button type is ignored.
  • None - No MIDI message is being sent.
  • Multi Value IncReset Note - Each successive press will send MIDI note with increasing velocity. In this mode, velocity value is treated like step value by which each next sent velocity value is summed. For example, if velocity is set to 32, first sent MIDI note will have velocity 32, then 64, then 96 etc. Once the value reaches 127, next press will start from configured velocity (step) value. Sent on press only - button type is ignored.
  • Multi Value IncDec Note - Similar to Multi Value IncReset Note mode - once the velocity reaches maximum value, next presses will decrement the value until 0 is reached. This is more akin to how the actual multi-position switches behave. Sent on press only - button type is ignored.
  • Multi Value IncReset CC - Same as Multi Value IncReset Note, only CC message is sent instead of Note.
  • Multi Value IncDec CC - Same as Multi Value IncDec Note, only CC message is sent instead of Note.
  • DMX - Used to change DMX channel value to a specific value. Sent on press only - button type is ignored.

MIDI ID

Each button can have assigned any MIDI ID between 0-127. By default, button has same MIDI ID as its index (button 0 has ID 0, button 1 has ID 1 etc.). This ID represents different value depending on message type:

  • Notes - ID is MIDI note number
  • Program change - ID is MIDI program number
  • CC - ID is MIDI CC number
  • MMC - ID is MMC channel number
  • Real Time - ID is ignored
  • Change OpenDeck preset - ID is preset being activated when the button is pressed
  • DMX - ID is ignored

Value

Each button can have assigned any MIDI velocity (for notes) or control value (for CC messages) between 1 and 127 for press (release velocity is always 0 and it isn't configurable). For DMX, the value is any number in 0-255 range.

Channel

Each button can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, channel messages will be sent on all channels at once. Default value is channel 1. For DMX the range is 1-512.

Encoders

This block is used to configure encoders connected to digital inputs on OpenDeck boards.

Enable/disable

Enables or disables encoder. All encoders are disabled by default, since enabling single encoder disables two buttons.

Invert

Encoders send different values when rotating in different directions. Those values can be inverted using this option. Disabled by default.

Acceleration

Disabled by default for all encoders. If enabled, acceleration is used if encoding mode is set to Control Change (both 7 and 14-bit variants), Pitch Bend or 7/14-bit NRPN. Acceleration can be set to the following values:

  • Disabled
  • Slow
  • Medium
  • Fast

Message type

The following are supported message types:

  • 7Fh01h - Sends CC message with value 1 in one direction, and value 127 in other direction.
  • 3Fh41h - Sends CC message with value 63 in one direction, and value 65 in other direction.
  • Program change - Increments program on current encoder channel in one direction, and decrements it in other direction.
  • CC 7-bit - Sends CC message with continuous range (0-127), with positive increments by one in one direction, and negative in other.
  • CC 14-bit - Also called "High resolution MIDI" in Ableton. Sends CC message with continuous range (0-16383), with positive increments by one in one direction, and negative in other. Sent as two CC messages with second having ID offset of 32 (ie. if CC ID is set to 0, second message will have CC ID set to 32). When used, ID must be set lower than 96, otherwise no data will be sent.
  • Pitch bend - Sends Pitch Bend message with continuous range (0-16383), with positive increments by one in one direction, and negative in other.
  • NRPN/7-bit - This message type is sent as three CC messages with first two being NRPN number (0-16383) and third one being CC value (0-127), with positive increments by one in one direction, and negative in other.
  • NRPN/14-bit - This message type is sent as four CC messages with first two being NRPN number (0-16383) and last two being CC value (0-16383), with positive increments by one in one direction, and negative in other.
  • Change OpenDeck preset - switches between OpenDeck presets with positive increments by one in one direction, and negative in other.
  • DMX - Changes the DMX value (0-255) for specified DMX channel with positive increments by one in one direction, and negative in other.

MIDI ID

Each encoder can have assigned any MIDI ID between 0-127. By default, encoder has same MIDI ID as its index (encoder 0 has ID 0, encoder 1 has ID 1 etc.).

Channel

Each encoder can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, channel messages will be sent on all channels at once. Default value is channel 1. For DMX the range is 1-512.

Pulses per step

Amount of pulses encoder generates per step. Default value is 4 for all encoders.

Remote CC sync

When enabled, received CC value will be assigned to encoder if the following criteria is met:

  • Encoder is in continuous CC mode
  • Received MIDI channel is the same as the one configured on encoder, unless "omni" channel is used in which case incoming channel is ignored
  • Received MIDI ID is the same as the one configured on encoder

Disabled by default for all encoders.

Analog

Analog block is used to configure components connected to analog section on OpenDeck boards.

Enable/disable

All analog inputs are disabled by default. Before using any component connected to analog input, input must be enabled first.

Invert

Potentiometers connected to OpenDeck boards send CC values 0-127, depending on their position. This setting can invert that range for any analog input. Disabled by default.

Message type

The following are supported message types:

  • Control change (7-bit) - Sends CC message with control value being 0-127 depending on applied voltage, that is, potentiometer position. This is default option.
  • Control change (14-bit) - Also called "High resolution MIDI" in Ableton. Sends CC message with continuous range (0-16383) depending on applied voltage, that is, potentiometer position. Sent as two CC messages with second having ID offset of 32 (ie. if CC ID is set to 0, second message will have CC ID set to 32). When used, ID must be set to lower than 96, otherwise no data will be sent.
  • Note - Sends note message with velocity being 0-127 depending on applied voltage, that is, potentiometer position.
  • FSR - Used for FSR sensors. This type sends note message with velocity being applied pressure on FSR (0-127).
  • Button - Acts like normal button. When analog input is set to this type, further configuration is done in button block with button index being last button index + analog input index, ie. if maximum number of buttons is 64, and analog input 0 (1 in web configurator) is configured as button, that button is configured in button block with button index 65 (or 66 in web configurator). Every other analog input setting is ignored once this option is enabled.
  • NRPN/7-bit - This message type is sent as three CC messages with first two being NRPN number (0-16383) and third one being CC value (0-127).
  • NRPN/14-bit - This message type is sent as four CC messages with first two being NRPN number (0-16383) and last two being CC value (0-16383).
  • Pitch Bend - Type used to send pitch bend messages with 14-bit range (0-16383).
  • DMX - Changes the DMX value (0-255) for specified DMX channel depending on applied voltage, that is, potentiometer position.

MIDI ID

Each analog input can have assigned any MIDI ID between 0-127. By default, analog input has same MIDI ID as its index (analog input 0 has ID 0, analog input 1 has ID 1 etc.).

Lower limit

Default lower limit is 0. When any other lower limit is used, default range 0-127 gets scaled.

Upper limit

Default upper limit is 127. When any other upper limit is used, default range 0-127 gets scaled.

Channel

Each analog input can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, channel messages will be sent on all channels at once. Default value is channel 1. For DMX the range is 1-512.

Lower ADC offset

Specifies lower offset percentage (0-100) which is used to calculate minimum ADC value upon which MIDI values will be based. Useful for inputs which cannot reach minimum ADC value. If for example, the board has nominal ADC range 0-4095, setting this value to 10 will calculate MIDI values based on 409-4095 range (assuming the upper offset is 0), that is, lower 10% of ADC range will be cut off. Set to 0 by default.

Upper ADC offset

Specifies upper offset percentage (0-100) which is used to calculate maximum ADC value upon which MIDI values will be based. Useful for inputs which cannot reach maximum ADC value. If for example, the board has nominal ADC range 0-4095, setting this value to 10 will calculate MIDI values based on 0-3685 range (assuming the lower offset is 0), that is, upper 10% of ADC range will be cut off. Set to 0 by default.

LEDs

This block is used to configure LEDs connected to OpenDeck boards.

Global parameters

This section is used to configure various global settings related to LEDs. Those settings are:

  • Start-up animation - Enables or disables start-up animation. If enabled, all LEDs will slowly fade in, stay on for 2 seconds, and then slowly fade out when board is powered on. This option is disabled by default.
  • Fade time - Sets LED fading time. Value can range from 0 to 10. Fade time is specified value multiplied by 10. This value is set to 0 by default, which means that fading is disabled. Note: Available only on official OpenDeck board v1.
  • Blinking via MIDI clock - When this option is enabled, MIDI clock messages are used to sync clock pulses to LED blinking speed. Once the MIDI clock stops, all LEDs stop blinking as well (they will stay at the last state there were in before the clock has stopped and will continue blinking if the MIDI clock starts again). When disabled, MIDI clock is ignored and timer is used to control the LED blinking.

Activation ID

Sets activation ID (Note, CC number or program value) which will control the LED.

RGB LED enable/disable

Enables or disables RGB LED. Enabling RGB LED disables 3 single-color LEDs. All RGB LEDs are disabled by default. RGB LED is enabled by specifying single LED index which gets converted to RGB LED index in firmware. When RGB LED is enabled, MIDI channel, local control and activation ID parameters from requested single LED index are copied to other two LEDs (RGB LED is three normal LEDs handled as one LED in firmware). For instance, RGB LED 1 is actually single LED 1, 9 and 17. As an example, LED 1 has assigned MIDI channel 1, LED 9 has MIDI channel 2 and LED 17 has MIDI channel 3. If RGB LED enable command is requested for LED 17, LEDs 1, 9 and 17 will all have MIDI channel 3. Same is valid for local control and activation ID parameters.

Control type

Specifies the mode in which LEDs are being controlled. See LED control section for more details.

Activation velocity

Note velocity or CC value which will turn on single-color LED. By default this value is set to 127 for all LEDs. When RGB LEDs are used, velocity table is used instead.

MIDI channel

Each LED can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, incoming MIDI channel will be ignored. Default value is channel 1.

Display

This block is used to configure display connected to OpenDeck boards.

Settings

This section has the following settings:

  • Display controller - Specifies controller used on display. Currently only SSD1306 controller is supported.
  • Display resolution - Specifies display resolution. Currently supported resolutions are 128x64px and 128x32px.
  • MIDI event time - Specifies time in seconds the last MIDI event will stay on the display if MIDI event retention isn't enabled. If value 0 is set, it will be interpreted as infinite message duration, that is, last sent/received MIDI message will stay on display until it's powered off.
  • Octave normalization - Used to increase or decrease octave display when note display is used instead of MIDI note number.
  • I2C address - Sets the I2C address of the display.

Features

This section controls various display settings:

  • Display enabled - Controls whether the display usage is enabled or not.
  • Welcome message on startup - If enabled, "Welcome!" text will be displayed one character at the time when the board is powered on.
  • Version info on startup - If enabled, firmware and board version will be displayed when the board is powered on. If welcome message is enabled as well, this info will be displayed after that message.
  • Alternate note display - When disabled, MIDI notes will be displayed as numbers (0-127). Otherwise, note/octave notation will be used instead (ie. C#4). Disabled by default.

Touchscreen

This block is used to configure touchscreen connected to OpenDeck boards.

Settings

This section has the following settings:

  • Display enabled - Specifies whether the usage of touchscreen is enabled or disabled.
  • Touchscreen model - Specifies touchscreen model/manufacturer. Nextion and Stone HMI/Viewtech are supported.
  • Brightness - Specifies touchscreen brightness. The following values are available:
    • 10%
    • 25%
    • 50%
    • 75%
    • 80%
    • 90%
    • 100%
  • Initial screen - Specifies the screen index which will be shown once the board is powered on. Changing this setting will also automatically switch to selected screen.
  • Flashing mode - Used to bypass communication with the screen to the virtual OpenDeck serial port (CDC). Useful when flashing the screen via Nextion GUI. When enabled, screen is unavailable to MIDI part of the firmware. Once the board is rebooted, this setting is cleared.

Icon X position

This section is used to specify X position of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon Y position

This section is used to specify Y position of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon width

This section is used to specify width of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon height

This section is used to specify height of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon on screen

This section is used to specify screen on which icon in on state is located. Values 0-15 are allowed.

Icon off screen

This section is used to specify screen on which icon in off state is located. Values 0-15 are allowed.

Page switch enabled

This section is used to specify whether the specific touchscreen icon/button can be used to switch to another page on screen.

Page switch index

This section is used to specify page to which specific touchscreen icon/button should switch to if page switching functionality for this icon/button is enabled. Values 0-15 are allowed.

Clone this wiki locally