User Tools

Site Tools


configuration_file_guide

Configuration File Guide

The configuration for hardware peripherals is defined in the file at:

~/data/config/default_config.yml

The configuration defines the switches, pots, etc. connected, which MIDI CC message should be sent and other optional behaviors.

Some configuration can be overriden for a specific pedalboard by adding a file named “config.yml” to the pedalboard directory.

Objects

Required properties tagged with a * Properties which can be overriden per pedalboard are tagged with +

hardware - The top level object containing all user hardware configuration (always required)

  • version* - Hardware version. 1.0 for original pi-Stomp, 2.0 for pi-Stomp Core. Make sure it matches your pi-Stomp circuit board version. You can add the 3rd decimal (eg. 2.0.3), but that indicates incremental releases and only the first two indicate potentially incompatible hardware versions.

midi - Defines global midi settings

  • channel* - The MIDI channel which will be used for all messages sent by pi-Stomp hardware/software

footswitches - Defines a list of momentary switches (listed as an array) attached to the HSwitch header

Each footswitch definition member (denoted with a “-”) can have the following possible properties:

  • bypass+ - relay(s) to toggle on long-press (LEFT, RIGHT or LEFT_RIGHT. pi-Stomp core only has one relay: LEFT)
  • debounce_input* - debounce chip pin to which switch is connected
  • color - color to use for enable status halo on LCD. Generally better to not specify as it will then be assigned the category plugin color. Should be able to use any of the basic or extended HTML color names
  • disable - disable the switch (true or false)
  • gpio_input - gpio pin if not using debounce. Note that most GPIO's are already allocated for other pi-Stomp functions. On pi-Stomp Core, only pins 0, 13 and 26 are available.
  • gpio_output - gpio pin used to drive indicator (an LED, etc.). Note that most GPIO's are already allocated for other pi-Stomp functions. On pi-Stomp Core, only pins 0, 13 and 26 are available.
  • id* - integer identifier
  • midi_CC+ - msg to send on click (0 - 127 or None)
  • preset+ - change the preset (aka “snapshot”). UP goes to next, DOWN goes to previous. A fixed integer (eg. 2) selects the preset with that index if it exists for the current pedalboard

analog_controllers: (new for pi-Stomp Core). This object defines any analog inputs (listed as an array) which are attached to the HAnalog header. Do not define controllers which aren't actually attached as that will cause the ADC to poll for input that is likely floating and thus constantly changing, causing MIDI messages to be sent needlessly which consumes CPU cycles.

Each analog controler definition member (denoted with a “-”) can have the following possible properties:

  • adc_input* - ADC chip pin to which the control/sensor is connected (0 thru 7)
  • disable - disable the control (true or false)
  • midi_CC* - The MIDI CC message number to be sent by the control (0 - 127 or None)
  • threshold - The minimum amount of change to be considered a changed value. The MCP3008 is a 10-bit ADC and thus 1024 is the maximum value which will get scaled to the maximum MIDI_CC value of 127. Powers of 2 recommended. The default is 16. For “finer” control 8 would be a good choice. Coarse control maybe 32. Too small of value could result in aliasing which needlessly consumes CPU cycles.
  • type: control type (KNOB, EXPRESSION)

Example

# This file provides some default configuration for the system # Most of this configuration can be overriden by pedalboard specific configuration. To accomplish that, add # a file, named config.yml to the pedalboard directory (ie. /var/modep/pedalboards/<pedalboard-name>) — hardware:

# Hardware version (1.0 for original pi-Stomp, 2.0 for pi-Stomp Core)
version: 2.0
# midi definition
#  channel: midi channel used for midi messages midi:
  channel: 14
# footswitches definition
#   bypass: relay(s) to toggle (LEFT, RIGHT or LEFT_RIGHT)
#   color: color to use for enable status halo on LCD
#   debounce_input: debounce chip pin to which switch is connected
#   disable: disable the switch
#   gpio_input: gpio pin if not using debounce
#   gpio_output: gpio pin used to drive indicator (LED, etc.)
#   id: integer identifier
#   midi_CC: msg to send (0 - 127 or None)
#   preset: change the preset (UP goes to next, DOWN goes to prev, fixed number selects the preset with that index)
#
footswitches:
- id: 0
  debounce_input: 0
  gpio_output: 0
  bypass: LEFT
  preset: UP
- id: 1
  debounce_input: 1
  gpio_output: 13
  midi_CC: 62
  color: lime
- id: 2
  debounce_input: 2
  gpio_output: 26
  midi_CC: 63
  color: blue
# analog control definition
#   adc_input: adc chip pin to which control is connected
#   disable: disable the control
#   midi_CC: msg to send (0 - 127 or None)
#   threshold: minimum value change to trigger a midi msg (16 default, 1024 full scale)
#   type: control type (KNOB, EXPRESSION)
#
analog_controllers:
- adc_input: 0
  midi_CC: 70
  type: KNOB
- adc_input: 1
  midi_CC: 71
  type: KNOB
- adc_input: 7
  midi_CC: 77
  type: EXPRESSION
configuration_file_guide.txt · Last modified: 2023/06/18 16:10 by admin