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 lot
Greeting from Regensburg (Germany)
J.Holzer
moxi
April 17, 2008, 6:47am
2
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?
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_EOT
and 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.
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: 127
What did i do wrong?
nILS
April 18, 2008, 10:27am
6
* 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”?
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.zip](< base_url >/applications/core/interface/file/attachment.php?id=821)
[Source.zip](< base_url >/applications/core/interface/file/attachment.php?id=3963)
moxi
April 20, 2008, 8:17am
8
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 )..
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?
nILS
April 20, 2008, 12:52pm
10
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?
T.K
April 20, 2008, 4:15pm
11
If the first DIN sends multiple MIDI events, it seems to be a problem with the RC or SC clock line
Some time ago, I wrote a troubleshooting guide which should help to find the wiring or soldering error: http://www.midibox.org/dokuwiki/din_module
Best Regards, Thorsten.
That´s it!
I had a soildering-problem on the SC-line.
Thanx 4 helping!