Bugfixes: Unterschied zwischen den Versionen

Aus KeyboardPartner Wiki
Zur Navigation springenZur Suche springen
Zeile 19: Zeile 19:
''Attention: floating analog inputs will be recorded as "touched by user", so controller changes by MIDI on that particular analog input will be lost. Solution: Connect unused analog inputs to ground or constant analog voltage for a power-on preset. Alternatively, all analog controllers (exept swell) may be switched off by serial remote commands "wen=1" followed by "521=1" or by holding Vibrato ON Lower button during power-on.''
''Attention: floating analog inputs will be recorded as "touched by user", so controller changes by MIDI on that particular analog input will be lost. Solution: Connect unused analog inputs to ground or constant analog voltage for a power-on preset. Alternatively, all analog controllers (exept swell) may be switched off by serial remote commands "wen=1" followed by "521=1" or by holding Vibrato ON Lower button during power-on.''


Mit diesem Update wurde die Abfrage der Bedienelemente komplett auf eine Event-basierte Steuerung umgeschrieben. '''Knackende Geräusche''' in bestimmten Stellungen der Zugriegel und Potis treten nicht mehr auf, da die analogen Bedienelemente nun eine gewisse Hysterese aufweisen. Weiterer Vorteil: Presets können jetzt jederzeit '''"live" geändert''' werden, außerdem werden die Button-LEDs entsprechend des Presets aktualisiert. Ebenso werden Änderungen über MIDI-CC direkt angezeigt und können jederzeit an den HX3-Bedienelementen wieder geändert werden. Das gilt auch für die Poti-und Zugriegel-Einstellungen (natürlich ohne Anzeige).  
Mit diesem Update wurde die Abfrage der Bedienelemente komplett auf eine Event-basierte Steuerung umgeschrieben. '''Knackende Geräusche''' in bestimmten Stellungen der Zugriegel und Potis treten nicht mehr auf, da die analogen Bedienelemente nun eine gewisse Hysterese aufweisen. Weiterer Vorteil: Presets können jetzt jederzeit '''"live" geändert''' (und wieder abgespeichert) werden, außerdem werden die Button-LEDs entsprechend des Presets aktualisiert. Ebenso werden Änderungen über MIDI-CC direkt angezeigt und können jederzeit an den HX3-Bedienelementen wieder geändert werden. Das gilt auch für die Poti-und Zugriegel-Einstellungen (natürlich ohne Anzeige).  


Wichtig: "Floatende" offene Eingänge wertet die Firmware als "wird bedient", bei Änderungen über MIDI springt der Wert dann zurück. Abhilfe: '''Offene unbenutzte Analog-Eingänge''' auf ein festes Potential zwischen '''Gnd''' und '''Vref (3,3V)''' legen, z.B. mit Trimmpotis. Diese Einstellung wird dann auch als Einschaltzustand übernommen. Alternativ kann die Abfrage der analogen Bedienelemente mit den seriellen Befehlen "wen=1" gefolgt von "521=1" (bis auf den Schweller, der ist immer aktiv!) abgeschatet werden.
Wichtig: "Floatende" offene Eingänge wertet die Firmware als "wird bedient", bei Änderungen über MIDI springt der Wert dann zurück. Abhilfe: '''Offene unbenutzte Analog-Eingänge''' auf ein festes Potential zwischen '''Gnd''' und '''Vref (3,3V)''' legen, z.B. mit Trimmpotis. Diese Einstellung wird dann auch als Einschaltzustand übernommen. Alternativ kann die Abfrage der analogen Bedienelemente mit den seriellen Befehlen "wen=1" gefolgt von "521=1" (bis auf den Schweller, der ist immer aktiv!) abgeschatet werden.

Version vom 6. Mai 2013, 17:40 Uhr

Bugfixes und Änderungen

