Bugfixes

Aus KeyboardPartner Wiki
Zur Navigation springenZur Suche springen

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. Alternativ zur Programmierung des EEPROMs mit AVRdude empfehlen wir folgendes Vorgehen:

Auch unabhängig von Firmware- und FPGA-Updates veröffentlichen wir neue EEPROM-Parametersätze als Patches, genauer gesagt als TeraTerm-Macro PATCH_MACRO.ttl in unserem GIT-Repository. Das Macro (Textdatei, Erstellungsdatum siehe dritte Zeile) aktualisiert die im HOAX-Controller-EEPROM abgelegten Parameter automatisch, ohne die Presets oder die eingestellte Scan-Routine zu verändern; es ist lediglich die serielle Verbindung zum HOAX/HX3 mit dem FTDI-Kabel und das Terminal-Programm TeraTerm (Windows, Freeware) notwendig. Auf diese Weise können Sie eine Neuprogrammierung des EEPROMs über AVRdude vermeiden. Testen Sie aber die TeraTerm-Verbindung und -Einstellungen, bevor Sie das Macro starten.

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. Bitte nicht vom Namen verunsichern lassen: Die Firmware wird bei ausgelieferten Platinen verwendet. Die neueste Firmware-Version finden Sie also immer dort, die vorherige 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)

Dateien:
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
in FPGACORES:
main_midi.bit           FPGA-Konfiguration zum Upload mit TeraTerm-Makro
*.dat                   PicoBlaze Keyscan-Routinen, zum Upload mit TeraTerm-Makro
*.bin                   SPIN-1 externe I2C Rerverb Programme, zum Upload mit TeraTerm-Makro
Batch-Dateien:
hoaxflash.bat           ruft AVRdude mit allen Parametern zum Flashen des 
                        Controllers mit "HOAX_main.hex" auf.
                        Parameter COM-Schnittstellennummer, z.B. "C:\HOAX>hoaxflash 14" for COM14
hoaxflasheeprom.bat     wie vor, jedoch zusätzlich mit EEPROM-Datei "HOAX_main.eep"
Sonstige:
avrdude.exe             AVRdude-Programm zum Firmware-Update über serielle Schnittstelle
libusb0.dll             Wird von manchen Windows-Systemen benötigt, um AVRdude auszuführen
ATmegaBOOT_xx8.c        Nur für Neukompilierung des Bootloaders mit WinAVR nötig
Makefile                Nur für Neukompilierung des Bootloaders mit WinAVR nötig
Verzeichnisse:
BETA                    enthält allerletzte Firmware und FPGA-Konfiguration
DOCS_PDF                Syntax-Tabelle zur Kommunikation und weitere Unterlagen
FPGACORES               FPGA-Konfiguration, Hallprogramme und Scan-Cores
PLATINEN                Schaltpläne, Bestückungspläne und weitere Unterlagen
TERATERM_MACRO          Update-Makros für Terminal-Programm TeraTerm
giveio                  Wird benötigt, um AVRdude auszuführen


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)

UPDATE AVR Version 3.2, FPGA Version 02012013

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 02012013 benötigt eine Neuprogrammierung der Controller-Firmware (Version 3.2) 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 02012013, in Ordner FPGACORES zu kopieren für Upload

Important

Version AVR: #3.20 Version FPGA: 02012013 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 02012013, to be copied in dierctory FPGACORES

Version History

  • Update Firmware #3.20 und FPGA-Konfiguration 02012013: 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.