Manual des MIDI RS-232/RS-422 Converter - Cinetix.de

Manual des MIDI RS-232/RS-422 Converter - Cinetix.de Manual des MIDI RS-232/RS-422 Converter - Cinetix.de

10.10.2013 Aufrufe

Betriebsart "Byte MIDI Msg" (Drehschalter Stellungen 7 bis C) Zwar können in der Datenrichtung MIDI RS-232/RS-422 oben beschriebene Befehlstypen beliebig gemischt werden, doch in der umgekehrten Datenrichtung RS-232/RS-422 MIDI wird je nach Stellung des Drehschalters nur ein bestimmter Typ MIDI-Nachrichten erzeugt und und über MIDI OUT gesendet. Diese MIDI-Nachrichten enthalten immer den per Konfiguration eingestellten MIDI-Kanal (Lieferzustand: Kanal 1). Drehschalter Stellung 7 oder 8: Jedes an der RS-232/RS-422 Schnittstelle empfangene Byte erzeugt eine NOTE ON Nachricht: 1. Datenbyte (Notenwert): enthält die Bits 0 bis 6 des seriellen Bytes. Bit7 ist entsprechend dem MIDI Standard = 0 2. Datenbyte (Velocity): = 64 (hex40), wenn Bit 7 des Bytes von der seriellen Schnittstelle = 0 ist ("printable character", elementarer ASCII Codevorrat): = 127 (hex 7F) wenn Bit 7 des Bytes von der seriellen Schnittstelle = 1 ist (erweiterter ASCII Codevorrat): Beispiel: Bei Drehschalter Stellung 7 und MIDI Kanal Voreinstellung 1 wird ein an der RS-232 Schnittstelle empfangenes Byte „x“ die NOTE ON Nachricht hex 90 78 40 (dezimal 144 120 64) erzeugen. Ein an der RS-232 Schnittstelle empfangenes “Ä“ (Code hexC4) wird die NOTE ON Nachricht hex.90 44 7F (dezimal 144 68 127) erzeugen (ist abhängig vom Betriebssystem, dies gilt für Windows). Drehschalter Stellung 9 oder A: Jedes an der RS-232/RS-422 Schnittstelle empfangene Byte erzeugt eine CONTROL CHANGE Nachricht: ---1.Datenbyte (Controller Nr) = 80 (hex50), wenn Bit 7 des Bytes von der seriellen Schnittstelle = 0 ist ("printable character", elementarer ASCII Codevorrat): --- 1.Datenbyte (Controller Nr) = 81 (hex51), wenn Bit 7 des Bytes von der seriellen Schnittstelle = 1 ist (erweiterter ASCII Codevorrat): --- im 2.Datenbyte der CONTROL CHANGE Nachricht (Controller Wert) werden die Bits 0 bis 6 des seriell empfangenen Bytes unverändert übertragen Beispiel: Bei Drehschalter Stellung 9 und MIDI Kanal Voreinstellung 1 wird ein an der RS-232 Schnittstelle empfangenes Byte “%“ hex25 (dezimal 37) an MIDI OUT gesendet als Bytefolge hexadezimal B0 50 25 (dezimal 176 80 37) Ein an der RS-232 Schnittstelle empfangenes “ü“ (Code hexFC) wird die CONTROL CHANGE Nachricht hexadezimal B0 51 7C (dezimal 176 81 124) erzeugen (ist abhängig vom Betriebssystem, dies gilt für Windows). Drehschalter Stellung B oder C: Jedes an einer seriellen (RS-232 oder RS-422) Schnittstelle empfangene Byte erzeugt eine PROGRAM CHANGE oder eine CHANNEL PRESSURE Nachricht in folgendem Format: --- eine PROGRAM CHANGE Nachricht, wenn Bit 7 des seriellen Bytes = 0 ist ("printable character", elementarer ASCII Codevorrat). Das Datenbyte ist gleich dem seriellen Byte. --- eine CHANNEL PRESSURE Nachricht, wenn Bit 7 des seriellen Bytes = 1 ist (erweiterter ASCII Codevorrat). Das Datenbyte ist gleich dem seriellen Byte MINUS 128 ! Beispiel: Bei Drehschalter Stellung B und MIDI Kanal Voreinstellung 1 wird ein an der RS-232 Schnittstelle empfangenes Byte „%“ hex25 (dezimal 37) an MIDI OUT gesendet als PROGRAM CHANGE Nachricht hexadezimal C0 25 (dezimal 192 37) Ein an der RS-232 Schnittstelle empfangenes Paragraphen-Zeichen ’§’ (Code hexA7, dezimal 167) wird die CHANNEL PRESSURE Nachricht hex.D0 27 (dezimal 208 39) erzeugen (ist abhängig vom Betriebssystem, dies gilt für Windows). 8

