Midibox 64 problem

hallo zusammen

hab heute endlich alles fertig gelötet und eingeschaltet

aber 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

bin fast am verzweifeln :-\

laut MIOS studio senden meine MB in den Kanälen: 13 - 16, die controller: 93, zufällige signale

die anderen potis scheinen zu funktioniern

habe aber alle gleich verlötet und alles an masse gehängt

ich weiß einfach nicht was ich da noch machen kann ???

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

puh!! nur nicht hysterisch werden.

habe den fehler endlich gefunden ein kabel war hinüber, ausgetauscht und es funktioniert ;D

bis 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

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

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.html

Gruß

Markus

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 buttons

wie ändert man die main.asm

Gruß

Sebi

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&nbsp; 5,&nbsp; 0,&nbsp; 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\_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  

Gruss, Thorsten.

wow :o das ist eine antwort.

hoffe das ich das noch durchschaue wo oder was ist mios_tables.inc?

danke thorsten

dafür das du es möglich machst die egenen vorstelungen vom musizieren umzusetzen

diese internetseite war für mich eine offenbahrung ;D

(wieviel zeit habe ich verschwendet um den perfekten midikontroler zu finden? ::))

gruß

Sebi

mios_tables.inc hab ich gefunden

und

#if DEFAULT_ENC_DATAWHEEL < 0

ENC_EOT

#else

hab ich um geändert kann aber “USER_ENC_NotifyChange” nicht finden.

gruß

Sebi

gesucht und gefunden im main.asm

aber was mach ich jetzt mit der main.asm  ???

entschuldigt meine newbie fragen :-[

… 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_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

…ersetzen

Greets, Roger

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. :wink:

Gruss, Thorsten.

der encoder ist an den pins 9 und 10 (von null gezählt)

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_…

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

Hi W0tu

zu den “geraden” Encodern…

ich denke die Grafik erklärt alles…linke seite ungerade gelötet, rechts gerade (von 0 gezählt) :wink:

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… :wink:

Grüße

danke für die antwort

damit kann ich denke ich was anfangen

werde es gleich ausprobieren

gruß

Sebi

so hab es ausprobiert

im 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 2007

habe es auch unverändert versucht doch es bringt die selbe meldung.

was mach ich falsch?

gruß

Sebi

grml, den scheiss Pfad-Error kenn ich doch irgendwoher :slight_smile:

Werf mal Deinen MIDIBOX64_V2_4-Ordner direkt auf C:\ …  zur Not benennst Du ihn noch um in MB64 oder so :slight_smile: und probiere es dann nochmal, müsste flutschen :slight_smile:

Grüße