Bugfixes beheben ernste Probleme, die einzelne Funktionen stören oder komplett lahmlegen. Je nach Anwendungsfall kann es erforderlich sein, das HOAX-Modul upzudaten oder einzusenden. Änderungen sind eher kosmetischer Natur, ein Firmware-Update ist hier üblicherweise nicht erforderlich. Als Update gekennzeichnete Einträge umfassen umfangreiche Arbeiten an der Firmware, die möglicherweise eine Neuverdrahtung bestimmter Baugruppen oder ein Neuprogrammieren des Controller-EEPROMs (eigene Presets werden hierbei überschrieben!) erfordern.

Wir empfehlen bei Updates und Bugfixes, stets das ganze Repository (als ZIP) neu downzuloaden; persönliche Einstellungen sind vor dem Überschreiben Ihres HOAX-Ordner zu sichern. Der Vorgang des Updates ist unter Firmware- und FPGA-Update beschrieben. Sollten Sie sich dies nicht zutrauen, können Sie die Platine auch einsenden und im Keyboardpartner-Shop für 10 Euro zzgl. Rücksendung ein Update bestellen.

Im unserem GIT-Repository habe ich jetzt einen Unterordner BETA angelegt, der brandaktuelle Neuerungen umfasst, die noch nicht offiziell freigegeben sind. Versionen zum Ausprobieren finden Sie also immer dort, die vorherige verbleibt im HOAX-Hauptordner des GIT-Repos. Kopieren Sie ggf. die Dateien aus BETA in ihre lokalen Ordner (*.bin, *.bit, *.dat in C:\HOAX\FPGACORES, *.hex und *.eep in C:\HOAX)

English

Newest releases of firmware could be found directory "BETA" in our GIT-Repository. May need complete programming of FLASH and EEPROM, also reload of FPGA configuration if not noted otherwise. Previous versions could be found in GIT:HOAX main folder. For update to latest firmware, copy files from GIT:BETA to your local folders (*.bin, *.bit, *.dat to C:\HOAX\FPGACORES, *.hex and *.eep to C:\HOAX)

There is a known bug (apparently not mine) in serial number generation of FPGA itself. In case of malfunction after update: Just send me your current serial number (to info@keyboardpartner.de) that your board issues, I'll give you new licences. New licences are free (as long as you aquired one in the past).

UPDATE AVR Version 3.31

Complete revision of firmware concerning user interface, changed over to event-based handling. No more lockout of buttons, switches or drawbars, no more crackling noise due to unstable analog conversion, especially on Leslie volume pot. Presets may be changed anytime "live" and re-saved. Button LEDs will represent controller changes by MIDI. Also, recognized MIDI controller set may be changed by holding one of the four percussion buttons while power-up for a few seconds (will blink after release to confirm): PercON = Native Instruments B4 (set 0, default), PercSOFT = Voce (set 1), PercFAST = Harmichord (set 2), Perc3RD = Hammond XK and SK series (set 3). Alternatively, MIDI CC set may be changed by serial remote commands "wen=1" followed by "531=x" with x = set number.

Attention: floating analog inputs will be recorded as "touched by user", so controller changes by MIDI on that particular analog input will be lost. Solution: Connect unused analog inputs to ground or constant analog voltage for a power-on preset. Alternatively, all analog controllers (exept swell) may be switched off by serial remote commands "wen=1" followed by "521=1" or by holding Vibrato ON Lower button during power-on.

Mit diesem Update wurde die Abfrage der Bedienelemente komplett auf eine Event-basierte Steuerung umgeschrieben. Knackende Geräusche in bestimmten Stellungen der Zugriegel und Potis treten nicht mehr auf, da die analogen Bedienelemente nun eine gewisse Hysterese aufweisen. Weiterer Vorteil: Presets können jetzt jederzeit "live" geändert (und wieder abgespeichert) werden, außerdem werden die Button-LEDs entsprechend des Presets aktualisiert. Ebenso werden Änderungen über MIDI-CC direkt angezeigt und können jederzeit an den HX3-Bedienelementen wieder geändert werden. Das gilt auch für die Poti-und Zugriegel-Einstellungen (natürlich ohne Anzeige).

