W0tu Posted September 27, 2007 Report Share Posted September 27, 2007 hallo zusammenhab heute endlich alles fertig gelötet und eingeschaltetaber auf dem display erscheint "chorus#16" mit zufälligen parameterwerten, habe alle 64 potis wie beschrieben verbunden ich weiß einfach nicht was ich übersehen habe.hat jemand einen rat?gruß sebi Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 27, 2007 Author Report Share Posted September 27, 2007 bin fast am verzweifeln :-\laut MIOS studio senden meine MB in den Kanälen: 13 - 16, die controller: 93, zufällige signaledie anderen potis scheinen zu funktioniernhabe aber alle gleich verlötet und alles an masse gehängtich weiß einfach nicht was ich da noch machen kann ??? Quote Link to comment Share on other sites More sharing options...
midiboxxer Posted September 27, 2007 Report Share Posted September 27, 2007 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.GrußMarkus Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 28, 2007 Author Report Share Posted September 28, 2007 puh!! nur nicht hysterisch werden. habe den fehler endlich gefunden ein kabel war hinüber, ausgetauscht und es funktioniert ;Dbis auf den encoder, nur ein stück, den ich zu den restlichen buttons gelötet habe.wie erkennt der core das es sich um einen encoder handelt ???und noch eine newbie frage wie kann ich die benennung der potis ändern?danke wotu Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 28, 2007 Author Report Share Posted September 28, 2007 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)sagt mir bitte das ich mich irre Quote Link to comment Share on other sites More sharing options...
midiboxxer Posted September 28, 2007 Report Share Posted September 28, 2007 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:http://www.ucapps.de/howto_tools_mbsyx.htmlGrußMarkus Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 28, 2007 Author Report Share Posted September 28, 2007 brauche den encoder um in live scenen auszuwählen und zu starten er sollte in beide richtungen, und wenn mann drauf drückt andere noteOn befehle senden.also wie drei buttonswie ändert man die main.asmGrußSebi Quote Link to comment Share on other sites More sharing options...
TK. Posted September 28, 2007 Report Share Posted September 28, 2007 Da laesst sich etwas zurechtbasteln.In mios_tables.inc musst Du die Pinbelegung des Encoders eintragen. Am besten ersetzt Du:#if DEFAULT_ENC_DATAWHEEL < 0 ENC_EOT#else[/code] durch: [code]#if DEFAULT_ENC_DATAWHEEL < 0 ENC_ENTRY 5, 0, MIOS_ENC_MODE_DETENTED ; Data Wheel#else 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_1USER_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_TxBufferPutUSER_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_TxBufferPutGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 28, 2007 Author Report Share Posted September 28, 2007 wow :o das ist eine antwort.hoffe das ich das noch durchschaue wo oder was ist mios_tables.inc?danke thorstendafür das du es möglich machst die egenen vorstelungen vom musizieren umzusetzendiese internetseite war für mich eine offenbahrung ;D(wieviel zeit habe ich verschwendet um den perfekten midikontroler zu finden? ::))grußSebi Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 28, 2007 Author Report Share Posted September 28, 2007 mios_tables.inc hab ich gefundenund#if DEFAULT_ENC_DATAWHEEL < 0 ENC_EOT#elsehab ich um geändert kann aber "USER_ENC_NotifyChange" nicht finden.grußSebi Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 28, 2007 Author Report Share Posted September 28, 2007 gesucht und gefunden im main.asmaber was mach ich jetzt mit der main.asm ???entschuldigt meine newbie fragen :-[ Quote Link to comment Share on other sites More sharing options...
Screaming_Rabbit Posted September 28, 2007 Report Share Posted September 28, 2007 ... wenn der Schalter wirklich an Pin34 angeschlossen ist, einfach den bestehenden "USER_ENC_NotifyChange"-Code-Teil durch...USER_ENC_NotifyChange movlw 34 ; check status of pin #34 call MIOS_DIN_PinGet bnz USER_ENC_NotifyChange_1USER_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_TxBufferPutUSER_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...ersetzenGreets, Roger Quote Link to comment Share on other sites More sharing options...
TK. Posted September 28, 2007 Report Share Posted September 28, 2007 Mit dem Encoder Eintrag (ENC_ENTRY) lag ich uebrigens voellig falsch.Man traegt hier nicht etwa die beiden Pin Nummern (32, 33) ein, sondern die Shift Register Nummer und die Pin Nummer.An welchen Pins hast Du eigentlich den Encoder angeschlossen? Wenn wir das wuessten, muessten wir weniger "abstrakte" Hinweise geben. ;-)Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 29, 2007 Author Report Share Posted September 29, 2007 der encoder ist an den pins 9 und 10 (von null gezählt) Quote Link to comment Share on other sites More sharing options...
nILS Posted September 29, 2007 Report Share Posted September 29, 2007 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_... Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 29, 2007 Author Report Share Posted September 29, 2007 müssen an gerade pins?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?grußsebi Quote Link to comment Share on other sites More sharing options...
MTE Posted September 29, 2007 Report Share Posted September 29, 2007 Hi W0tuzu den "geraden" Encodern....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... ;)Grüße Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 29, 2007 Author Report Share Posted September 29, 2007 danke für die antwort damit kann ich denke ich was anfangen werde es gleich ausprobierengrußSebi Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 29, 2007 Author Report Share Posted September 29, 2007 so hab es ausprobiertim MPLAB geöffnet geändert und compiliert doch es kommt diese fehlermeldung:Make: The target "C:\Users\sebi a\Desktop\midibox64_v2_4\main.o" is out of date.Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F452 "main.asm" /l"main.lst" /e"main.err"Error[173] C:\USERS\SEBI A\DESKTOP\MIDIBOX64_V2_4\MAIN.ASM 712 : Source file path exceeds 62 characters (C:\USERS\SEBI A\DESKTOP\MIDIBOX64_V2_4\CS_MENU_TABLES_STRUCT.INC)Halting build on first failure as requested.BUILD FAILED: Sat Sep 29 20:37:58 2007habe es auch unverändert versucht doch es bringt die selbe meldung.was mach ich falsch?grußSebi Quote Link to comment Share on other sites More sharing options...
MTE Posted September 30, 2007 Report Share Posted September 30, 2007 grml, den scheiss Pfad-Error kenn ich doch irgendwoher :)Werf mal Deinen MIDIBOX64_V2_4-Ordner direkt auf C:\ ... zur Not benennst Du ihn noch um in MB64 oder so :) und probiere es dann nochmal, müsste flutschen :)Grüße Quote Link to comment Share on other sites More sharing options...
midiboxxer Posted September 30, 2007 Report Share Posted September 30, 2007 Ja,MTE hat recht. Hab das Problem anfangs auch gehabt, dem Programm ist einfach nur der Pfad zu lang. Quote Link to comment Share on other sites More sharing options...
W0tu Posted September 30, 2007 Author Report Share Posted September 30, 2007 hab ich nach ein paar experimenten auch kapiertdumme fragen kann mann stellen ;Dmuss ja nur logisch combinieren.compilieren kann ich nun aber der encoder sendet immer noch in beide richtungen (Channel7,C3 + Channel8, C3) gemeinsammöchte nur das er nach links und rechts seperat sendentdie pins sind nun auf: SR"2, 10 und 11im Mplab geöffnet macht das mit dem umschreiben irgentwie sinn verstehe aber noch nicht wirklich was ich mit was verändere (null programier erfahrung) werd aber weiter forschen ;)sehr viel kann man ja im main.asm nachlesengrußsebi Quote Link to comment Share on other sites More sharing options...
W0tu Posted October 3, 2007 Author Report Share Posted October 3, 2007 himir sind nach vielen experimenten (zeile ändern, compilieren, raufladen, testen) wieder einige lichter aufgegangenverstehe nun was diese nummern bedeuten (0x00...) channels/events/velocityvermute das movlw, movff, call, etc. befehle sind (kann ich die irgentwo ansehen?)hab das mit dem encoder nachgebasteltIn mios_tables.inc musst Du die Pinbelegung des Encoders eintragen. Am besten ersetzt Du: #if DEFAULT_ENC_DATAWHEEL < 0 ENC_EOT #else durch: #if DEFAULT_ENC_DATAWHEEL < 0 ENC_ENTRY 5, 0, MIOS_ENC_MODE_DETENTED ; Data Wheel #else 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 bei mir sieht es so aus #if DEFAULT_ENC_DATAWHEEL < 0 ENC_ENTRY 1, 4, MIOS_ENC_MODE_DETENTED USER_ENC_NotifyChange movlw 0x97 call MIOS_MIDI_TxBufferPut movlw 0x3c IFSET MIOS_PARAMETER2, 7, movlw 0x3d call MIOS_MIDI_TxBufferPut movlw 0x7f goto MIOS_MIDI_TxBufferPut aber irgentwas scheint nicht zu stimmender encoder sendet ohne unterbrechung note on befehlewas bedeutet die 7 hinter MIOS_PARAMETER2?werde weiter experimentierenbin aber um jeden hinweis frohgrußSebi Quote Link to comment Share on other sites More sharing options...
TK. Posted October 3, 2007 Report Share Posted October 3, 2007 Schoen zu sehen, wie Du voran kommst. :)Die Assembler Befehle findest Du im Datasheet unter http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010296und die haeufig verwendeten Befehlskombinationen wie IFCLR/IFSET sind im macros.h File gesammelt.Mit: movlw 0x3c IFSET MIOS_PARAMETER2, 7, movlw 0x3d call MIOS_MIDI_TxBufferPut[/code]erreicht man folgendes: zunaechst wird der Wert 0x3c in das Arbeitsregister (W) geschrieben. Wenn in der Variablen MIOS_PARAMETER2 bit #7 gesetzt ist, dann wird der Wert mit 0x3d ueberschrieben.MIOS_MIDI_TxBufferPut sendet dann anschliessend den aktuellen Wert.MIOS_PARAMETER2,7 ist bei einer Linksdrehung gesetzt (der "incrementer" ist in diesem Fall negativ, also bspw. 0xff. Bei einer Rechtdrehung ist er positiv, also bspw. 0x01 - Stichwort "signed values")der encoder sendet ohne unterbrechung note on befehleDas deutet darauf hin, dass mit dem DIN Modul etwas nicht stimmt. Werden die Werte auch dann gesendet, wenn der Encoder nicht angeschlossen ist? Dann ueberpruefe mal die Pull-Up Widerstaende an den digitalen Eingaengen.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
W0tu Posted October 5, 2007 Author Report Share Posted October 5, 2007 die pull-up widerstände scheinen in ordnung zu seinich habe den encoder ausgetauschtdieser sendet immer noch den gleichen note-on befehl aber erst nachdem man ihn bewegt hatgruß Sebi 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.