Hallo, hatte mal ein ähnliches Problem, hörrt sich für mich nach schlechten Lötstellen an. Probier einfach mal die Eingänge welche Probleme verursachen zur Fehlersuche auf Masse zu legen und dann einen nach dem anderen nochmals überprüfen.
mich beschleicht so langsam der verdacht das encoder nur mit der MB64E machbar sind (in serges Vmidibox64 gibts keine encoder aber in vMidibox64E gibts encoder)
Für was verwendest du den Encoder? Es gibt die Möglichkeit mit ihm im Menü weiter bzw. zurück zu blättern. Du musst dann allerdings eine kleine Änderung in der main.asm vornehmen.
Die Namen der Potis kannst du mit mk_syx ändern. Bei Problemen kannst du mir ja ne PM schicken. Hier ist beschrieben wie´s geht:
wenn der Encoder an Pin 16 und 17 angeschlossen ist (es wird von 0 gezaehlt, hier eine Tabelle: http://www.ucapps.de/mios/mios_din_dout_pin_numbers.txt) Nun kannst Du auch schon in USER_ENC_NotifyChange die Encoder-Events zu MIDI Events umwandeln. Bspw.:
USER_ENC_NotifyChange
;; send Note C-3 on left-turn, and C#3 on right-turn
movlw 0x90 ; Note, Channel #1
call MIOS_MIDI_TxBufferPut
movlw 0x3c ; C-3
IFSET MIOS_PARAMETER2, 7, movlw 0x3d ; C#3
call MIOS_MIDI_TxBufferPut
movlw 0x7f
goto MIOS_MIDI_TxBufferPut
[/code]
Wenn Du die Noten von einem Taster abhaengig machen moechtest, so fuege noch eine Fallunterscheidung ein. Ich nehme an, dass der Schalter an Pin 34 angeschlossen ist:
[code]
USER\_ENC\_NotifyChange
movlw 34 ; check status of pin #34
call MIOS\_DIN\_PinGet
bnz USER\_ENC\_NotifyChange\_1
USER\_ENC\_NotifyChange\_0
;; send Note C-3 on left-turn, and C#3 on right-turn
movlw 0x90 ; Note, Channel #1
call MIOS\_MIDI\_TxBufferPut
movlw 0x3c ; C-3
IFSET MIOS\_PARAMETER2, 7, movlw 0x3d ; C#3
call MIOS\_MIDI\_TxBufferPut
movlw 0x7f
goto MIOS\_MIDI\_TxBufferPut
USER\_ENC\_NotifyChange\_1
;; send Note D-3 on left-turn, and D#3 on right-turn
movlw 0x90 ; Note, Channel #1
call MIOS\_MIDI\_TxBufferPut
movlw 0x3e ; D-3
IFSET MIOS\_PARAMETER2, 7, movlw 0x3f ; D#3
call MIOS\_MIDI\_TxBufferPut
movlw 0x7f
goto MIOS\_MIDI\_TxBufferPut
Das ist in dem Fall ein Problem. Encoder müssen an “gerade” PINs angeschlossen sein. Du solltest also den Encoder auf die Pins 8+9 umlöten und den einen Taster von der 8 auf die 10. Damit wäre der Encoder and SR2, Pin 0 (+1) -> ENC_ENTRY 2, 0, MIOS_ENC_MODE_…
das ist eigentlich kein problem danke, was ich aber noch nicht ganz verstehe ist wenn ich die main.asm überschreibe, reicht es main.hex auf die MB64 zu laden? oder wie bekomme ich die änderungen in meine kiste? über syx.? dazu brauch ich perl wenn ich das richtig verstanden habe (funktioniert bei mir nicht, probiere noch ne andere version) oder bin ich immer noch auf dem holzweg?
ich denke die Grafik erklärt alles…linke seite ungerade gelötet, rechts gerade (von 0 gezählt)
Um deine Applikation auf die Box zu schubsen gehst du vor wie hier beschrieben
…main.asm und mios-tables in MPLAB ändern, speichern, compilieren (dadurch wird das neue .hex und .syx file geschrieben).
Du brauchst aber nur eines davon das Du auf Deine Box lädst, je nachdem wie du vorgehen willst lädst Du das hex mit MIOSStudio oder das syx mit MIDIOX…