Wichtig: "Floatende" offene Eingänge wertet die Firmware als "wird bedient", bei Änderungen über MIDI springt der Wert dann zurück. Abhilfe: Offene unbenutzte Analog-Eingänge auf ein festes Potential zwischen Gnd und Vref (3,3V) legen, z.B. mit Trimmpotis. Diese Einstellung wird dann auch als Einschaltzustand übernommen. Alternativ kann die Abfrage der analogen Bedienelemente mit den seriellen Befehlen "wen=1" gefolgt von "521=1" (bis auf den Schweller, der ist immer aktiv!) abgeschatet werden.

Mit dieser Version kann auch der MIDI-Controller-Set geändert werden, indem man beim Einschalten eine der folgenden Taster einige Sekunden gedrückt hält: PercON = Native Instruments B4 (Set 0, default), PercSOFT = Voce (Set 1), PercFAST = Harmichord (Set 2), Perc3RD = Hammond XK and SK series (Set 3). Nach dem Loslassen blinkt die entsprechende LED ein paar mal. Eine Änderung über den seriellen Befehl "wen=1" gefolgt von "531=x" mit x =CC-Set-Nummer erfolgen (wenn z.B. Register-Schalter statt -Taster angeschlossen sind).

UPDATE AVR Version 3.23 und FPGA Version 03042013, BUGFIX ScanCore Rev $07

Explicit overdrive when Leslie Volume on max, MIDI deglitcher added for noise immunity, MIDI CC set selectable via parameter, Scan Core bugfix for MIDI Active Sensing events (hanging/missing notes etc)

Auf vielfachen Wunsch habe ich in der neuen FPGA-Konfiguration #03042013 den Leslie-Pegel in der 147-Amp-Simulation angehoben, so dass jetzt bei voll aufgedrehtem "Leslie Volume"-Poti ein deutlich ausgeprägterer Overdrive-/Distortion-Effekt entsteht. Außerdem wurde in #03042013 ein digitales Tiefpassfilter beim MIDI-Eingang hinzugefügt, so dass jetzt Probleme mit bestimmten Keyboards nicht mehr auftreten sollten.

Wichtige Änderung bei Scan-Cores bez. MIDI-Eingang: Die Behandlung von Active-Sensing-Events wurde mit Rev. $07 gefixt. Einige MIDI-Keyboards senden nach einem Active-Sensing-Status ($FE) kein neues Keyon/Keyoff-Statusbyte. In so einem Fall konnten mit den älteren Scan-Cores (Rev. $06 und davor) Noten verlorengehen oder blieben hängen. Dies ist zum Beispiel bei Yamaha-Keyboards der Fall.

Kleine Änderung bei AVR-Firmware #3.23: MIDI-Controller-Set jetzt mit Parameter 531 änderbar: 0=NI B4, 1=Voce, 2=Hamichord, 3=Hammond (letztere zwei noch nicht abschließend getestet). EEPROM-Neuprogrammierung seit #3.22 ist nicht nötig. Vor dem Ändern Schreibfreigabe mit "wen=1" erforderlich.

BUGFIX AVR Version 3.22, FPGA Version 27012013

Deleted a nasty bug that prevented MIDI control of Leslie, Vibrato and Percussion setting

Dieser Bugfix behebt ein Problem, das irgendwann seit Version 3.11 aufgetaucht ist (und leider erst jetzt bemerkt wurde - mein Dank gilt unserem Kunden Herrn Heckert): Die Einstellung für Percussion, Vibrato und Leslie konnte nicht mehr per MIDI ferngesteuert werden. Mit Firmware 3.22 behoben. Die FPGA-Version beseitigt einen Schönheitfehler: Pedal-Sustain läuft jetzt nicht mehr über den Bass-Rotor, sondern wird erst ganz zum Schluss hinzugemischt. Bitte programmieren Sie auch das EEPROM neu!

Geänderte Scan-Cores (Rev. $06) ohne All-Notes-Off-Erkennung. Nötig, weil manche Master-Keyboard nach Loslassen aller Tasten einen All-Notes-Off-Befehl senden und dadurch Störungen beim HX3 auftreten. Die .DAT-Files müssen in den FPGACORES-Ordner kopiert werden (ggf. auch nur das benötigte) und die Scan-Cores neu aufgespielt werden, wie unter Firmware- und FPGA-Update beschrieben.

