################################################## # Setup File for midiphy right handed JA Frontpanel # $Id: MBSEQ_HW.V4 2542 2017-11-04 22:41:11Z tk $ ################################################## ################################################## # Shift Register Setup ################################################## # maximum number of connected shift registers in a DIN or DOUT chain (1..23) SRIO_NUM_SR 16 # number of first and second DOUT shift register used for GP LEDs GP_DOUT_L_SR 0 GP_DOUT_R_SR 0 # DOUTs for Dual Color option: GP_DOUT_L2_SR 0 GP_DOUT_R2_SR 0 # OPTIONAL: individual track LEDs can optionally be assigned to SRs: # they correspond with the BUTTON_DIRECT_TRACK* buttons TRACKS_DOUT_L_SR 0 TRACKS_DOUT_R_SR 0 # sets the debounce delay for low-quality buttons in mS # use low values for high quality buttons - this ensures best latency. # use higher values for lower quality buttons. # Recommended values: # - 0 for high quality buttons (we used it many months w/o complaints) # - 5 is the default # - 20 for low-quality buttons DEBOUNCE_DELAY 5 ################################################## # Optional BLM Matrix ################################################## # set this value to 1 if each track has its own set of 16 LEDs to display unmuted steps and current sequencer position # or if you are using a button/led matrix for misc. button/LED functions BLM_ENABLED 1 # define the shift registers to which the anodes of these LEDs are connected # Note: they can be equal to GP_DOUT_[LH]_SR, this saves two shift registers, but doesn't allow a separate view of UI selections BLM_DOUT_L1_SR 0 BLM_DOUT_R1_SR 0 # define the shift register to which the cathodes of these LEDs are connected # Note that the whole shift register (8 pins) will be allocated! The 4 select lines are duplicated (4 for LED matrix, 4 for button matrix) # The second DOUT_CATHODES2 selection is optional if LEDs with high power consumption are used - set this to 0 if not used BLM_DOUT_CATHODES_SR1 0 BLM_DOUT_CATHODES_SR2 0 # set an inversion mask for the DOUT shift registers if sink drivers (transistors) # have been added to the cathode lines # Settings: 0x00 - no sink drivers # 0xf0 - sink drivers connected to D0..D3 # 0x0f - sink drivers connected to D7..D4 BLM_DOUT_CATHODES_INV_MASK 0x00 # 0: no DUO colour LEDs are connected to the LED matrix (position marker inverts step LED) # 1: DUO colour LEDs are connected to the LED matrix, second LED displays position marker # 2: Like option 1, but the first LED is turned off when the position marker activates the second LED BLM_DOUT_DUOCOLOUR 0 # define the shift registers to which the anodes of the "second colour" (red) LEDs are connected BLM_DOUT_L2_SR 0 BLM_DOUT_R2_SR 0 # set this to 1 if a button matrix is connected BLM_BUTTONS_ENABLED 1 # set this to 1 if these buttons should only control the "step triggers" (gate, and other assigned triggers) - and no UI functions BLM_BUTTONS_NO_UI 1 # optional (only useful in conjunction with the BLM): # if 0: the GP buttons/LEDs are working as usual # if 1: the GP buttons/LEDs always select the page items like if the MENU button is pressed, # the GP LEDs show the selected page (if matching with any of these items) BLM_GP_ALWAYS_SELECT_MENU_PAGE 0 # define the DIN shift registers to which the button matrix is connected BLM_DIN_L_SR 0 BLM_DIN_R_SR 0 ################################################## # Additional 8x8 BLM as used for midiphy Frontpanel ################################################## # set to 1 to enable 8x8 BLM driver BLM8X8_ENABLED 1 # first "A" Matrix: left LeMEC # to which shift register are the select lines connected? # Allowed values: 0 to disable, 1..16 to assign shift register BLM8X8_DOUT_CATHODES_SR 1 # set an inversion mask for the DOUT shift registers if sink drivers (transistors) # have been added to the cathode lines BLM8X8_DOUT_CATHODES_INV_MASK 0xff # set an inversion mask for the DOUT shift registers if source drivers (transistors) # have been added to the anode lines BLM8X8_DOUT_ANODES_INV_MASK 0xff # to which shift register are the LED anode lines connected? # Allowed values: 0 to disable, 1..16 to assign shift register BLM8X8_DOUT_LED_SR 2 # 0: no mapping of 8x8 LEDs # 1: select GP LED -> 8x8 matrix mapping for Wilba's MB-SEQ PCB # 2: select LED mapping for MBSEQ V4L SRIO board # 3: select GP LED -> matrix mapping for midiphy PCB BLM8X8_DOUT_GP_MAPPING 3 # 8x8 matrix for misc. button functions BLM8X8_DIN_SR 2 # second "B" Matrix: right LeMEC BLM8X8B_DOUT_CATHODES_SR 6 BLM8X8B_DOUT_CATHODES_INV_MASK 0xff BLM8X8B_DOUT_ANODES_INV_MASK 0xff BLM8X8B_DOUT_LED_SR 7 BLM8X8B_DIN_SR 5 # third "C" Matrix, JA PCB BLM8X8C_DOUT_CATHODES_SR 8 BLM8X8C_DOUT_CATHODES_INV_MASK 0x00 BLM8X8C_DOUT_ANODES_INV_MASK 0x00 BLM8X8C_DOUT_LED_SR 9 BLM8X8C_DIN_SR 7 ################################################## # Optional BPM digits ################################################## # set to 1 or 2 to enable the 3 optional BPM digits # 0: BPM digits disabled # 1: BPM digits with common cathode # 2: BPM digits with common anode BPM_DIGITS_ENABLED 0 # define the DOUT shift register to which the segments are connected (0=disabled) BPM_DIGITS_SEGMENTS_SR 0 # define the DOUT SR and pin to which the common pins are connected # we are counting from right to left # Example: 140.5 BPM: (COMMON1 = .5, COMMON2=0., COMMON3=4, COMMON4=1) # SR Pin BPM_DIGITS_COMMON1_PIN 0 0 BPM_DIGITS_COMMON2_PIN 0 0 BPM_DIGITS_COMMON3_PIN 0 0 BPM_DIGITS_COMMON4_PIN 0 0 ################################################## # Optional Step digits ################################################## # set to 1 or 2 to enable the 3 optional STEP digits # 0: STEP digits disabled # 1: STEP digits with common cathode # 2: STEP digits with common anode STEP_DIGITS_ENABLED 0 # define the DOUT shift register to which the segments are connected (0=disabled) STEP_DIGITS_SEGMENTS_SR 0 # define the DOUT SR and pin to which the common pins are connected # we are counting from right to left # Example: Step 123: (COMMON1 = 3, COMMON2=2, COMMON3=1) # SR Pin STEP_DIGITS_COMMON1_PIN 0 0 STEP_DIGITS_COMMON2_PIN 0 0 STEP_DIGITS_COMMON3_PIN 0 0 ################################################## # Optional LED Track Position Display # See also http://www.midibox.org/dokuwiki/doku.php?id=tpd_pcb ################################################## # set to 1 or 2 to enable the relative track position display # 0: TPD disabled # 1: TPD enabled - columns are cathodes, rows are anodes # 2: TPD enabled - columns are anodes, rows are cathodes # 3: TPD for midiphy frontpanel enabled - columns are anodes, rows are cathodes, inversion TPD_ENABLED 3 # define the DOUT shift register to which the columns are connected (0=disabled) TPD_COLUMNS_SR_L 3 # for a 16x16 TPD: define the SR to which the right columns are connected (0=disabled, use only 8x8 TPD) TPD_COLUMNS_SR_R 0 # define the DOUT shift register to which the green LED rows are connected (0=disabled) TPD_ROWS_SR_GREEN_L 4 # define the DOUT shift register to which the right green LED rows are connected (0=disabled, use only 8x8 TPD) TPD_ROWS_SR_GREEN_R 5 # define the DOUT shift register to which the red LED rows are connected (0=disabled) TPD_ROWS_SR_RED_L 0 # define the DOUT shift register to which the right red LED rows are connected (0=disabled, use only 8x8 TPD) TPD_ROWS_SR_RED_R 0 ################################################## # CV and Gate/Trigger/Sync Setup ################################################## # AOUT interface now selected in CV Configuration Menu and stored in MBSEQ_GC.V4 file # please scroll through the menu to find this page! # the 32 CV gates can be assigned to a shift register (0=off, 1-32: number of shift register): # - 1st CV Gate available at DOUT SR output D7 # - 2nd CV Gate available at DOUT SR output D6 # - 3rd CV Gate available at DOUT SR output D5 # - ... # - 8th CV Gate available at DOUT SR output D0 CV_GATE_SR1 0 CV_GATE_SR2 0 CV_GATE_SR3 0 CV_GATE_SR4 0 # and DIN Clock Outputs can be assigned to a shift register as well (0=off, 1-32: number of shift register): # D7..D0 will output individual clock or start/stop signals which can be configured in the CV configuration page CLK_SR 0 # additional gate triggers are available on common digital output pins of the # DOUT shift register chain - they are assigned to AOUT channel #16 (Note C-1, C#1, D-1, ...) # define the shift registers which should be used here (each provides 8 gates) # Note that SRs assigned to this function cannot be used as LED outputs (exclusive function) # Allowed values: 1-32, 0 disables the function, all other values invalid and not allowed DOUT_GATE_SR1 0 DOUT_GATE_SR2 0 DOUT_GATE_SR3 0 DOUT_GATE_SR4 0 DOUT_GATE_SR5 0 DOUT_GATE_SR6 0 DOUT_GATE_SR7 0 DOUT_GATE_SR8 0 # should J5A/B/C outputs be enabled (0: no, 1: yes, 2: yes, but in open drain mode)? # - the 6 first AOUT gates will be forwarded to J5A/B # - the remaining last 2 AOUT gates are available at J5C.A10 and J5C.A11 (LPC17: J28.WS and J28.MCLK) # - DIN sync clock will be forwarded to J5C:A0 (LPC17: J28.SDA) # - DIN sync start/stop will be forwarded to J5C:A1 (LPC17: J28.SC) # - if open drain mode enabled (option 2), external pull-ups have to be connected to J5 pins # (advantage: pin levels can be pulled to 5V) # # NEVER USE THIS TOGETHER WITH ANALOG POTS - IT WILL CAUSE A SHORT CIRCUIT! J5_ENABLED 1 ################################################## # LED assignments to DOUT pins # SR = 0: LED disabled # SR = 1..23: directly forwarded to DOUT pin # SR = M1..M8: forwarded to a 8x8 LED matrix # # Please note: due to historical reasons, pin 0-7 # are mirrored! # Pin 0 = DOUT Pin D7 # Pin 1 = DOUT Pin D6 # Pin 2 = DOUT Pin D5 # ... # Pin 7 = DOUT Pin D0 ################################################## # SR Pin LED_TRACK1 0 0 LED_TRACK2 0 0 LED_TRACK3 0 0 LED_TRACK4 0 0 # SR Pin LED_PAR_LAYER_A 0 0 LED_PAR_LAYER_B 0 0 LED_PAR_LAYER_C 0 0 # SR Pin LED_BEAT M5B 0 LED_MEASURE M5B 1 # SR Pin LED_MIDI_IN_COMBINED 0 0 LED_MIDI_OUT_COMBINED 0 0 # SR Pin LED_EDIT M8B 0 LED_MUTE M7C 3 LED_PATTERN M8B 2 LED_SONG M8B 4 LED_PHRASE M7C 2 # SR Pin LED_SOLO M2C 1 LED_FAST M8A 2 LED_FAST2 0 0 LED_ALL M8A 4 # SR Pin LED_GROUP1 0 0 LED_GROUP2 0 0 LED_GROUP3 0 0 LED_GROUP4 0 0 # SR Pin LED_TRG_LAYER_A 0 0 LED_TRG_LAYER_B 0 0 LED_TRG_LAYER_C 0 0 # SR Pin LED_PLAY M5C 0 LED_STOP M4C 0 LED_PAUSE M6C 0 LED_REW M2C 0 LED_FWD M3C 0 LED_LOOP M4C 1 LED_FOLLOW 0 0 # SR Pin LED_EXIT M4B 4 LED_SELECT M8A 6 LED_MENU M4B 6 LED_BOOKMARK M1C 2 LED_SCRUB 0 0 LED_METRONOME M3C 1 LED_RECORD M5C 1 LED_JAM_LIVE 0 0 LED_JAM_STEP 0 0 LED_LIVE M6C 1 LED_UTILITY M8B 6 LED_COPY M4A 0 LED_PASTE M4A 2 LED_CLEAR M4A 4 LED_UNDO 0 0 LED_MOVE M4A 6 LED_SCROLL M8A 0 # SR Pin LED_STEP_VIEW M1C 3 LED_PAR_LAYER_SEL M1C 5 LED_TRG_LAYER_SEL M7C 5 LED_INS_SEL M7C 4 LED_TRACK_SEL M1C 4 # SR Pin LED_TAP_TEMPO 0 0 LED_TEMPO_PRESET 0 0 LED_EXT_RESTART 0 0 # SR Pin LED_DOWN M4B 0 LED_UP M4B 2 # SR Pin LED_MIXER 0 0 # SR Pin LED_TRACK_MODE 0 0 LED_TRACK_GROOVE 0 0 LED_TRACK_LENGTH 0 0 LED_TRACK_DIRECTION 0 0 LED_TRACK_MORPH 0 0 LED_TRACK_TRANSPOSE 0 0 LED_FX 0 0 # SR Pin LED_MUTE_ALL_TRACKS 0 0 LED_MUTE_TRACK_LAYERS 0 0 LED_MUTE_ALL_TRACKS_AND_LAYERS 0 0 LED_UNMUTE_ALL_TRACKS 0 0 LED_UNMUTE_TRACK_LAYERS 0 0 LED_UNMUTE_ALL_TRACKS_AND_LAYERS 0 0 ################################################## # Button assignments to DIN pins # SR = 0: Button disabled # SR = 1..32: directly triggered from DIN pin # SR = M1A..M8A: triggered from the first 8x8 button matrix # SR = M1B..M8B: triggered from the second 8x8 button matrix # SR = M1B..M8B: triggered from the third 8x8 button matrix ################################################## # SR Pin BUTTON_DOWN M4B 0 BUTTON_UP M4B 1 BUTTON_LEFT 0 0 BUTTON_RIGHT 0 0 # SR Pin BUTTON_SCRUB 0 0 BUTTON_METRONOME M3C 1 BUTTON_TAP_TEMPO 0 0 BUTTON_JAM_LIVE 0 0 BUTTON_JAM_STEP 0 0 # SR Pin BUTTON_STOP M4C 0 BUTTON_PAUSE M6C 0 BUTTON_PLAY M5C 0 BUTTON_REW M2C 0 BUTTON_FWD M3C 0 BUTTON_LOOP M4C 1 BUTTON_FOLLOW 0 0 # SR Pin BUTTON_MENU M4B 3 BUTTON_SELECT M8A 7 BUTTON_EXIT M4B 2 # SR Pin BUTTON_TRACK1 0 0 BUTTON_TRACK2 0 0 BUTTON_TRACK3 0 0 BUTTON_TRACK4 0 0 # SR Pin BUTTON_PAR_LAYER_A 0 0 BUTTON_PAR_LAYER_B 0 0 BUTTON_PAR_LAYER_C 0 0 # SR Pin BUTTON_EDIT M8B 4 BUTTON_MUTE M7C 1 BUTTON_PATTERN M8B 5 BUTTON_SONG M8B 6 BUTTON_PHRASE M7C 0 # SR Pin BUTTON_SOLO M2C 1 BUTTON_FAST M8A 5 BUTTON_FAST2 0 0 BUTTON_ALL M8A 6 # SR Pin BUTTON_GP1 M2A 0 BUTTON_GP2 M2A 1 BUTTON_GP3 M2A 2 BUTTON_GP4 M2A 3 BUTTON_GP5 M6A 4 BUTTON_GP6 M6A 5 BUTTON_GP7 M6A 6 BUTTON_GP8 M6A 7 BUTTON_GP9 M2B 0 BUTTON_GP10 M2B 1 BUTTON_GP11 M2B 2 BUTTON_GP12 M2B 3 BUTTON_GP13 M6B 4 BUTTON_GP14 M6B 5 BUTTON_GP15 M6B 6 BUTTON_GP16 M6B 7 # SR Pin BUTTON_GROUP1 0 0 BUTTON_GROUP2 0 0 BUTTON_GROUP3 0 0 BUTTON_GROUP4 0 0 # alternative (individual) track selection buttons # LEDs have to be assigned to TRACKS_DOUT_L_SR and TRACKS_DOUT_R_SR # For midiphy design: these are the selection buttons, TRACKS_DOUT_* ignored (we use predefined BLM8X8_DOUT_GP_MAPPING 3) # SR Pin BUTTON_DIRECT_TRACK1 M3A 0 BUTTON_DIRECT_TRACK2 M3A 1 BUTTON_DIRECT_TRACK3 M3A 2 BUTTON_DIRECT_TRACK4 M3A 3 BUTTON_DIRECT_TRACK5 M7A 4 BUTTON_DIRECT_TRACK6 M7A 5 BUTTON_DIRECT_TRACK7 M7A 6 BUTTON_DIRECT_TRACK8 M7A 7 BUTTON_DIRECT_TRACK9 M3B 0 BUTTON_DIRECT_TRACK10 M3B 1 BUTTON_DIRECT_TRACK11 M3B 2 BUTTON_DIRECT_TRACK12 M3B 3 BUTTON_DIRECT_TRACK13 M7B 4 BUTTON_DIRECT_TRACK14 M7B 5 BUTTON_DIRECT_TRACK15 M7B 6 BUTTON_DIRECT_TRACK16 M7B 7 # SR Pin BUTTON_TRG_LAYER_A 0 0 BUTTON_TRG_LAYER_B 0 0 BUTTON_TRG_LAYER_C 0 0 # SR Pin BUTTON_TRACK_SEL M1C 2 BUTTON_LIVE M6C 1 BUTTON_RECORD M5C 1 BUTTON_SAVE_ALL 0 0 # SR Pin BUTTON_PAR_LAYER_SEL M1C 3 BUTTON_TRG_LAYER_SEL M7C 3 BUTTON_INS_SEL M7C 2 # SR Pin BUTTON_UTILITY M8B 7 BUTTON_COPY M4A 0 BUTTON_PASTE M4A 1 BUTTON_CLEAR M4A 2 BUTTON_UNDO 0 0 BUTTON_MOVE M4A 3 BUTTON_SCROLL M8A 4 BUTTON_BOOKMARK M1C 0 # SR Pin BUTTON_STEP_VIEW M1C 1 # SR Pin BUTTON_EXT_RESTART 0 0 # SR Pin BUTTON_MIXER 0 0 # SR Pin BUTTON_SAVE 0 0 # SR Pin BUTTON_PATTERN_RMX 0 0 # SR Pin BUTTON_FOOTSWITCH 0 0 # SR Pin BUTTON_ENC_BTN_FWD 0 0 # SR Pin BUTTON_TRACK_MODE 0 0 BUTTON_TRACK_GROOVE 0 0 BUTTON_TRACK_LENGTH 0 0 BUTTON_TRACK_DIRECTION 0 0 BUTTON_TRACK_MORPH 0 0 BUTTON_TRACK_TRANSPOSE 0 0 BUTTON_FX 0 0 BUTTON_TEMPO_PRESET 0 0 # SR Pin BUTTON_MUTE_ALL_TRACKS 0 0 BUTTON_MUTE_TRACK_LAYERS 0 0 BUTTON_MUTE_ALL_TRACKS_AND_LAYERS 0 0 BUTTON_UNMUTE_ALL_TRACKS 0 0 BUTTON_UNMUTE_TRACK_LAYERS 0 0 BUTTON_UNMUTE_ALL_TRACKS_AND_LAYERS 0 0 # alternative (individual) bookmark buttons # no LEDs available! # SR Pin BUTTON_DIRECT_BOOKMARK1 0 0 BUTTON_DIRECT_BOOKMARK2 0 0 BUTTON_DIRECT_BOOKMARK3 0 0 BUTTON_DIRECT_BOOKMARK4 0 0 BUTTON_DIRECT_BOOKMARK5 0 0 BUTTON_DIRECT_BOOKMARK6 0 0 BUTTON_DIRECT_BOOKMARK7 0 0 BUTTON_DIRECT_BOOKMARK8 0 0 BUTTON_DIRECT_BOOKMARK9 0 0 BUTTON_DIRECT_BOOKMARK10 0 0 BUTTON_DIRECT_BOOKMARK11 0 0 BUTTON_DIRECT_BOOKMARK12 0 0 BUTTON_DIRECT_BOOKMARK13 0 0 BUTTON_DIRECT_BOOKMARK14 0 0 BUTTON_DIRECT_BOOKMARK15 0 0 BUTTON_DIRECT_BOOKMARK16 0 0 # Encoder buttons (currently hard-coded to FAST function) # SR Pin BUTTON_ENC_DATAWHEEL M8C 2 BUTTON_ENC_BPM 0 0 BUTTON_ENC1 M1A 0 BUTTON_ENC2 M1A 1 BUTTON_ENC3 M1A 2 BUTTON_ENC4 M1A 3 BUTTON_ENC5 M5A 4 BUTTON_ENC6 M5A 5 BUTTON_ENC7 M5A 6 BUTTON_ENC8 M5A 7 BUTTON_ENC9 M1B 0 BUTTON_ENC10 M1B 1 BUTTON_ENC11 M1B 2 BUTTON_ENC12 M1B 3 BUTTON_ENC13 M5B 4 BUTTON_ENC14 M5B 5 BUTTON_ENC15 M5B 6 BUTTON_ENC16 M5B 7 ################################################## # Button behaviour # 0: active mode as long as button pressed # 1: pressing button toggles the mode ################################################## BUTTON_BEH_FAST 1 BUTTON_BEH_FAST2 0 BUTTON_BEH_ALL 1 BUTTON_BEH_SOLO 1 BUTTON_BEH_METRONOME 1 BUTTON_BEH_LOOP 1 BUTTON_BEH_FOLLOW 1 BUTTON_BEH_SCRUB 0 BUTTON_BEH_MENU 0 BUTTON_BEH_MUTE 0 BUTTON_BEH_BOOKMARK 0 BUTTON_BEH_STEP_VIEW 0 BUTTON_BEH_TRG_LAYER 0 BUTTON_BEH_PAR_LAYER 0 BUTTON_BEH_INS_SEL 0 BUTTON_BEH_TRACK_SEL 0 BUTTON_BEH_TEMPO_PRESET 0 ################################################## # Special Behaviour of ALL button # 0: only parameter layers are modified by ALL function # 1: trigger and parameter layers are modified by ALL function ################################################## BUTTON_BEH_ALL_WITH_TRIGGERS 0 ################################################## # Encoder Functions # SR = 0: encoder disabled # SR = 1..16: DIN assignment # Types: NON_DETENTED, DETENTED1, DETENTED2, DETENTED3, DETENTED4, DETENTED5 ################################################## # SR Pin Type ENC_DATAWHEEL 7 7 DETENTED3 # the speed value for the datawheel which is used when the "FAST" button is activated: ENC_DATAWHEEL_FAST_SPEED 3 # SR Pin Type ENC_GP1 1 1 DETENTED3 ENC_GP2 1 3 DETENTED3 ENC_GP3 1 5 DETENTED3 ENC_GP4 1 7 DETENTED3 ENC_GP5 3 1 DETENTED3 ENC_GP6 3 3 DETENTED3 ENC_GP7 3 5 DETENTED3 ENC_GP8 3 7 DETENTED3 ENC_GP9 4 1 DETENTED3 ENC_GP10 4 3 DETENTED3 ENC_GP11 4 5 DETENTED3 ENC_GP12 4 7 DETENTED3 ENC_GP13 6 1 DETENTED3 ENC_GP14 6 3 DETENTED3 ENC_GP15 6 5 DETENTED3 ENC_GP16 6 7 DETENTED3 # the speed value for GP encoders which is used when the "FAST" button is activated: ENC_GP_FAST_SPEED 3 # Auto FAST mode: if a layer is assigned to velocity or CC, the fast button will be automatically # enabled - in other cases (e.g. Note or Length), the fast button will be automatically disabled ENC_AUTO_FAST 1 # optional BPM encoder # SR Pin Type ENC_BPM 0 0 DETENTED3 # the speed value for the BPM encoder which is used when the "FAST" function is activated ENC_BPM_FAST_SPEED 3