Programmierbare Zeichenketten ("Strings") (neu ab Juli 2011) Insgesamt können vom Anwender bis zu 512 Zeichenketten mit je max.126 Bytes Länge abschaltfest in den Speicher des Mikrocontrollers eingetragen ("programmiert") werden. (Details zur Durchführung der Programmierung siehe weiter unten.) Dabei sind jeweils 128 Speicherplätze reserviert für: --- NOTE ON Nachrichten (alternativ auch für POLY KEY PRESSURE) --- CONTROL CHANGE Nachrichten (alternativ auch für PITCH WHEEL CHANGE) --- PROGRAM CHANGE Nachrichten (alternativ auch für CHANNEL PRESSURE) Beim Empfang einer dieser MIDI Nachrichten wird anstelle der oben beschriebenen Standard-Umsetzung die entsprechend programmierte Zeichenkette an der seriellen Schnittstelle gesendet d.h. die Zeichenkette mit der Nummer, die gleich dem 1.Datenbyte der MIDI Message ist (Tonhöhe, Controller Nummer,....) Alternativ ist es auch möglich, bestimmte oder alle Zeichenketten an MIDI OUT weiterzusenden, d.h. eine Art Patch-Funktion. Ist für die betreffende MIDI Nachricht oder das betreffende Byte keine Zeichenkette programmiert oder wurde eine programmierte wieder gelöscht, wird, wird die oben beschriebene Standard-Umsetzung auf der seriellen Schnittstelle gesendet. Im Lieferzustand des Converters ist keine Zeichenfolge programmiert. --- Bytes mit ASCII Code 0 - 127 an der seriellen Schnittstelle lösen bei entsprechender Konfiguration die Sendung der programmierten Zeichenkette an MIDI OUT aus. Ist für das betreffende Byte keine Zeichenkette programmiert oder wurde eine programmierte wieder gelöscht, wird die oben beschriebene Strandardumsetzung an MIDI OUT gesendet. Im Lieferzustand des Converters ist keine Zeichenfolge programmiert. Die Sendung dieser Zeichenketten ist aktiv bei den Drehschalter-Stellungen 5 bis C (serielles Byte String nur Stellung 7bis C). Die für die "seriell String" programmierten Zeichenketten können auch in Drehschalter-Stellung F mit dem Befehl S (Details siehe unten) gesendet werden. Da die Zeichenketten bis zu 126 Bytes lang sein können, ist es möglich, mit einer einzigen MIDI Nachricht oder einem einzigen seriellen Byte eine längere Nachrichtensequenz auf der gegenüberliegenden Schnittstelle auszulösen. Mathematische oder logische Operationen sind in den Zeichenketten nicht möglich, d.h. es kann nur exkakt die programmierte Zeichenkette gesendet werden. Verschiedene Filter-Optionen verfeinern die Entscheidung, ob in einer bestimmten Situation die Standard-Umsetzung oder die programmierte Zeichenkette gesendet wird: Mit dem optional anwendbaren Befehl !1 bis !16 (Details siehe unten) kann die Zeichenkette nur für einen bestimmten MIDI Kanal "scharf" gemacht werden. Wird dezimal 80 (hex50) zum Parameter addiert, dann wird die betreffende Nachricht nicht an die serielle Schittstelle, sondern an MIDI OUT gesendet. Diese Umlenkung kann auch pauschal mit dem Befehl % akiviert werden. Der Befehl !0 aktiviert die Sendung der Zeichenkette beim Empfang jedes MIDI Kanals. Die Einstellung dieses Befehls wird NICHT permanent gespeichert. Beim Einschalten wird implizit der Befehl !0 ausgeführt, d.h. in den gespeicherten Zeichenketten sind alle MIDI Kanäle zugelassen. Der ! Befehl wirkt nicht auf seriell ausgelöste Zeichenketten. 9

Programmierbare Zeichenketten ("Strings") (neu ab Juli 2011)<br />

Insgesamt können vom Anwen<strong>de</strong>r bis zu 512 Zeichenketten mit je max.126 Bytes Länge<br />

abschaltfest in <strong>de</strong>n Speicher <strong><strong>de</strong>s</strong> Mikrocontrollers eingetragen ("programmiert") wer<strong>de</strong>n.<br />

(Details zur Durchführung <strong>de</strong>r Programmierung siehe weiter unten.)<br />

Dabei sind jeweils 128 Speicherplätze reserviert für:<br />

--- NOTE ON Nachrichten (alternativ auch für POLY KEY PRESSURE)<br />

--- CONTROL CHANGE Nachrichten (alternativ auch für PITCH WHEEL CHANGE)<br />

--- PROGRAM CHANGE Nachrichten (alternativ auch für CHANNEL PRESSURE)<br />

Beim Empfang einer dieser <strong>MIDI</strong> Nachrichten wird anstelle <strong>de</strong>r oben beschriebenen<br />