UPDATE AVR Version 3.21, FPGA Version 15012013

New Features: Reloadable FIR filter for Leslie horn emulation, better "throb" and overall effect

Ab dieser Version wird ein neues, sehr viel genaueres Verfahren zur Modellierung des charakteristischen Frequenzgangs des Jensen V21 Horntreibers verwendet. Es eliminiert ebenso die früher durch Biquad-Rundungsfehler aufgetretenen Nebengeräusche. Die neue FPGA-Konfiguration 15012013 benötigt eine Neuprogrammierung der Controller-Firmware (Version 3.21) samt EEPROM. Die Leslie-Simulation ist nur noch in Mono; der "linke Kanal" (Klinkenstecker-Ring) der Leslie-Ausgangsbuchse führt nun das Signal nach dem "147-Amp" (inkl. Overdrive, regelbar über Leslie Volume-Poti) ohne Leslie-Effekt.

Hintergrund: Anstelle der bislang verwendeten Biquad-Filter wird ein so genanntes FIR-Filter mit der Original-Impulsantwort des Leslie-Horns benutzt. Die 512 Integer-Filterkoeffizienten sind im Controller-EEPROM abgelegt und können mit den Parametern 2000 bis 2511 neu geladen werden; ich werde "auswechselbare" Impulsantworten verschiedener Leslies demnächst als Patch-Makro zur Verfügung stellen. Das FPGA berechnet die Faltung (diskrete Fourier-Transformation) mit dem Hochton-Signal der Frequenzweiche mit 50 Millionen Berechnungen pro Sekunde; für jedes der 48000 Samples pro Sekunde sind 512 Multiplikationen und Additionen notwendig. Normale DSPs geraten hierbei schon an ihre Grenzen - das FPGA erledigt diese Aufgabe quasi nebenbei.

Bitte beachten

Dieser Versionssprung erfordert Neuprogrammierung des ATmega644 mit FLASH und EEPROM sowie Hochladen der beigefügten FPGA-Konfiguration über TeraTerm-Makro, ggf. auch Neueingabe der Lizenznummern, wie unter Firmware- und FPGA-Update beschrieben.

Varianten: 
HOAX_main.hex           Flash-Dastei zum Upload per AVRdude, Button Presets oder Preset16-Panel
HOAX_main_latching.hex  Flash-Dastei zum Upload per AVRdude, Latching Presets (einrastende Tasten)
HOAX_boot_main.hex      Flash-Dastei komplett mit Bootloader, für OEM-Programmierung über ISP-Programmer
HOAX_main.eep           EEPROM-Datei zum Upload mit AVRdude oder Programmierung über ISP
main_midi.bit           FPGA-Konfiguration 03042013, in Ordner FPGACORES zu kopieren für Upload

Important

Version AVR: #3.21 Version FPGA: 15012013 needs complete programming of ATmega644 FLASH and EEPROM, also reload of FPGA configuration and re-entry of licence numbers. Please regard installation instructions Firmware- und FPGA-Update!

Variants: 
HOAX_main.hex           Flash file for serial upload via AVRdude, button presets or Preset16
HOAX_main_latching.hex	Flash file for serial upload via AVRdude, latching presets
HOAX_boot_main.hex      Flash file complete with Bootloader, for OEM programming by ISP programmer
HOAX_main.eep           EEPROM file for upload via AVRdude or ISP programming
main_midi.bit           FPGA configuration 03042013, to be copied in directory FPGACORES

