Sonntag, 1. Juni 2014

Firmware Update - V4.5

Vor drei Tagen hat Geoff Graham eine neue Version von MMBasic veröffentlicht. Die Version 4.5 bringt einige Neuerung und Bugfixes mit sich. Das zugehörige Changelog ist volle 1,5 Din A4 Seiten lang. Die meisten Neuerungen sind dem Micromite geschuldet.

Hier die wichtigsten Neuerungen in Kürze:
  • Unterstützung für neue Hardware (z.B. Sony-kompatible IR-Signale decodieren und codieren, Ultraschall-Entfernungssensors HC-SR04, LC-Displays, einfache Matrix-Tastaturen, Drehencoder, ..)
  • Syntax-Änderung der I2C- und 1wire-Befehle
  • zahlreiche Bugfixe für den TFT-Maximite, darunter die Aktivierung der Pins jenseits der 20
Der letzte Punkt dürfte wohl alle TFT-Maximite-Besitzer freuen. Es ist jetzt möglich die Pins 21 aufwärts bzw. D1 aufwärts zu verwenden. Das war bisher nur mit einer selbst gebauten MMBasic-Version möglich. Darüber hinaus wurde die letzte Version der Touch-Funktionen implementiert, welche aber leider uralt und fehlerbehaftet sind (siehe z.B. http://raketenbuggy.blogspot.de/2014/02/4-uberraschung-touch-objekte-konnen-tft.html). Aber da diese von Carsten Meyer erstellt wurden kann sich Geoff da nichts aus dem Ärmel schütteln, sprich: Wenn's kein update gibt kann er auch Keins einbauen.

Der wichtigste Punkt ist wahrscheinlich die Syntax-Änderung bei den I2C- und 1wire-Befehlen. Die Änderungen sind so umfangreich, dass alte Programme, die I2C oder 1wire verwenden nicht mehr funktionieren. Geoff schreibt hierzu im Changelog ausdrücklich:

"If you have an existing program that makes heavy use of the I2C protocol it might be worth not upgrading if you do not need any of the other features that this version offers."
„Wenn man Programme hat, die oft das I2C-Protokoll verwenden, kann es sich lohnen auf das Update zu verzichten wenn man nicht die eine oder andere neue Funktion braucht, die diese Version bietet.“

Das hört sich jetzt schlimm an, ist aber in der Realität nicht ganz so wild. Es haben sich größtenteils nur die Namen der Kommandos geändert, die Struktur ist gleich geblieben. Z.B heißt das Kommando um I2C zu aktivieren jetzt „I2C OPEN “ statt „I2CEN“ und „I2C WRITE“ ersetzt „I2CSEND“, d.h. größtenteils lässt sich das durch suchen-und-ersetzen anpassen.

Allerdings gibt es Ausnahmen:
  • Im Master-Mode kann man keine Interrupts mehr definieren
  • Das Empfangs-Kommando im Master-Mode erlaubt es nicht mehr vorher mit dem gleichen Kommando Daten zu senden. Dafür ist jetzt ein extra Sende-Kommando erforderlich.
Ansonsten läuft die neue Version bei mir problemlos. Leider bin ich mit dem Gehäuse-Einbau noch nicht weiter gekommen. Ich kämpfe noch mit einem Problem (das Display spinnt ab und an), bei dem ich noch nicht weiß woher es kommt (vom Display oder vom Board) und was man dagegen machen kann.

Das update für den TFT-Maximite kann man übrigens hier herunterladen:
http://geoffg.net/tft-maximite.html

Gebraucht wird die Version ohne Bootloader, die im oberen Teil der Seite verlinkt ist.

Keine Kommentare:

Kommentar veröffentlichen