Standard-Umsetzung die entsprechend programmierte Zeichenkette an <strong>de</strong>r<br />

seriellen Schnittstelle gesen<strong>de</strong>t d.h. die Zeichenkette mit <strong>de</strong>r Nummer, die gleich<br />

<strong>de</strong>m 1.Datenbyte <strong>de</strong>r <strong>MIDI</strong> Message ist (Tonhöhe, Controller Nummer,....)<br />

Alternativ ist es auch möglich, bestimmte o<strong>de</strong>r alle Zeichenketten an <strong>MIDI</strong> OUT<br />

weiterzusen<strong>de</strong>n, d.h. eine Art Patch-Funktion.<br />

Ist für die betreffen<strong>de</strong> <strong>MIDI</strong> Nachricht o<strong>de</strong>r das betreffen<strong>de</strong> Byte keine Zeichenkette<br />

programmiert o<strong>de</strong>r wur<strong>de</strong> eine programmierte wie<strong>de</strong>r gelöscht, wird, wird die oben<br />

beschriebene Standard-Umsetzung auf <strong>de</strong>r seriellen Schnittstelle gesen<strong>de</strong>t. Im<br />

Lieferzustand <strong><strong>de</strong>s</strong> <strong>Converter</strong>s ist keine Zeichenfolge programmiert.<br />

--- Bytes mit ASCII Co<strong>de</strong> 0 - 127 an <strong>de</strong>r seriellen Schnittstelle lösen bei entsprechen<strong>de</strong>r<br />

Konfiguration die Sendung <strong>de</strong>r programmierten Zeichenkette an <strong>MIDI</strong> OUT aus. Ist für<br />

das betreffen<strong>de</strong> Byte keine Zeichenkette programmiert o<strong>de</strong>r wur<strong>de</strong> eine programmierte<br />

wie<strong>de</strong>r gelöscht, wird die oben beschriebene Strandardumsetzung an <strong>MIDI</strong> OUT<br />

gesen<strong>de</strong>t. Im Lieferzustand <strong><strong>de</strong>s</strong> <strong>Converter</strong>s ist keine Zeichenfolge programmiert.<br />

Die Sendung dieser Zeichenketten ist aktiv bei <strong>de</strong>n Drehschalter-Stellungen 5 bis C<br />

(serielles Byte String nur Stellung 7bis C). Die für die "seriell String" programmierten<br />

Zeichenketten können auch in Drehschalter-Stellung F mit <strong>de</strong>m Befehl S (Details siehe<br />

unten) gesen<strong>de</strong>t wer<strong>de</strong>n.<br />

Da die Zeichenketten bis zu 126 Bytes lang sein können, ist es möglich, mit einer einzigen<br />

<strong>MIDI</strong> Nachricht o<strong>de</strong>r einem einzigen seriellen Byte eine längere Nachrichtensequenz auf <strong>de</strong>r<br />

gegenüberliegen<strong>de</strong>n Schnittstelle auszulösen. Mathematische o<strong>de</strong>r logische Operationen<br />

sind in <strong>de</strong>n Zeichenketten nicht möglich, d.h. es kann nur exkakt die programmierte<br />

Zeichenkette gesen<strong>de</strong>t wer<strong>de</strong>n.<br />

Verschie<strong>de</strong>ne Filter-Optionen verfeinern die Entscheidung, ob in einer bestimmten Situation<br />

die Standard-Umsetzung o<strong>de</strong>r die programmierte Zeichenkette gesen<strong>de</strong>t wird:<br />

Mit <strong>de</strong>m optional anwendbaren Befehl !1 bis !16 (Details siehe unten) kann die Zeichenkette<br />

nur für einen bestimmten <strong>MIDI</strong> Kanal "scharf" gemacht wer<strong>de</strong>n. Wird <strong>de</strong>zimal 80 (hex50) zum<br />

Parameter addiert, dann wird die betreffen<strong>de</strong> Nachricht nicht an die serielle Schittstelle,<br />

son<strong>de</strong>rn an <strong>MIDI</strong> OUT gesen<strong>de</strong>t. Diese Umlenkung kann auch pauschal mit <strong>de</strong>m Befehl %<br />

akiviert wer<strong>de</strong>n.<br />

Der Befehl !0 aktiviert die Sendung <strong>de</strong>r Zeichenkette beim Empfang je<strong><strong>de</strong>s</strong> <strong>MIDI</strong> Kanals.<br />

Die Einstellung dieses Befehls wird NICHT permanent gespeichert. Beim Einschalten<br />

wird implizit <strong>de</strong>r Befehl !0 ausgeführt, d.h. in <strong>de</strong>n gespeicherten Zeichenketten sind alle <strong>MIDI</strong><br />

Kanäle zugelassen. Der ! Befehl wirkt nicht auf seriell ausgelöste Zeichenketten.<br />

9

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!