Version History

  • Update FPGA-Konfiguration #03042013: MIDI-Bugfix, stärkeres Overdrive
  • Änderung Firmware #3.23: MIDI-Controller-Set per Parameter 531 auswählbar
  • Bugfix Firmware #3.22: MIDI-Control von Percussion, Vibrato und Leslie war fehlerhaft
  • Änderung FPGA-Konfiguration #27012013: Pedalsustain nicht mehr über Bass-Rotor
  • Änderung Scan-Cores in Verzeichnis BETA: All-Notes-Off Erkennung deaktiviert
  • Update Firmware #3.21 und FPGA-Konfiguration #15012013: Deutlich verbesserte Leslie-Simulation durch FIR-Konvolutionsfilter, weniger Störgeräusche. FLASH-, EEPROM- und FPGA-Neuprogrammierung erforderlich!
  • Update Firmware #3.11: Schweller-Steuerung verbessert, Funktion "Disable MIDI IN Controllers" wenn auf Parameter "MIDI option" (510) +4 addiert wird (also 4..6 statt 0..2). Aufspielen der neuen FPGA-Konfiguration 19122012 empfehlenswert, ebenso EEPROM-Programmierung oder Patch-Makro 3.11
  • Update Patch-Makro #3.11: Perkussion exakt nach Hammond B3 von Lutz Krajenski
  • Update FPGA-Konfiguration #19122012: Nebengeräusche bei oberen Tonlagen und gesamtes Tapering verbessert; ausgewogenerer Klang in unteren Mittellagen, nicht mehr so "nasal"
  • Änderung Firmware #3.10: Wenn nur ein Preset16-Panel angeschlossen ist, werden obere und untere Tastenreihe auf Ober- und Untermanual aufgeteilt, es stehen also mit nur einem Preset16 (Jumper "Upper" setzen!) zweimal 8 Presets zur Verfügung
  • Update Firmware #3.09: Spezielle Version für "Latching Preset Keys" (siehe Preset12 MPX) online
  • Änderung Firmware #3.09: Owner-Info (Name) jetzt im EEPROM vermerkt und mit 9990? abrufbar bzw. 9990="Vorname Name" änderbar (Schreibfreigabe mit WEN=1 erforderlich)
  • Patch Patch-Macro 25.09.2012: Geeignet ab FPGA-Konfiguration #24092012 und Firmware #3.08, neue EEPROM-Parameter Leslie-Equalizer
  • Update FPGA-Konfiguration #24092012: Leslie-Nebengeräusche (Digitalisierungsrauschen) stark vermindert, Firmware #3.08 erforderlich wg. Parameter-Änderungen (Lautsprecher-Simulationsparameter).
  • Update Firmware #3.08: Percussion Volume Normal führt jetzt standardmäßig zu einer Absenkung des Zugriegel-Pegels wie beim Original. Änderungen einiger Parameter, erfordert EEPROM-Neuprogrammierung (Alternative: Parameter-Macro, siehe oben)
  • Update Firmware #3.07: Manual Split jetzt immer "live", Sustainzeit-Steuerung verbessert, bisher unbenutzte PL12 Pins 1 bis 3 jetzt Ausgänge für ext. Leslie-Steuerung (siehe auch Zubehör-Platinen zum Selberbauen)
  • Bugfix Firmware #3.05: Bug in Leslie-Steuerung behoben (ließ sich bei Preset nicht am Panel ändern), Leslie-Minimallautstärke angepasst, MIDI-Controller-Steuerung verbessert
  • Änderung FPGA-Konfiguration #01092012: Basspedal-Lautstärke wieder etwas abgesenkt (6dB), Nebengeräusche/Verstärker-Rauschen optimiert
  • Änderung FPGA-Konfiguration #31072012: Basspedal-Lautstärke um 12 dB angehoben
  • Bugfix Firmware #3.04: Vibrato-Zuordnung V2/C2 war fehlerhaft, kleiner Bug in Parser
  • Bugfix Scancores Rev. #6, Scancore 3 für Scan4014-16 44-Tasten-Manuale und Scancore 0 für OrganScan61: Problem mit Bass-Split Untermanual behoben
  • Änderung Firmware #3.03: Einschaltmeldung zeigt jetzt Lizenznummern an, EEPROM und gespeicherte Presets werden bei Neuprogrammierung beibehalten

Ausgelieferte Erstversion war Firmware #3.02, FPGA-Konfiguration #21022012 und Scancore Rev. #4 bzw. #5.