MIDIbug Controller-Firmware, Stand 26.03.2006
Die MIDIbug-Firmware liegt nun in Version 1.14 vor und wird anstelle
der MIDIvice-Firmware (siehe unten) benutzt, wenn die MIDIvice-Platine
als MIDI-Debugger/Monitor eingesetzt werden soll.
Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer,
benötigen Sie nur die fertig kompilierte HEX-Datei sowie das
EEPROM-File:
MIDItest.hex MIDIbug-Firmware MIDIvice.eep EEPROM-File
mit MIDIbug-Grundeinstellungen und Pattern, für Programmer
Bei eigenen Änderungen benötigt:
MIDItest.pas Hauptprogramm
Zu kompilieren mit e-lab AVR Pascal (www.e-lab.de), Vollversion
8 KByte Code. Pattern und Voreinstellungen sind im EEPROM-File abgelegt
und können anhand der Dokumentation im Source-File auch ohne Compiler
geändert werden.
MIDIvice Controller-Firmware, Stand 29.09.2005
Für die unterschiedlichen Klaviatur-Scan-Platinen
werden angepasste Firmware-Versionen benötigt, die inklusive
AVRPascal- und Assembler-Sourcen hier enthalten sind:
Am besten auspacken mit WinZip's "Extract to
folder", damit die Ordnerstruktur der Sourcen bestehen bleibt.
Die MIDIvice-Firmware liegt nun in vier Grundversionen
vor:
MIDIvice mit Abfrage der 14 analogen und 8 digitalen IO-Werte,
wie in c't beschrieben, ORGANice speziell ausgelegt für
mehrmanualige Orgeln, mit MIDI-In-Merge, MINIvice Minimalversion ohne LCD-Bedienoberfläche,
aber mit MIDI-Merge, sowie MULTIvice ohne 14fach-Analog-Abfrage,
aber mit Pitchwheel/Modulation/Aftertouch und Split/Layer-Funktion
(siehe unten).
MIDI- und MULTIvice wurden jeweils für Matrix- (Platine MatrixScan816,
Datei-Suffix _Matrix) und normale Umschaltkontakt-Tastaturen (Platine
DynScan61, Suffix _DynScan61) kompiliert, ORGANice natürlich nur
für die OrganScan61-Platinen. Prinzipiell funktionieren MIDIvice
und MULTIvice auch mit der nichtdynamischen OrganScan-Routine/Platine,
dafür ist aber eine Neukompilierung nötig. MINIvice ist so klein,
dass es mit der kostenlosen Demo-Version des e-lab
AVR Pascal neu kompiliert werden kann. Bitte behalten Sie
bei Neukompilierung die Ordnerstruktur im ZIP-File bei, einige
Dateien (Scan-Routinen, Dynamik-Tabellen) werden von allen Versionen
benötigt.
MIDIvice 1.2 c't-Version
Wie in c't 14/2005 S. 200 beschrieben, mit freier Zuweisung und
Abfrage der 14 analogen und 8 digitalen IO-Werte. Neu in Version
1.2: Der Parameter "AnE" (Analog Enable) auf der letzten
Default-Parameterseite dient zum Abschalten der Analog-Abfrage,
wenn man diese nicht benötigt oder die Analog-IO-Platine eingespart
werden soll. Mögliche Werte:
0 - Keine Analog-Abfrage, keine AnalogIO-Platine benötigt 1
- Nur Pitchbend/Modulation/AfterTouch werden abgefragt 2 - Alle
Analog-Controller werden abgefragt (Default)
Ebenfalls neu: Version 1.2 liegt nun auch in einer Version vor,
die statt der Tastatur-Scan-Routine eine MIDI-In-Merge-Routine
enthält. Somit können Sie auch ein vorhandenes älteres Masterkeyboard,
z.B. ein E-Piano, mit Analog-Controllern und Switches nachrüsten,
indem Sie dessen MIDI-Signal durch die MIDIvice-Platine "durchschleifen":
Der MIDI-Ausgang des externen Keyboards kommt an den MIDI-Eingang
PL07 des MIDIvice, Tastatur-Scan-Platinen werden nicht angeschlossen.
Aus Platzgründen konnten Tastatur-Scan und MIDI-Merge nicht gleichzeitig
im Programmcode untergebracht werden.
Für
den Programmiervorgang, z.B. mit dem PonyProg-Programmer, benötigen
Sie nur eine der fertig kompilierten HEX-Dateien sowie das EEPROM-File:
MIDIvice_DynScan61.hex - Für Platine DynScan61 kompilierte HEX-Datei MIDIvice_Matrix.hex
- Für Platine Matrix816 kompilierte HEX-Datei MIDIvice_Merge.hex
- MIDI-Eingang statt Tastatur-Scan MIDIvice.eep - EEPROM-File
mit MIDIvice-Grundeinstellungen, für Programmer
Sourcen (nur bei eigenen Änderungen benötigt):
MIDIvice.pas - Hauptprogramm MIDIscanDynMatrix.pas - Compiler-Include-File
für MatrixScan816 MIDIscanDynSR164.pas - Compiler-Include-File
für DynScan164 DynaCurve*.txt Dynamic-Kurven, anpassbar
Für Neukompilation benötigen Sie das e-lab
AVR Pascal in der Vollversion. Auswahl der passenden Scan-Routine
und Features durch Ein-/Auskommentieren der Defines ab Zeile 12
des Hauptprogramms.
ORGANice 1.4 Controller-Firmware angepasst für Orgeln, mit
MIDI-In-Merge
Spezielle Version für mehrmanualige Orgeln, fragt über 1...4
OrganScan61-Platinen bis zu drei
Manuale plus Basspedal ab. Splitpunkte fest vorgegeben für je 61
Tasten (jede der hintereinandergeschalteten OrganScan-Platinen erhält
einen eigenen, in den Parameter-Seiten änderbaren MIDI-Kanal). Neu
in Version 1.4: MIDI-In-Merge implementiert, so dass zusätzlich
ein anschlagdynamisches Keyboard (bzw. weiteres MIDIvice) angeschlossen
werden kann. Der MIDI-Ausgang des externen Keyboards/zweiten MIDIvice kommt an den MIDI-Eingang
PL07 des ORGAnice-MIDIvice. Der Parameter "AnE" auf der letzten Default-Seite
dient zum Abschalten der Analog-Abfrage, wenn man diese nicht benötigt
oder die Analog-IO-Platine eingespart werden soll. Mögliche Werte:
0 - Keine Analog-Abfrage, keine AnalogIO-Platine benötigt 1
- Die 14 "langsamen"
Analog-Controller und Switches (z.B. Zugriegel) werden abgefragt
(Default) 2 - Zusätzlich wird Pitchbend abgefragt
Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer,
benötigen Sie nur folgende fertig kompilierte Dateien:
ORGAnice.hex - Für bis zu 4 OrganScan61 kompilierte HEX-Datei ORGAnice.eep
- EEPROM-File mit ORGAnice-Grundeinstellungen für Programmer
Sourcen (nur bei eigenen Änderungen benötigt):
ORGAnice.pas - Hauptprogramm MIDIscanNonDyn.pas - Compiler-Include-File
für OrganScan61
Für Neukompilation benötigen Sie das e-lab
AVR Pascal in der Vollversion. Auswahl der passenden Scan-Routine
und Features durch Ein-/Auskommentieren der Defines ab Zeile 12
des Hauptprogramms.
MINIvice Controller-Firmware, Minimal-Version für DEMO-Compiler
MINIvice enthält aus Platzgründen (max. Codegröße 4 kByte der
e-lab Compiler-Demo-Version) nur eine elementare "Bedienungsoberfläche"
(Auswahl der MIDI-Programmnummer) und behandelt auch nicht die analogen
MIDI-Controller. Voreinstellungen sind deshalb im MINIvice-EEPROM-File
zu tätigen, die Datenstruktur und die Defaults sind im Hauptprogramm-Sourcecode
definiert.
Durch Setzen der DEFINEs im Sourcecode (ab Zeile 12) können Sie
sich leicht eine für Ihre Bedürfnisse passende MINIvice-Version
kompilieren, indem Sie hier die LCD-Routinen, die Scan-Routine,
die Merge-Funktion oder die Pitchwheel-Abfrage ein- und ausschalten.
Bei MINIvice ist auch der gleichzeitige Einsatz von MIDI-Merge und
Tastatur-Scan möglich, was bei den anderen Varianten aus Platzgünden
nicht geht. Sie können Ihr MIDIvice also gut mit einem MINIvice
erweitern, indem Sie den MIDI-Ausgang des MIDIvice mit dem MIDI-Eingang
des MINIvice verbinden --etwa um eine dynamische Matrix-Tastatur
(MIDIvice-Firmware) mit Orgeltastatur und Basspedal (MINIvice-Firmware)
zu erweitern. LC-Display und PCA9555D (U02) werden hier nicht benötigt,
so dass sich hiermit ein sehr preiswertes MIDI-Interface aufbauen
lässt.
Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer,
benötigen Sie nur folgende fertig kompilierte Dateien:
MINIvice.hex - Für OrganScan61 kompiliert, mit MIDI-Merge, ohne
LCD und Pitchwheel MINIvice.eep - EEPROM-File mit MINIvice-Grundeinstellungen
für Programmer
Sourcen (nur bei eigenen Änderungen benötigt):
MINIvice.pas - Hauptprogramm MIDIscanDynMatrix.pas - Compiler-Include-File
für MatrixScan816 MIDIscanDynSR164.pas - Compiler-Include-File
für DynScan61 MIDIscanNonDyn.pas - Compiler-Include-File für
OrganScan61 DynaCurve*.txt - Dynamic-Kurven, anpassbar
Zu kompilieren mit e-lab
AVR Pascal, Demo-Version 4 KByte Code. Auswahl der passenden
Scan-Routine durch Ein-/Auskommentieren der Defines ab Zeile 11
des Hauptprogramms.
MULTIvice Controller-Firmware, geändert auf Split/Layer-Funktion
Diese spezielle MIDIvice-Version unterstützt einen zweikanaligen
Layer- und einen Manual-Split-Modus, z.B. für Anwendungen außerhalb
des Klangcomputer-Projekts. Auch diese Version wurde für Matrix-
(Platine MatrixScan816, Datei-Suffix _Matrix) und normale Umschaltkontakt-Tastaturen
(Platine DynScan61, Suffix _DynScan61) kompiliert.
Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer,
benötigen Sie nur folgende fertig kompilierte Dateien:
MULTIvice_DynScan61.hex - Für Platine DynScan61 kompilierte HEX-Datei MULTIvice_Matrix.hex
- Für Platine Matrix816 kompilierte HEX-Datei MULTIvice.eep -
EEPROM-File mit MULTIvice-Grundeinstellungen, für Programmer
Sourcen (nur bei eigenen Änderungen benötigt):
MULTIvice.pas - Hauptprogramm MIDIscanDynMatrix.pas - Compiler-Include-File
für MatrixScan816 MIDIscanDynSR164.pas - Compiler-Include-File
für DynScan164 DynaCurve*.txt - Dynamic-Kurven, anpassbar
Zu kompilieren mit e-lab
AVR Pascal, Vollversion 8 KByte Code. Auswahl der passenden
Scan-Routine durch Ein-/Auskommentieren der Defines ab Zeile 11
des Hauptprogramms.
|