avogra Posted October 22, 2009 Author Report Share Posted October 22, 2009 Hallo, so, jetzt hab ich mich endlich mal an die versprochene Grafik für die neuen Encoder-Modes gemacht. Ist das so verständlich? Soll ich den Teil für die Custom modes so drin lassen oder lieber als extra eintrag in die wiki? Grüße, Alex 1 Quote Link to comment Share on other sites More sharing options...
veermaster Posted July 4, 2011 Report Share Posted July 4, 2011 Liebe Leute, ist es möglich, das Verhalten meiner Encoder softwaremäßig umzukehren/"umzupolen", also einen Increment Befehl in einen Decrement Befehl und anders herum zu wandeln? Ich habe gestern meine fertig geätzten Platinen für meine Midibox LC bekommen, und mußte feststellen, daß die Encoder zwar funktionieren, aber bei der Steuerung der Pans meiner DAW falsch "gepolt" sind (Linksdrehung läßt den Pan Regler nach rechts wandern...). Anstatt auf meiner Platine die Leiterbahnen durch zu schneiden und Litzenverbindungen zu löten, würde ich lieber eleganter vorgehen. Wo genau muß ich da ansetzen, im MIOS oder in der LC Applikation (oder gar beides)? Vielen Dank im Voraus, Emre Quote Link to comment Share on other sites More sharing options...
veermaster Posted July 4, 2011 Report Share Posted July 4, 2011 Ich denke, ich hab es hinbekommen. Ich habe einfach folgenden Block im mios_enc.inc wie folgt geändert: ;; if Bit N of ENC_MODE is set, according ENC_STAT triggers Do_Inc / Do_Dec ;; ;; Bit N 7 6 5 4 ;; ENC_STAT 8 E 7 1 ;; DEC <- <- <- <- ;; Pin A ____|-------|_______ ;; Pin B ________|-------|___ ;; INC -> -> -> -> ;; ENC_STAT 2 B D 4 ;; Bit N 0 1 2 3 ;; Binary tree translates ENC_STAT to N and calls Do_Inc / Do_Dec, if ;; related bit N is set ;; This method is based on ideas from Avogra ;; MEMO: IRQ_TMP4 = ENC_STAT, TABLAT = ENC_MODE BRA_IFSET IRQ_TMP4, 3, ACCESS, MIOS_ENC_Do_89ABCDEF MIOS_ENC_Do_01234567 BRA_IFSET IRQ_TMP4, 2, ACCESS, MIOS_ENC_Do_4567 MIOS_ENC_Do_0123 BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_23 MIOS_ENC_Do_01 ;; 0: Do_Nothing ;; 1: Do_Dec BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 4, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_23 ;; 2: Do_Inc ;; 3: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 0, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_4567 BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_67 MIOS_ENC_Do_45 ;; 4: Do_Inc ;; 5: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 3, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_67 ;; 6: Do_Nothing ;; 7: Do_Dec BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 5, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_89ABCDEF BRA_IFSET IRQ_TMP4, 2, ACCESS, MIOS_ENC_Do_CDEF MIOS_ENC_Do_89AB BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_AB MIOS_ENC_Do_89 ;; 8: Do_Dec ;; 9: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 7, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_AB ;; A: Do_Nothing ;; B: Do_Inc BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 1, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_CDEF BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_EF MIOS_ENC_Do_CD ;; C: Do_Nothing ;; D: Do_Inc BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 2, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_EF ;; E: Do_Dec ;; F: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 6, ACCESS, MIOS_ENC_Do_Inc ;; rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_Nothing MIOS_ENC_Do_Return tblrd*- ; switch back to first byte of entry tblrd* rgoto MIOS_ENC_AtomicHandler_Return Dabei habe ich immer MIOS_ENC_Do_Dec und MIOS_ENC_Do_Inc miteinander ausgewechselt. Weiß zwar nicht, ob das der "richtige Weg" ist, aber meine Pan Regler funktionieren jetzt wie gewollt. Grüße, Emre 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.