I have some strange situation with DIN module. device sends wrong commands.
source:
void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam
{
// a button has been pressed, send Note at channel 1
MIOS_MIDI_BeginStream();
MIOS_MIDI_TxBufferPut(0x90); // Note at channel 1
MIOS_MIDI_TxBufferPut(pin); // pin number corresponds to note number
MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); // buttons are high-active
MIOS_MIDI_EndStream();
}
reaction on button press:
1st SR
pins:
1: [90 00 7F] Channel 1: Note On C-1 velocity: 127
[90 00 00] Channel 1: Note On C-1 velocity: 0
2: [90 01 7F] Channel 1: Note On C#-1 velocity: 127
[90 01 00] Channel 1: Note On C#-1 velocity: 0
3: no reaction
4: no reaction
5: no reaction
6: [b0 4C 3D] Channel 1: CC Sound Controller 7 value: 61 (only on button release)
7: no reaction
8: no reaction
2nd SR - all pins work fine
3rd SR
pins 1 and 2 - work fine
3: [b0 3A 3F] Channel 1: CC LSB 26 (Undefined) value: 63
[b0 3A 41] Channel 1: CC LSB 26 (Undefined) value: 65
4: [b0 3A 41] Channel 1: CC LSB 26 (Undefined) value: 65
[b0 3A 3F] Channel 1: CC LSB 26 (Undefined) value: 63
5,6,7,8 - work fine
4th SR
pins 5,6,7,8 - work fine
pins 1,2,3,4 only react on button release and send random commands.