jholzer Posted April 16, 2008 Report Share Posted April 16, 2008 Hi!I have a DIN-Module that should be connected to 4 Encoders plus 24 Buttons.I tried to configure, but unfortunately i only got MIDI-signals from the very first pin of the first IC (J3)When i connect an encoder to J3, it reacts like a button (DIN_NotifyToggle). The same when i connect a button to J3.What is kind of weird is, that not only one single MIDI-event is sent, but events for all MIDI-Notes (at least, that´s what it seems like)Connection to any other pin than J3 does nothing at all.So i guess i have to do some configuration in MIOS. But i couldn´t figure out what...The question is:How do i configure MIOS to work with this mixture?I hope anyone can help me!Thanx a lotGreeting from Regensburg (Germany)J.Holzer Quote Link to comment Share on other sites More sharing options...
moxi Posted April 17, 2008 Report Share Posted April 17, 2008 have you declared all encoders in the mios_table.inc file (in the mios_wrapper folder)?have you set the right number of SR at the beginning of the main.c file of your app? Quote Link to comment Share on other sites More sharing options...
jholzer Posted April 17, 2008 Author Report Share Posted April 17, 2008 Hi!My Encoder-table looks like this:MIOS_ENC_PIN_TABLE ;; encoders 1-16 ;; SR Pin Mode ENC_ENTRY 1, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 1 ENC_ENTRY 1, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 2 ENC_ENTRY 1, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 3 ENC_ENTRY 1, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 4 ENC_EOT ENC_EOT ENC_EOT ENC_EOTand in Init i copied a passage from an example: //Buttons // set shift register update frequency MIOS_SRIO_UpdateFrqSet(1); // ms // we need to set at least one IO shift register pair MIOS_SRIO_NumberSet(16); // for 128 pins // debouncing value for DINs MIOS_SRIO_DebounceSet(10);I don´t know if this config is right as i´m using just one DIN which has 4 ICs. Quote Link to comment Share on other sites More sharing options...
dstamand Posted April 17, 2008 Report Share Posted April 17, 2008 MIOS_SRIO_NumberSet(4); // for 32 pins I don´t know if this config is right as i´m using just one DIN which has 4 ICs.Use 4 = Din_4x module. Quote Link to comment Share on other sites More sharing options...
jholzer Posted April 17, 2008 Author Report Share Posted April 17, 2008 I tried this. But no change at all...When pushing a button connected to the only working pin i get the following messages (copied from MIOS Studio): 00000000202407 ms | [90 08 7F] Channel 1: Note On G#-1 velocity: 127 00000000202409 ms | [90 09 7F] Channel 1: Note On A-1 velocity: 127 00000000202420 ms | [90 0A 7F] Channel 1: Note On A#-1 velocity: 127 00000000202422 ms | [90 0B 7F] Channel 1: Note On B-1 velocity: 127 00000000202433 ms | [90 0C 7F] Channel 1: Note On C0 velocity: 127 00000000202437 ms | [90 0D 7F] Channel 1: Note On C#0 velocity: 127 00000000202446 ms | [90 0E 7F] Channel 1: Note On D0 velocity: 127 00000000202448 ms | [90 0F 7F] Channel 1: Note On D#0 velocity: 127 00000000202459 ms | [90 10 7F] Channel 1: Note On E0 velocity: 127 00000000202461 ms | [90 11 7F] Channel 1: Note On F0 velocity: 127 00000000202472 ms | [90 12 7F] Channel 1: Note On F#0 velocity: 127 00000000202474 ms | [90 13 7F] Channel 1: Note On G0 velocity: 127 00000000202485 ms | [90 14 7F] Channel 1: Note On G#0 velocity: 127 00000000202488 ms | [90 15 7F] Channel 1: Note On A0 velocity: 127 00000000202498 ms | [90 16 7F] Channel 1: Note On A#0 velocity: 127 00000000202500 ms | [90 17 7F] Channel 1: Note On B0 velocity: 127 00000000202511 ms | [90 18 7F] Channel 1: Note On C1 velocity: 127 00000000202513 ms | [90 19 7F] Channel 1: Note On C#1 velocity: 127 00000000202524 ms | [90 1A 7F] Channel 1: Note On D1 velocity: 127 00000000202526 ms | [90 1B 7F] Channel 1: Note On D#1 velocity: 127 00000000202537 ms | [90 1C 7F] Channel 1: Note On E1 velocity: 127 00000000202539 ms | [90 1D 7F] Channel 1: Note On F1 velocity: 127 00000000202550 ms | [90 1E 7F] Channel 1: Note On F#1 velocity: 127 00000000202555 ms | [90 1F 7F] Channel 1: Note On G1 velocity: 127What did i do wrong? Quote Link to comment Share on other sites More sharing options...
nILS Posted April 18, 2008 Report Share Posted April 18, 2008 * What application do you use?* Can you either zip and attach or post your source code?* What do you mean by the "only working pin"? Quote Link to comment Share on other sites More sharing options...
jholzer Posted April 18, 2008 Author Report Share Posted April 18, 2008 Hi!I use a self-made application based on MIOS and the C-skeleton.Attached is a ZIP containing the main.c and mios_tables.inc that i modified from the skeleton.There is 1 DIN4X and 1 AIN4x (not tested yet).On DIN the shall be 4 Encoders on the first 8 pins, the other 24 pins are connected to Buttons.Source.zipSource.zip Quote Link to comment Share on other sites More sharing options...
moxi Posted April 20, 2008 Report Share Posted April 20, 2008 i'm not sure but it seems that your app send midi data even when encoder don't move (-->if incrementer > 0... else .. (so else is when incrementer == 0 too ).. Quote Link to comment Share on other sites More sharing options...
jholzer Posted April 20, 2008 Author Report Share Posted April 20, 2008 No.It only sends if a encoder is moved.The problem is, that only the very first pin acts like a button.All Midi-Events come from DIN_NotifyToggle, i got no event from ENC_NotifyChange, where they should come from if the pin is <8 (=> encoder-table>.And DIN_NotifyToggle sends not one event (i tried this also with a button conntected to pin 1) but many (see post from 17-04-2008, 23:13:03).Looks like the shift registers are not shifting. But why? Quote Link to comment Share on other sites More sharing options...
nILS Posted April 20, 2008 Report Share Posted April 20, 2008 i'm not sure but it seems that your app send midi data even when encoder don't move (-->if incrementer > 0... else .. (so else is when incrementer == 0 too )..Basically correct, but the function isn't even called by MIOS when no encoder is moved ;)All Midi-Events come from DIN_NotifyToggle, i got no event from ENC_NotifyChange, where they should come from if the pin is <8 (=>encoder-table>.So the DINx works well for buttons, just not for your encoders? What encoders are those? Quote Link to comment Share on other sites More sharing options...
TK. Posted April 20, 2008 Report Share Posted April 20, 2008 If the first DIN sends multiple MIDI events, it seems to be a problem with the RC or SC clock lineSome time ago, I wrote a troubleshooting guide which should help to find the wiring or soldering error: http://www.midibox.org/dokuwiki/din_moduleBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
jholzer Posted April 21, 2008 Author Report Share Posted April 21, 2008 That´s it!I had a soildering-problem on the SC-line.Thanx 4 helping! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.