Hey fellow midiboxers
I start feeling bad, always coming with more problems instead of solutions. But another unsolved mystery in my Midibox_NG (next to operating more than 2 AOUT_NGs) is an odd behavior of my DIO Matrix.
Basically, it is configured like in the example for 8x16 buttons and 8x8 LEDs. In my configuration, I have a couple of rotary switches configured as OnOnly for the different states as wells as some toggle buttons with included LEDs:
the matrix is wired as follows:
and this is how the configuration looks like:
DIN_MATRIX hardware
DIN_MATRIX n=1 rows=8 sr_dout_sel1=1 sr_din1=1 sr_din2=2 button_emu_id_offset=1001
DOUT_MATRIX hardware
DOUT_MATRIX n=1 rows=8 sr_dout_sel1=1 sr_dout_r1=2 led_emu_id_offset=2001
# EVENTs
#MOD BUS
EVENT_BUTTON id= 1001 type=CC button_mode=OnOnly chn= 1 CC= 68 range= 0:0 lcd_pos=1:1:4 label="MW Source Tri "
EVENT_BUTTON id= 1002 type=CC button_mode=OnOnly chn= 1 CC= 68 range= 25:25 lcd_pos=1:1:4 label="MW Source Square "
EVENT_BUTTON id= 1003 type=CC button_mode=OnOnly chn= 1 CC= 68 range= 51:51 lcd_pos=1:1:4 label="MW Source OSC 3 "
EVENT_BUTTON id= 1004 type=CC button_mode=OnOnly chn= 1 CC= 68 range= 76:76 lcd_pos=1:1:4 label="MW Source S&H "
EVENT_BUTTON id= 1005 type=CC button_mode=OnOnly chn= 1 CC= 68 range= 102:102 lcd_pos=1:1:4 label="MW Source ON/MOD2 "
EVENT_BUTTON id= 1006 type=CC button_mode=OnOnly chn= 1 CC= 68 range= 127:127 lcd_pos=1:1:4 label="MW Source Noise/PGM "
EVENT_BUTTON id= 1017 type=CC button_mode=OnOnly chn= 1 CC= 69 range= 0:0 lcd_pos=1:1:4 label="MW Dest Pitch "
EVENT_BUTTON id= 1018 type=CC button_mode=OnOnly chn= 1 CC= 69 range= 25:25 lcd_pos=1:1:4 label="MW Dest OSC 2 "
EVENT_BUTTON id= 1019 type=CC button_mode=OnOnly chn= 1 CC= 69 range= 51:51 lcd_pos=1:1:4 label="MW Dest OSC 3 "
EVENT_BUTTON id= 1020 type=CC button_mode=OnOnly chn= 1 CC= 69 range= 76:76 lcd_pos=1:1:4 label="MW Dest Filt "
EVENT_BUTTON id= 1021 type=CC button_mode=OnOnly chn= 1 CC= 69 range= 102:102 lcd_pos=1:1:4 label="MW Dest Wave "
EVENT_BUTTON id= 1022 type=CC button_mode=OnOnly chn= 1 CC= 69 range= 127:127 lcd_pos=1:1:4 label="MW Dest LFO Rate/PGM"
EVENT_BUTTON id= 1033 type=CC button_mode=OnOnly chn= 1 CC= 70 range= 0:0 lcd_pos=1:1:4 label="MW Shaping Filt "
EVENT_BUTTON id= 1034 type=CC button_mode=OnOnly chn= 1 CC= 70 range= 48:48 lcd_pos=1:1:4 label="MW Shaping Velocity "
EVENT_BUTTON id= 1035 type=CC button_mode=OnOnly chn= 1 CC= 70 range= 80:80 lcd_pos=1:1:4 label="MW Shaping Pressure "
EVENT_BUTTON id= 1036 type=CC button_mode=OnOnly chn= 1 CC= 70 range= 127:127 lcd_pos=1:1:4 label="MW Shaping ON/PGM "
EVENT_BUTTON id= 1037 type=CC button_mode=OnOnly chn= 1 CC= 73 range= 0:0 lcd_pos=1:1:4 label="Ped Shaping Filt "
EVENT_BUTTON id= 1038 type=CC button_mode=OnOnly chn= 1 CC= 73 range= 48:48 lcd_pos=1:1:4 label="Ped Shaping Velocity"
EVENT_BUTTON id= 1039 type=CC button_mode=OnOnly chn= 1 CC= 73 range= 80:80 lcd_pos=1:1:4 label="Ped Shaping Pressure"
EVENT_BUTTON id= 1040 type=CC button_mode=OnOnly chn= 1 CC= 73 range= 127:127 lcd_pos=1:1:4 label="Ped Shaping ON/PGM "
EVENT_BUTTON id= 1049 type=CC button_mode=OnOnly chn= 1 CC= 71 range= 0:0 lcd_pos=1:1:4 label="Ped Source Tri "
EVENT_BUTTON id= 1050 type=CC button_mode=OnOnly chn= 1 CC= 71 range= 25:25 lcd_pos=1:1:4 label="Ped Source Square "
EVENT_BUTTON id= 1051 type=CC button_mode=OnOnly chn= 1 CC= 71 range= 51:51 lcd_pos=1:1:4 label="Ped Source OSC 3 "
EVENT_BUTTON id= 1052 type=CC button_mode=OnOnly chn= 1 CC= 71 range= 76:76 lcd_pos=1:1:4 label="Ped Source S&H "
EVENT_BUTTON id= 1053 type=CC button_mode=OnOnly chn= 1 CC= 71 range= 102:102 lcd_pos=1:1:4 label="Ped Source ON/MOD2 "
EVENT_BUTTON id= 1054 type=CC button_mode=OnOnly chn= 1 CC= 71 range= 127:127 lcd_pos=1:1:4 label="Ped Source Noise/PGM"
EVENT_BUTTON id= 1065 type=CC button_mode=OnOnly chn= 1 CC= 72 range= 0:0 lcd_pos=1:1:4 label="Ped Dest Pitch "
EVENT_BUTTON id= 1066 type=CC button_mode=OnOnly chn= 1 CC= 72 range= 25:25 lcd_pos=1:1:4 label="Ped Dest OSC 2 "
EVENT_BUTTON id= 1067 type=CC button_mode=OnOnly chn= 1 CC= 72 range= 51:51 lcd_pos=1:1:4 label="Ped Dest OSC 3 "
EVENT_BUTTON id= 1068 type=CC button_mode=OnOnly chn= 1 CC= 72 range= 76:76 lcd_pos=1:1:4 label="Ped Dest Filt "
EVENT_BUTTON id= 1069 type=CC button_mode=OnOnly chn= 1 CC= 72 range= 102:102 lcd_pos=1:1:4 label="Ped Dest Wave "
EVENT_BUTTON id= 1070 type=CC button_mode=OnOnly chn= 1 CC= 72 range= 127:127 lcd_pos=1:1:4 label="Ped Dest LFO Rate/PGM"
#OSC
EVENT_BUTTON id= 1009 type=CC button_mode=OnOnly chn= 1 CC= 74 range= 64:64 fwd_id=SENDER:3001 lcd_pos=1:1:4 label="OSC 1 Octave 32 "
EVENT_BUTTON id= 1010 type=CC button_mode=OnOnly chn= 1 CC= 74 range= 65:65 fwd_id=SENDER:3001 lcd_pos=1:1:4 label="OSC 1 Octave 16 "
EVENT_BUTTON id= 1011 type=CC button_mode=OnOnly chn= 1 CC= 74 range= 66:66 fwd_id=SENDER:3001 lcd_pos=1:1:4 label="OSC 1 Octave 8 "
EVENT_BUTTON id= 1012 type=CC button_mode=OnOnly chn= 1 CC= 74 range= 67:67 fwd_id=SENDER:3001 lcd_pos=1:1:4 label="OSC 1 Octave 4 "
EVENT_BUTTON id= 1013 type=CC button_mode=OnOnly chn= 1 CC= 74 range= 68:68 fwd_id=SENDER:3001 lcd_pos=1:1:4 label="OSC 1 Octave 2 "
EVENT_BUTTON id= 1014 type=CC button_mode=OnOnly chn= 1 CC= 74 range= 69:69 fwd_id=SENDER:3001 lcd_pos=1:1:4 label="OSC 1 Octave 1 "
EVENT_BUTTON id= 1025 type=CC button_mode=OnOnly chn= 1 CC= 75 range= 64:64 fwd_id=SENDER:3002 lcd_pos=1:1:4 label="OSC 2 Octave 32 "
EVENT_BUTTON id= 1026 type=CC button_mode=OnOnly chn= 1 CC= 75 range= 65:65 fwd_id=SENDER:3002 lcd_pos=1:1:4 label="OSC 2 Octave 16 "
EVENT_BUTTON id= 1027 type=CC button_mode=OnOnly chn= 1 CC= 75 range= 66:66 fwd_id=SENDER:3002 lcd_pos=1:1:4 label="OSC 2 Octave 8 "
EVENT_BUTTON id= 1028 type=CC button_mode=OnOnly chn= 1 CC= 75 range= 67:67 fwd_id=SENDER:3002 lcd_pos=1:1:4 label="OSC 2 Octave 4 "
EVENT_BUTTON id= 1029 type=CC button_mode=OnOnly chn= 1 CC= 75 range= 68:68 fwd_id=SENDER:3002 lcd_pos=1:1:4 label="OSC 2 Octave 2 "
EVENT_BUTTON id= 1030 type=CC button_mode=OnOnly chn= 1 CC= 75 range= 69:69 fwd_id=SENDER:3002 lcd_pos=1:1:4 label="OSC 2 Octave 1 "
EVENT_BUTTON id= 1041 type=CC button_mode=OnOnly chn= 1 CC= 76 range= 64:64 fwd_id=SENDER:3003 lcd_pos=1:1:4 label="OSC 3 Octave 32 "
EVENT_BUTTON id= 1042 type=CC button_mode=OnOnly chn= 1 CC= 76 range= 65:65 fwd_id=SENDER:3003 lcd_pos=1:1:4 label="OSC 3 Octave 16 "
EVENT_BUTTON id= 1043 type=CC button_mode=OnOnly chn= 1 CC= 76 range= 66:66 fwd_id=SENDER:3003 lcd_pos=1:1:4 label="OSC 3 Octave 8 "
EVENT_BUTTON id= 1044 type=CC button_mode=OnOnly chn= 1 CC= 76 range= 67:67 fwd_id=SENDER:3003 lcd_pos=1:1:4 label="OSC 3 Octave 4 "
EVENT_BUTTON id= 1045 type=CC button_mode=OnOnly chn= 1 CC= 76 range= 68:68 fwd_id=SENDER:3003 lcd_pos=1:1:4 label="OSC 3 Octave 2 "
EVENT_BUTTON id= 1046 type=CC button_mode=OnOnly chn= 1 CC= 76 range= 69:69 fwd_id=SENDER:3003 lcd_pos=1:1:4 label="OSC 3 Octave 1 "
#LFO
EVENT_BUTTON id= 1007 type=CC button_mode=OnOnly chn= 1 CC= 67 range= 0:0 lcd_pos=1:1:4 label="LFO Sync OFF "
EVENT_BUTTON id= 1008 type=CC button_mode=OnOnly chn= 1 CC= 67 range= 48:48 lcd_pos=1:1:4 label="LFO Sync MIDI "
EVENT_BUTTON id= 1015 type=CC button_mode=OnOnly chn= 1 CC= 67 range= 80:80 lcd_pos=1:1:4 label="LFO Sync KB "
EVENT_BUTTON id= 1016 type=CC button_mode=OnOnly chn= 1 CC= 67 range= 127:127 lcd_pos=1:1:4 label="LFO Sync Env Gate "
EVENT_BUTTON id= 1057 type=CC fwd_id=LED:2025 button_mode=Toggle chn= 1 cc= 65 range= 0:127 lcd_pos=1:1:4 label="Glide ^onoff "
EVENT_BUTTON id= 1058 type=CC fwd_id=LED:2026 button_mode=Toggle chn= 1 cc= 77 range= 0:127 lcd_pos=1:1:4 label="1-2 Sync ^onoff "
EVENT_BUTTON id= 1059 type=CC fwd_id=LED:2027 button_mode=Toggle chn= 1 cc= 78 range= 0:127 lcd_pos=1:1:4 label="3-1 FM ^onoff "
EVENT_BUTTON id= 1060 type=CC fwd_id=LED:2028 button_mode=Toggle chn= 1 cc= 90 range= 0:127 lcd_pos=1:1:4 label="5Pulser ^onoff "
EVENT_BUTTON id= 1061 type=CC fwd_id=LED:2029 button_mode=Toggle chn= 1 cc= 95 range= 0:127 lcd_pos=1:1:4 label="2-3 Ring ^onoff "
EVENT_BUTTON id= 1062 type=CC fwd_id=LED:2030 button_mode=Toggle chn= 1 cc= 79 range= 0:127 lcd_pos=1:1:4 label="3 KB Cont ^onoff "
EVENT_BUTTON id= 1063 type=CC fwd_id=LED:2031 button_mode=Toggle chn= 1 cc= 80 range= 0:127 lcd_pos=1:1:4 label="3 Freq ^highlow "
EVENT_BUTTON id= 1073 type=CC fwd_id=LED:2033 button_mode=Toggle chn= 1 cc= 91 range= 0:127 lcd_pos=1:1:4 label="Pulse 3 ^onoff "
EVENT_BUTTON id= 1074 type=CC fwd_id=LED:2034 button_mode=Toggle chn= 1 cc= 92 range= 0:127 lcd_pos=1:1:4 label="Pulse 5 ^onoff "
EVENT_BUTTON id= 1075 type=CC fwd_id=LED:2035 button_mode=Toggle chn= 1 cc= 93 range= 0:127 lcd_pos=1:1:4 label="Pulse 7 ^onoff "
EVENT_BUTTON id= 1076 type=CC fwd_id=LED:2036 button_mode=Toggle chn= 1 cc= 94 range= 0:127 lcd_pos=1:1:4 label="Pulse 9 ^onoff "
EVENT_BUTTON id= 1081 type=CC fwd_id=LED:2041 button_mode=Toggle chn= 1 cc= 81 range= 0:127 lcd_pos=1:1:4 label="External Audio ^onoff "
EVENT_BUTTON id= 1082 type=CC fwd_id=LED:2042 button_mode=Toggle chn= 1 cc= 82 range= 0:127 lcd_pos=1:1:4 label="OSC 1 ^onoff "
EVENT_BUTTON id= 1083 type=CC fwd_id=LED:2043 button_mode=Toggle chn= 1 cc= 83 range= 0:127 lcd_pos=1:1:4 label="OSC 2 ^onoff "
EVENT_BUTTON id= 1084 type=CC fwd_id=LED:2044 button_mode=Toggle chn= 1 cc= 84 range= 0:127 lcd_pos=1:1:4 label="OSC 3 ^onoff "
EVENT_BUTTON id= 1085 type=CC fwd_id=LED:2045 button_mode=Toggle chn= 1 cc= 85 range= 0:127 lcd_pos=1:1:4 label="Noise ^onoff "
EVENT_BUTTON id= 1086 type=CC fwd_id=LED:2046 button_mode=Toggle chn= 1 cc= 86 range= 0:127 lcd_pos=1:1:4 label="Filter Mode ^filmode "
EVENT_BUTTON id= 1087 type=CC fwd_id=LED:2047 button_mode=Toggle chn= 1 cc= 87 range= 0:127 lcd_pos=1:1:4 label="Env Gate ^envgate "
If I reboot the midibox, all buttons and LEDs work as intended. But after a couple of button presses, suddenly two strange things happen:
-
Rotary switches start to lock each other out. If one switch is in position green on the matrix table, the same position in terms of DIN row of other switches is not registered any longer.
-
Switches trigger all button events in the same row (e.g. the ones marked yellow in the matrix table). One small detail is that if this happens, the LEDs of the corresponding buttons are getting brighter, the more switches of this row are in the actual ON position. For example, if ID 1009 suddenly starts to trigger ID1025. 1041, 1057 and 1073, LED 2025 and 2033 switch on. If the second rotary switch is set to the position wit the ID1025, the LEDs 2025 and 2033 get brighter. If I toggle on button 1057 (pressing and releasing it), both LEDs 2025 and 2033 even get brighter. In reverse, if I toggle buttons off, the LEDs get dimmer again. You can actually see differently bright lit LEDs in the picture I took of the front panel mockup.
Now what could the actual problem behind this behavior be? What is strange is, that everything always works after rebooting and suddenly starts, after I pressed a couple of buttons or did a couple of switches. Can it be some capacitive behavior of the ribbon cables I used to connect the switches (some are up to 40cm long) which builds up over time? Or could it have something to do with the fact that the rotary switches trigger one of the 4 to 8 switches in every scan (some kind of stack overflow)? What do you think I could try to get closer to a solution?
I appreciate your thoughts and hints regarding this behavior.
Best regards and a happy weekend
Andy


