Jump to content

ABP Electronics

Members
  • Posts

    30
  • Joined

  • Last visited

Everything posted by ABP Electronics

  1. Hello Midiboxers !!! After 9 years of hibernation, I decided to return to my old midi controller project. I designed several fonts for a previously purchased display, installed the toolchain and compiled the only available version of midibox NG available on github which apperars to be 1.037. Unfortunately, it seems that this version has some bug - the DIO_MATRIX module in combination with DIN_MATRIX does not work properly - each pair of row and column returns one of 8 values - and it should return only one, always the same value. Version 1.036, which can be downloaded from ucapps.de, does not have this bug, but its source code is not available on github. I am asking for help from more experienced users. Regards, Bartosz
  2. Hi Thorsten, I have done some test with this newest firmware. Problems which I mentioned seems to be fixed.... however my test were not as intensive as before due to limited time. There are 2 other problems which I have now. 1st - very difficult to replicate...it happens once for every few hours of using NG firmware. With scan_optimised=1 I had stuck notes twice.....scan doesn't recognize key release - and it doesn't send midi note OFF message. To eliminate possibility of faulty keybed I tried two different Fatar keybeds. I managed to cause this problem with both of them. But as I said - This problem is very difficult to repeat....sometimes I need to hit the keys for 20 minutes to make it happen. It doesn't happen with scan_optimised=0. 2nd problem: Label="Snapshot:%S%3d" For snapshot number 1 I would expect message: Snapshot: 1 It prints : Snapshot:111 I also have a wishlist....but you don't like too many request on 1 shot... so I will post it later. Regards, Bartosz
  3. Hi Thorsten, Thanks for that. I am using STM32F4. Above problem is hard to reproduce, and impossible to reproduce with files which I sent you. There is a 300 ms delay added in the NGR file before meta=DumpSnapshot. With sequence Set, Load, Dump in 1 line of NGC script - it was very easy to reproduce. Anyway - I will test new version this week.. Regards, Bartosz
  4. OK, I understand, Hers are the configuration files: There is workaround applied in NGR file which adds 300 ms delay between "LoadSnapshot" and "DumpSnapshot". With some experiments I have found that it takes around 270 ms to load the snapshot after button is pressed. It helps..but every time my ngc is growing - I need to make this delay bigger... :( Regards, Bartosz Midibox.rar
  5. Hello midiBoxers :smile:, I posted this problem on "MidiBox NG Release + Feedback" topic...but no reply. So, here it is again... I've been testing this firmware for many weeks. I does work but is not very stable and there are some problems as well...which maybe only happen to me :smile: First issue: Here is a part of my code: EVENT_BUTTON id= 1004 button_mode=OnOnly fwd_id=LED:1004 range=1:1 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1005 button_mode=OnOnly fwd_id=LED:1005 range=2:2 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1006 button_mode=OnOnly fwd_id=LED:1006 range=3:3 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1007 button_mode=OnOnly fwd_id=LED:1007 range=4:4 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1008 button_mode=OnOnly type=meta meta=DumpSnapshot meta=SaveSnapshot If I press these buttons very quickly for example changing between 1004 and 1005 then very often I can see on the MIOS Studio: [42560.531] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.063] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.309] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.573] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.630] [FILE] FAILURE: tried to open file '/DEFAULT.NGS' for reading, but previous file hasn't been closed! [42561.644] [FILE] FAILURE: tried to open file '/DEFAULT.NGS' for reading, but previous file hasn't been closed! [42561.873] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS And also - This is really frustrating: [42707.287] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS [42707.314] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS [42707.346] [MBNG_FILE_S] loading snapshot #1 from /DEFAULT.NGS [42707.380] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS [42707.417] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.418] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.420] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.422] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.425] [MBNG_FILE_L] ERROR: failed while reading label P_SL_FA in .BIN file [42707.427] [MBNG_FILE_L] ERROR: failed while reading label P_SO_NO in .BIN file [42707.429] [MBNG_FILE_L] ERROR: failed while reading label P_2_3 in .BIN file [42707.444] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file With above situation - all Conditional labels go "bananas" - I need to reset the whole NG box. My NGL file is not very small - I have more than 260 conditional labels - file size is 8259 bytes. Second issue - also related to Meta Events. I can see that when Meta even is executed it "refreshes" all events and their labels as well. Problem is that I never know what label will be displayed on the screen - in case different labels use this same position of the screen. Example: EVENT_BUTTON id= 1058 fwd_id=LED:1058 button_mode=toggle type=CC cc=87 chn= 14 range= 0:127 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION:^ON_OFF EVENT_BUTTON id= 1059 fwd_id=LED:1059 button_mode=toggle type=CC cc=88 chn= 14 range= 0:1 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION DEC.:^P_SL_FA" EVENT_BUTTON id= 1060 fwd_id=LED:1060 button_mode=toggle type=CC cc=89 chn= 14 range= 0:1 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION LEV:^P_SO_NO" EVENT_BUTTON id= 1061 fwd_id=LED:1061 button_mode=toggle type=CC cc=95 chn= 14 range= 0:1 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION TYPE: ^P_2_3" If I execute: EVENT_BUTTON id= 1004 button_mode=OnOnly fwd_id=LED:1004 range=1:1 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " then any of the above Labels can appear on the screen - completely random. This same rule applies to AINSER and ENC events. Am I missing something again? Regards, Bartosz
  6. Hi Thorsten With first (bad) configuration of ngc script I had button matrix using using the same DOUT shift register as directly connected LED. My understanding is as follow - button matrix was trying to trigger LED which was directly connected to DOUT without matrix. In this situation pin assigned to this LED is set to active. When I changed configuration to LED matrix everything works fine because in matrix configuration LED is never ON - it changes ON/OFF very quickly giving the illusion that is ON.... I don't know how to describe it..... Anyway - button matrix couldn't work correctly because one of the pins was always ON on DOUT module - and this same shift register was used. I have posted more interesting case on "MIDIbox NG release + feedback" topic.... I have found some more interesting studies and some workaround ...but I am not happy with this solution .... Regards, Bartosz
  7. Hi, My testing platform is not really big either. 2xLCD (4x20 characters each), 64 buttons organized in matrix, 64 LED in MATRIX, 1xAINSER64 module - 36 sliders connected so far. 8 buttons connected directly to DIN module, 4 rotary encoders. Software-wise is a bit more complicated. 24 BANKS, 4 sections in NGR script, over 260 conditional labels in NGL script. 4 snapshots so far. Everything works fine except NGS / NGL I am not a software developer - but it seems like NG doesn't have "enough time" to load conditional labels from .BIN file when when the NGS part is being executed. It works OK most of the time - but is no 100 % stable. It can crash anytime....even if just 1 button which calls NGS is pressed. We need TK to check it.... Regards,
  8. Hi TK, Problem solved. No problems with voltage - nice stable 4.97V all time - 4000 mA stabilized power supply. Problem was with my ngc file .... If I write something like: #EVENT_BUTTON id= 1002 fwd_id=LED:2 type=NoteOn chn= 1 key= 39 range= 0:127 offset= 0 ports=10001000000010000000 lcd_pos=1:1:1 label="^std_btn" with: # DOUT_MATRIX hardware DOUT_MATRIX n=1 rows=8 inverted_sel=0 inverted_row=0 mirrored_row=0 led_emu_id_offset=1001 \ sr_dout_sel1= 1 sr_dout_sel2= 0 sr_dout_r1= 2 sr_dout_r2= 0 sr_dout_g1= 0 sr_dout_g2= 0 sr_dout_b1= 0 sr_dout_b2= 0 DOUT_MATRIX n=2 rows=8 inverted_sel=0 inverted_row=0 mirrored_row=0 \ and: # DIN_MATRIX hardware DIN_MATRIX n= 1 rows=8 sr_dout_sel1= 3 sr_din1= 1 button_emu_id_offset=1001 \ inverted_sel=0 inverted_row=0 mirrored_row=0 \ sr_dout_sel2= 0 sr_din2= 0 It doesn't work - even if there is no single physical diode connected. Simply button matrix and Diode use the same sr_dout. With: #EVENT_BUTTON id= 1002 fwd_id=LED:1002 type=NoteOn chn= 1 key= 39 range= 0:127 offset= 0 ports=10001000000010000000 lcd_pos=1:1:1 label="^std_btn" .....Everything works perfect. Regards, Bartosz
  9. Hi Thorsten, I've been testing this firmware for many weeks. I does work but is not very stable and there are some problems as well...which maybe only happen to me :) First issue: Here is a part of my code: EVENT_BUTTON id= 1004 button_mode=OnOnly fwd_id=LED:1004 range=1:1 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1005 button_mode=OnOnly fwd_id=LED:1005 range=2:2 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1006 button_mode=OnOnly fwd_id=LED:1006 range=3:3 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1007 button_mode=OnOnly fwd_id=LED:1007 range=4:4 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " EVENT_BUTTON id= 1008 button_mode=OnOnly type=meta meta=DumpSnapshot meta=SaveSnapshot If I press these buttons very quickly for example changing between 1004 and 1005 then very often I can see on the MIOS Studio: [42560.531] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.063] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.309] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.573] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS [42561.630] [FILE] FAILURE: tried to open file '/DEFAULT.NGS' for reading, but previous file hasn't been closed! [42561.644] [FILE] FAILURE: tried to open file '/DEFAULT.NGS' for reading, but previous file hasn't been closed! [42561.873] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS And also - This is really frustrating: [42707.287] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS [42707.314] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS [42707.346] [MBNG_FILE_S] loading snapshot #1 from /DEFAULT.NGS [42707.380] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS [42707.417] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.418] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.420] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.422] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file [42707.425] [MBNG_FILE_L] ERROR: failed while reading label P_SL_FA in .BIN file [42707.427] [MBNG_FILE_L] ERROR: failed while reading label P_SO_NO in .BIN file [42707.429] [MBNG_FILE_L] ERROR: failed while reading label P_2_3 in .BIN file [42707.444] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file With above situation - all Conditional labels go "bananas" - I need to reset the whole NG box. My NGL file is not very small - I have more than 260 conditional labels - file size is 8259 bytes. Second issue - also related to Meta Events. I can see that when Meta even is executed it "refreshes" all events and their labels as well. Problem is that I never know what label will be displayed on the screen - in case different labels use this same position of the screen. Example: EVENT_BUTTON id= 1058 fwd_id=LED:1058 button_mode=toggle type=CC cc=87 chn= 14 range= 0:127 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION:^ON_OFF EVENT_BUTTON id= 1059 fwd_id=LED:1059 button_mode=toggle type=CC cc=88 chn= 14 range= 0:1 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION DEC.:^P_SL_FA" EVENT_BUTTON id= 1060 fwd_id=LED:1060 button_mode=toggle type=CC cc=89 chn= 14 range= 0:1 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION LEV:^P_SO_NO" EVENT_BUTTON id= 1061 fwd_id=LED:1061 button_mode=toggle type=CC cc=95 chn= 14 range= 0:1 offset= 0 ports=00001000000000000000 lcd_pos=1:21:2 label="PERCUSSION TYPE: ^P_2_3" If I execute: EVENT_BUTTON id= 1004 button_mode=OnOnly fwd_id=LED:1004 range=1:1 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S " then any of the above Labels can appear on the screen - completely random. This same rule applies to AINSER and ENC events. Am I missing something again? Regards, Bartosz
  10. Hi, Strange...seems like I am the only one who uses MidiBox NG with button matrix configuration....or maybe the only one who have this problem. :sad: I have performed few more tests today. Changed all cables connecting modules together - did't help. I have tested configuration with 4x8 , 4x16 and 16x16 buttons. Unfortunately - there is always "bad pair" which crashes the whole button matrix. Can any of you try above configuration and let me know if the problem exist on your side?? I am simply running out of ideas - t took me 3 days trying to find the hardware problem - and no results.... :sad: Regards, Bartosz
  11. Hello again, More detailed investigation.... My hardware: STM32F4 2x DIN Modules 2xDOUT modules I have 2 cores - I could repeat the problem on both of them. I was trying to find the fault on hardware side - I checked my prototyping 8x8 button matrix few times - I couldn't find a problem - so I decided to make another one. I took me few hours to make it, then I checked it again and again - looked good. Connected everything to core - still the same problem. Changed DIN and DOUT boards - still the same. Finally changed core - still the same problem. More detailed investigation: There is always 1 button which starts the problem. Depending on script / hardware configuration - there is always pair of pins which starts the crash. To prove it I used single wire with 1 diode to find which pins they are. Also seems like DOUT module is the one which causes problem - doesn't matter which shift register is selected on DIN module. For this configuration: DIN_MATRIX n= 1 rows=8 sr_dout_sel1= 1 sr_din1= 2 button_emu_id_offset=1001 DOUT:D7 <--> DIN:D0 is a bad pair. Connecting these two with diode will generate stream of messages (on/OFF) as long as the connection is hold. After selecting this pair - the whole first row of the matrix will go crazy - every button will send 1 of 8 numbers assigned to buttons in the row. If any of these buttons is pressed - it will then affect the column as well. For: DIN_MATRIX n= 1 rows=8 sr_dout_sel1= 2 sr_din1= 2 button_emu_id_offset=1001 DOUT:D6 <--> DIN:D1 is a bad pair For: DIN_MATRIX n= 1 rows=8 sr_dout_sel1= 3 sr_din1= 2 button_emu_id_offset=1001 DOUT:D5 <--> DIN:D2 is a bad pair For: DIN_MATRIX n= 1 rows=8 sr_dout_sel1= 4 sr_din1= 2 button_emu_id_offset=1001 DOUT:D4 <--> DIN:D3 is a bad pair Changing sr_din doesn't matter - bad pairs remain the same. I have checked few versions of the firmware: 1.032 Pre1 1.032 1.033 Pre1 1.033 Pre6 1.033 Pre7 All versions have the same problem with bad pairs crashing the whole button matrix. Any help would be very much appreciated, Regards, Bartosz
  12. Hi MidiBoxers, Hi TK, Last time I had a problem with MAPS which didn't accept repeated values - TK solved this problem with version http://www.ucapps.de...v1_033_pre7.zip. Maps now working as expected. But for the moment button MATRIX stopped working completely. Every time I press the button I get 1 of 8 values. I had similar problem before - see my post: TK solved this with version: http://www.ucapps.de...v1_033_pre1.zip Simply: with version pre7 - maps working OK, but Button Matrix doesn't with version pre1 - btton matrix works fine - MAPS don't accept repeated values. I have tested both versions - checked twice and confirmed. here is a part of my ngc file: DIN_MATRIX n= 1 rows=8 sr_dout_sel1= 3 sr_din1= 1 button_emu_id_offset=1001 \ inverted_sel=0 inverted_row=0 mirrored_row=0 \ sr_dout_sel2= 0 sr_din2= 0 works OK with version pre1, doesn't work with pre7. Help needed :smile: :happy: Regards,
  13. Hi there, Here is an idea and the problem which I can't solve. I have few sets of button which change parameters of my synth. These buttons trigger the same CC message with different values. Buttons are type= OnOnly and they forward id to six leds which are in radio group. Here is my script: EVENT_BUTTON id= 37 fwd_id=LED:36 button_mode=OnOnly type=cc chn= 14 cc=84 range= 0:0 EVENT_BUTTON id= 38 fwd_id=LED:37 button_mode=OnOnly type=cc chn= 14 cc=84 range= 26:26 EVENT_BUTTON id= 39 fwd_id=LED:38 button_mode=OnOnly type=cc chn= 14 cc=84 range= 51:51 EVENT_BUTTON id= 40 fwd_id=LED:39 button_mode=OnOnly type=cc chn= 14 cc=84 range= 77:77 EVENT_BUTTON id= 41 fwd_id=LED:40 button_mode=OnOnly type=cc chn= 14 cc=84 range= 102:102 EVENT_BUTTON id= 42 fwd_id=LED:41 button_mode=OnOnly type=cc chn= 14 cc=84 range= 127:127 EVENT_LED id= 36 type=CC chn=14 cc= 84 range= 0:25 radio_group=2 EVENT_LED id= 37 type=CC chn=14 cc= 84 range= 26:50 radio_group=2 EVENT_LED id= 38 type=CC chn=14 cc= 84 range= 51:76 radio_group=2 EVENT_LED id= 39 type=CC chn=14 cc= 84 range= 77:101 radio_group=2 EVENT_LED id= 40 type=CC chn=14 cc= 84 range= 102:126 radio_group=2 EVENT_LED id= 41 type=CC chn=14 cc= 84 range= 127:127 radio_group=2 EVENT_BUTTON id= 70 button_mode=OnOnly type=meta range=1:1 meta=setSnapshot metal=LoadSnapshot EVENT_BUTTON id= 69 button_mode=OnOnly type=meta meta=SaveSnapshot EVENT_BUTTON id= 68 button_mode=OnOnly type=meta meta=dumpSnapshot I tried different configuration of buttons for dump, load, Save....but still have the problem. Idea is to have 2 buttons - 1st will load snapshot from set up current snapshot, load it from NGS file and dump...second have to save currently selected snapshot back to NGS. In this scenario I can modify current snapshot on the fly and save it. Here is the problem - everything works OK with buttons type=Toggle. Buttons with type=OnOnly works strange. Every time I call DumpSnapsot It will give me the last value from the NGC list - in this example I will always get CC=84 with value=127. If I change range for button 42 to =0:0 and button 37 to = 127:127 - it will give me value 0. So - it will always dump the the last value from the .ngc script. I have done small experiment - I removed Radio_group=2 from LED section entry. Now it dumps all values of buttons 37-42 - also in the order they are written in .ngc file. Any ideas how to solve this issue? !!!!!!SOLVED - removed radio_groups from LEDS and set-up radio_group=2 for buttons Regards, Bartosz
  14. My setup is much bigger then you think. I have 2 physical keyboards, every physical keyboard makes 3 EVENT_KB - each assigned to different midi channel. I can play 3 different voices together on each keyboard and switch particular channels on/off during performance . With your idea I will need to make another 12 EVEN_KB to get transposition octave up/ down for each EVENT_KB. To get transposition up/down by semitones I will need 11x6 EVENT_KB. It is a bit of overkill...isn't it? But as you said - it maybe a workaround - but I am sure TK can possibly implement more practical solution. Regards, Bartosz
  15. Hi FantomXR, I don't think it is a solution....it is part of it... With NGR script I can set up minimum / maximum value for the parameter "range" of the keyboard. If we take NGC configuration like: EVENT_KB id=1 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:47 kb_transpose=0 lcd_pos=1:1:1 label="Note %n Chn#1" and then using NGR we set-up: set_min KB:1 48 set_max KB:1 72 Then we got a keyboard which will only respond to keys from range 48-72.... so we have split point. But you can't control parameter called "kb_transpose" this way.... it must be fixed in NGC configuration. We need TK to clarify if I am right. Regards, Bartosz.
  16. Hi TK, Some people already had said that...but I must say it again. You are genius - it works absolutely perfect now!!! I will try to see what is possible with NGR file and conditions with regard to transpose and split function.... thanks FantomXR! Regards, Bartosz
  17. Hi TK, Thanks for a quick reply. I will test this new version this evening an let you know how it goes. I like the speed you make changes...impressive :) Sure - request fro transpose and split is not the highest priority - but it would be nice to have :):): Regards, Bartosz
  18. Hi TK, Thanks for a quick reply. I was trying to find way around it. But it doesn't seem to be easy. Also another request... For EVENT_KB is there any easy way to make keyboard transpose and start key ( for split point) not fixed. I mean these 2 parameters dependent on value of different event? So I can transpose keyboard by +/- semitones by turning encoder or pressing a button? Same with start key.... I think it is fundamental functionality of any keyboard controller. Easy way means - without going into C programming. Best regards, Bartosz
  19. Hello again, I also have done test with button in Toggle mode. EVENT_BUTTON id= 65 button_mode=Toggle type=cc chn=1 cc=20 range=MAP5 MAP5 0 1 2 4 8 16 32 64 This configuration works OK. But this.... EVENT_BUTTON id= 65 button_mode=Toggle type=cc chn=1 cc=20 range=MAP5 MAP5 0 1 2 2 4 8 16 32 64 does't work...it stops on "2" and keeps repeating "2" Any ideas? Regards, Bartosz
  20. Hello MidiBox users, Here is the idea and a problem: I want to use encoder to select different sounds from my sound module. I want to have sounds organised in logical groups like: Pianos,Electric Pianos, Strings...etc. I aslo need to use CC0 for bank changes. I know that ProgramChange is not supported by MAPS, so I have a following idea: Assign 2 EVENT_ENC to 1 hw_id encoder . First Event encoder would change CC#0 using maps, second encoder would use undefined cc to select values from second map : for example cc 14. Number of entries would be the same in both maps. So configuration would look like this: EVENT_ENC id=1 hw_id=1 enc_mode=Absolute range=map1 type=CC ch=2 cc=0 EVENT_ENC id=2 hw_id=1 enc_mode=Absolute range=map2 type=CC ch=2 cc=14 MAP1 64 0 8 16 62 63 64 0 1 2 8 62 63 0 64 0 8 0 64 0 8 62 63 64 0 8 9 64 0 8 MAP2 0 0 0 0 0 0 1 1 1 1 1 1 1 3 6 6 6 7 2 2 2 2 2 4 4 4 4 5 5 5 Now - plan was to use EVENT_RECEIVER and EVENT_SENDER to change second values from CC14 to ProgramChange. This part of the experiment works ok, however there is a problem how encoder "reads" the map. when I turn the encoder - on the first map it only goes to 63 - when it finds repeated value "64" it goes back to first "64" and keeps going :0,8,16,62,63....and back to 64 . On second encoder I only get value 0. I have performed tests with different maps and it always do the same action. Whenever there is repeated value in the MAP - it will go back to to the same value at the beginning of the MAP. For example if we use velocity map: MAP1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 \ 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 \ 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 \ 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 \ 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 \ 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 \ 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 \ 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 Highest value I can get is 96. After this value encoder will only repeat 96. Is there any way that encoder can accept the same value twice in the MAP? I tried different versions of firmware....always the same results. Regards,
  21. Hi Thorsten, It is working OK now :smile: !!! Thanks for that, Regards, Bartosz
  22. Hi Thorsten, I have removed DebounceCtr 20. It didn't solve the problem with button matrix. Here is what I have on MiosStudio Monitor. First button pressed in the matrix: [588201.217] 9f 18 40 Chn#16 Note On C-0 Vel:64 [588201.219] 9f 28 40 Chn#16 Note On E-1 Vel:64 [588201.222] 9f 20 40 Chn#16 Note On G#0 Vel:64 [588201.224] 9f 30 40 Chn#16 Note On C-2 Vel:64 [588205.998] 9f 28 00 Chn#16 Note Off E-1 (optimized) [588206.000] 9f 18 00 Chn#16 Note Off C-0 (optimized) [588206.003] 9f 30 00 Chn#16 Note Off C-2 (optimized) [588206.005] 9f 20 00 Chn#16 Note Off G#0 (optimized) Press again - same notes: [588269.016] 9f 30 40 Chn#16 Note On C-2 Vel:64 [588269.019] 9f 20 40 Chn#16 Note On G#0 Vel:64 [588269.022] 9f 18 40 Chn#16 Note On C-0 Vel:64 [588269.024] 9f 28 40 Chn#16 Note On E-1 Vel:64 [588270.577] 9f 20 00 Chn#16 Note Off G#0 (optimized) [588270.579] 9f 30 00 Chn#16 Note Off C-2 (optimized) [588270.582] 9f 28 00 Chn#16 Note Off E-1 (optimized) [588270.585] 9f 18 00 Chn#16 Note Off C-0 (optimized) With version 1.031 only 1 note goes ON/OFF - C2. Like this: [588819.666] 9f 18 40 Chn#16 Note On C-0 Vel:64 [588821.740] 9f 18 00 Chn#16 Note Off C-0 (optimized) I have also removed incorrect parameter from EVENT_BUTTON_MATRIX line.... I had "BUTTON_MATRIX_MODE-OnOff" - this parameter doesn't exist. It did not help either. I also can see many errors when I upload my ngc file (regardless of version of firmware)... I don't understand why I am getting these errors: [595227.619] [FILE] Uploading /DEFAULT.NGC with 43033 bytes [595228.114] [FILE] Upload of 43033 bytes in progress (23%) [595228.648] [FILE] Upload of 43033 bytes in progress (47%) [595229.163] [FILE] Upload of 43033 bytes in progress (71%) [595229.666] [FILE] Upload of 43033 bytes in progress (95%) [595229.913] [FILE] Upload of 43033 bytes finished. [595229.914] AUTOLOAD 'DEFAULT' [595229.914] [MBNG_FILE_C:14] ERROR: missing '=' after EVENT_BUTTON ... #rotor [595229.914] [MBNG_FILE_C:15] ERROR: missing '=' after EVENT_BUTTON ... #rotor [595229.915] [MBNG_FILE_C:16] ERROR: missing '=' after EVENT_BUTTON ... #rotor [595229.916] [MBNG_FILE_C:17] ERROR: missing '=' after EVENT_BUTTON ... #V/C [595229.916] [MBNG_FILE_C:18] ERROR: missing '=' after EVENT_BUTTON ... #V1 [595229.918] [MBNG_FILE_C:19] ERROR: missing '=' after EVENT_BUTTON ... #C1 [595229.918] [MBNG_FILE_C:20] ERROR: missing '=' after EVENT_BUTTON ... #V2 [595229.918] [MBNG_FILE_C:21] ERROR: missing '=' after EVENT_BUTTON ... #C2 [595229.920] [MBNG_FILE_C:22] ERROR: missing '=' after EVENT_BUTTON ... #V3 [595229.920] [MBNG_FILE_C:23] ERROR: missing '=' after EVENT_BUTTON ... #C3 [595229.921] [MBNG_FILE_C:24] ERROR: missing '=' after EVENT_BUTTON ... #percussion [595229.922] [MBNG_FILE_C:25] ERROR: missing '=' after EVENT_BUTTON ... #percussion [595229.922] [MBNG_FILE_C:26] ERROR: missing '=' after EVENT_BUTTON ... #percussion [595229.923] [MBNG_FILE_C:27] ERROR: missing '=' after EVENT_BUTTON ... #percussion [595229.924] [MBNG_FILE_C:28] ERROR: missing '=' after EVENT_BUTTON ... #rotor [595229.924] [MBNG_FILE_C:29] ERROR: missing '=' after EVENT_BUTTON ... #piano [595229.925] [MBNG_FILE_C:30] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.926] [MBNG_FILE_C:31] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.927] [MBNG_FILE_C:32] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.927] [MBNG_FILE_C:33] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.928] [MBNG_FILE_C:34] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.928] [MBNG_FILE_C:35] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.929] [MBNG_FILE_C:36] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.930] [MBNG_FILE_C:37] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.931] [MBNG_FILE_C:38] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.931] [MBNG_FILE_C:39] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.932] [MBNG_FILE_C:40] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.932] [MBNG_FILE_C:41] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.932] [MBNG_FILE_C:42] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.934] [MBNG_FILE_C:43] ERROR: missing '=' after EVENT_BUTTON ... #Arr [595229.935] [MBNG_FILE_C:46] ERROR: missing '=' after EVENT_BUTTON_MATRIX ... #Note [595229.935] [MBNG_FILE_C:51] ERROR: missing '=' after EVENT_LED ... #rotor [595229.936] [MBNG_FILE_C:52] ERROR: missing '=' after EVENT_LED ... #rotor [595229.936] [MBNG_FILE_C:53] ERROR: missing '=' after EVENT_LED ... #V/C [595229.936] [MBNG_FILE_C:54] ERROR: missing '=' after EVENT_LED ... #V1 [595229.936] [MBNG_FILE_C:55] ERROR: missing '=' after EVENT_LED ... #C1 [595229.936] [MBNG_FILE_C:56] ERROR: missing '=' after EVENT_LED ... #V2 [595229.937] [MBNG_FILE_C:57] ERROR: missing '=' after EVENT_LED ... #C2 [595229.937] [MBNG_FILE_C:58] ERROR: missing '=' after EVENT_LED ... #V3 [595229.938] [MBNG_FILE_C:59] ERROR: missing '=' after EVENT_LED ... #C3 [595229.939] [MBNG_FILE_C:60] ERROR: missing '=' after EVENT_LED ... #percussion [595229.939] [MBNG_FILE_C:61] ERROR: missing '=' after EVENT_LED ... #percussion [595229.940] [MBNG_FILE_C:62] ERROR: missing '=' after EVENT_LED ... #percussion [595229.940] [MBNG_FILE_C:63] ERROR: missing '=' after EVENT_LED ... #percussion [595229.940] [MBNG_FILE_C:64] ERROR: missing '=' after EVENT_LED ... #percussion [595229.941] [MBNG_FILE_C:65] ERROR: missing '=' after EVENT_LED ... #percussion [595229.942] [MBNG_FILE_C:66] ERROR: missing '=' after EVENT_LED ... #percussion [595229.944] [MBNG_FILE_C:67] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.944] [MBNG_FILE_C:68] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.945] [MBNG_FILE_C:69] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.946] [MBNG_FILE_C:70] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.946] [MBNG_FILE_C:71] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.946] [MBNG_FILE_C:72] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.946] [MBNG_FILE_C:73] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.946] [MBNG_FILE_C:74] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.947] [MBNG_FILE_C:75] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.947] [MBNG_FILE_C:76] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.947] [MBNG_FILE_C:77] ERROR: missing '=' after EVENT_LED ... #Feedback [595229.948] [MBNG_FILE_C:78] ERROR: missing '=' after EVENT_LED ... #Feedback [595230.003] [MBNG_FILE_C:79] ERROR: missing '=' after EVENT_LED ... #Feedback [595230.003] [MBNG_FILE_C:80] ERROR: missing '=' after EVENT_LED ... #Feedback [595230.003] [MBNG_FILE_C:167] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.004] [MBNG_FILE_C:168] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.004] [MBNG_FILE_C:169] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.005] [MBNG_FILE_C:170] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.005] [MBNG_FILE_C:171] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.006] [MBNG_FILE_C:172] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.007] [MBNG_FILE_C:173] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.007] [MBNG_FILE_C:174] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.008] [MBNG_FILE_C:175] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.009] [MBNG_FILE_C:176] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.010] [MBNG_FILE_C:177] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.010] [MBNG_FILE_C:178] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.010] [MBNG_FILE_C:179] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.012] [MBNG_FILE_C:180] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.012] [MBNG_FILE_C:181] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.013] [MBNG_FILE_C:182] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.013] [MBNG_FILE_C:183] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.015] [MBNG_FILE_C:184] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.015] [MBNG_FILE_C:185] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.016] [MBNG_FILE_C:186] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.016] [MBNG_FILE_C:187] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.016] [MBNG_FILE_C:187] ERROR: missing '=' after EVENT_AINSER ... # [595230.018] [MBNG_FILE_C:188] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.018] [MBNG_FILE_C:188] ERROR: missing '=' after EVENT_AINSER ... # [595230.018] [MBNG_FILE_C:189] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.018] [MBNG_FILE_C:189] ERROR: missing '=' after EVENT_AINSER ... # [595230.019] [MBNG_FILE_C:190] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.019] [MBNG_FILE_C:190] ERROR: missing '=' after EVENT_AINSER ... # [595230.019] [MBNG_FILE_C:191] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.103] [MBNG_FILE_C:192] ERROR: invalid min value in EVENT_AINSER ... range=-16385 [595230.103] [MBNG_FILE_C:193] WARNING: unsupported parameter in EVENT_AINSER ... resolution=7bit [595230.104] [MBNG_FILE_C:470] ERROR: missing '=' after ROUTER ... # [595230.116] Init DHCP [595230.117] [MBNG_FILE_C] Event Pool Number of Items: 215 [595230.117] [MBNG_FILE_C] Event Pool Allocation: 7983 of 65536 bytes (12%) [595230.127] [MBNG_FILE_L] DEFAULT.NGL hasn't been changed; reading labels from existing DEFAULT.BIN file. [595230.128] [MBNG_FILE_L] 0 labels found in /DEFAULT.BIN file [595230.128] [MBNG_FILE_S] snapshot #0 not stored in /DEFAULT.NGS yet [595230.128] Patch 'DEFAULT' loaded from SD Card! [595230.260] [MBNG_FILE_R] /DEFAULT.NGR (optional run script) not found Sorry for a long post, Regards, Bartosz
  23. Hi Thorsten, OK - I will try your suggestions. I will first try to get cables only as short as it is really necessary. First cables were done way too long...just in case I would need to move modules. Starlike SRIO wiring... do you mean DIN (in)<<-->>DIO_MATRIX (out)<<-->>DOUT ? 3 plugs on 1 cable where DIO_MATRIX is in the middle? Re power supply: I originally started with supply from USB - but after connecting 20 pots and some 20 LEDS I had a massive voltage drop down to 4.5V. I had some leds pulsing randomly at that time. After changing to stabilized 5v PSU - situation was even worse - LEDS which were working ok started to respond strange way - like 2 LEDS On at the some time when it was supposed to be only 1. Now PSU holds 5V in any conditions. Then I changed the order of the chain as you can see in my previous post. Situation came back to normal (except matrix button). 1 thing which I need to mention - problem with button matrix is not like random behavior. I always have the same results - 1 button pressed = 4 notes ON at the time and always the same notes - like 4 rows are active at the same time. Line drivers - very nice boards. i hope I will not need these - maybe wise positioning of DIN / DOUT board will solve the problem. Regards, Bartosz
  24. Hi Thorsten, Here is my default.ngc file. Nothing special - it is just standard default.ngc file which I modify adding or removing options. Regarding the length of cables between modules - I don't really know what should be maximum recommended length. All I can see on the forum: shorter=better. In fact I will need some long cables due to the construction of the front panel. I will have some buttons / LEDS on the right hand side and also some on the left. So - in practice I will need to link right and left somehow- about 50 cm. Here is the actual setup: STMF4-> 15cm->DIO_MATRIX1->5cm->DIO_MATRIX2->40cm->DIN1->30cm->DOUT1->40cm->DIN2->15cm->DOUT2. DIN2 and DOUT2 are not fully assigned to physical buttons - only few pins used on each board. This configuration works fine with ver 1.031 after DIN2 / DOUT2 were moved to the end of the chain. Question1: does the length of wires from DIN / DOUT modules to buttons / LEDs matters? Question2: what maximum length of cables between modules would you recommend? Regards, Bartosz default.rar
  25. Hi Thorsten, Thanks for your reply. Here are results: 1_032_pre1 - button matrix works OK 1_032_pre2 - button matrix doesn't work OK 1_032_pre3 - button matrix doesn't work OK 1_032_pre4 - button matrix doesn't work OK Regards, Bartosz
×
×
  • Create New...