Firmware Informationen



Wir wollen einen robusten, einfach zu bedienden Computer mit den Funktionen, die man bei anderen Herstellern vergeblich sucht -- ohne dass dabei Übersichtlichkeit und Zuverlässigkeit verloren gehen. Wir bieten den Computer zudem als Experimentalplattform, auf der auch neue Ansätze zur Dekompressionberechnung ausprobiert werden können, ohne dass zunächst die aufwändige Hardware entwickelt werden muss.


Allgemein:


Zunächst einHinweis: Die Programmierung von einem Mikrocontroller (wie er im OSTC eingesetzt wird) ist mit der Programmierung z.B. eines Windows-Programms nicht vergleichbar. Die verfügbaren Ressourcen sind begrenzt und müssen bei jeder Erweiterung im Auge behalten werden.

Auch wenn einzelne Programmteile natürlich unanhängig entwickelt werden können, bedeutet das nicht, dass man ohne weiteres Plugins im OSTC laden oder installieren kann. Die Firmware als Ganzes kann im OSTC aktualisiert werden, nicht jedoch ein einzelnes Modul. Aktualisierte Module werden also zusammen mit den anderen Programmteilen neu kompiliert und dann als komplette Firmware in den OSTC überspielt.

Die Programmierung des OSTC erfordert eine Einarbeitungphase. Erfahrungen mit Mikrocontrollern -- im Idealfall mit welchen der Fa. Microchip -- sind empfehlenswert.


Software und Quellcode:


Der Quellcode wird von uns vollständig offengelegt, bis auf den Bootloaderteil ist der gesamte Controller benutzbar. Es gibt also kein Betriebssystem, in dem der Nutzer eigene Programme ausführen kann, sondern es besteht vollständiger Zugriff auf sämtliche Befehle/Funktionen, die im Datenblatt des Controllers beschrieben sind.

Der RAM wird nicht verwaltet, das heißt, dass eine fehlerhafte Routine z.B. durchaus Auswirkungen auf andere Funktionen haben kann. Ein intensiver Test (an dem jeder interessierte Nutzer teilnehmen kann) steht also jeder stable Version bevor. Der Controller des OSTC führt dabei sowohl niedere Hardwarefunktionen (wie das Auslesen des Drucksensors oder das Aktualisieren der Echtzeituhr) als auch höhere Softwarefunktionen (wie die Dekompressionsberechnung) aus. Dafür werden je nach Priorität Interrupts und Scheduling verwendet.

Die hardwarenahen Funktionen und Module sind in Assembler, die Dekompressionsberechnung ist zur besseren Lesbarkeit in C programmiert. Das momentan verwendete Rechenmodell ist das Bühlmann ZH-L 16. Auch bei in C geschriebenen Erweiterungen muss der Entwickler mit der Datenstruktur und den Eigenheiten des Prozessors vertraut sein eine entsprechende Einarbeitung ist unumgänglich. Wir werden bei allen Fragen so behilflich wie möglich sein und hoffen, dass andere Nutzer sich in den Quellcode einarbeiten und helfen dieses Projekt weiterzuentwickeln.

Weitere Entwicklung:


Open Source bedeutet nicht, das jeder dieses Gerät programmieren muss, sondern das er es kann. Von Open Source Software profitieren selbstverständlich auch diejenigen User, die nicht selber programmieren, sondern Fehler melden und Hinweise geben. (Nicht zuletzt gibt es erst wenige Tauchcomputer auf dem Markt, bei denen ein Firmwareupdate überhaupt möglich und vorgesehen ist.)

Darüber hinaus gibt es die Möglichkeit, innerhalb des OSTC eigene Hardware zu installieren. Rechts neben dem Display ist auf der Leiterplatte ein Steckplatz mit einer Schnittstelle zum Controller vorhanden. Ideen, diesen zu nutzen, gibt es schon einige (eine drahtlose Flaschendrucküberwachung wurde uns gegenüber immer wieder als Wunsch geäußert, der Platz für die nötige Antenne wurde beim Gehäusedesign daher von Anfang an berücksichtigt), einen Zeitplan für Erweiterungsmodule gibt es aber noch nicht.



Bootloader:


• Nach dem Entpacken den Bootloader mit Aufruf von tinybldWin.exe starten
• Entsprechenden COM Port auswählen
• Zum testen der Kommunikation die Schaltfläche CheckPIC wählen und OSTC mittels
Reset-Taste am Interface resetten
• Aktuelle HEX Datei (Firmwaredatei) auswählen
• Schaltfläche Write Flash wählen und OSTC mittels Reset-Taste am Interface resetten
• Während die Firmware aktualisiert wird am OSTC keine Tasten betätigen und den
Vorgang abwarten
• Wurde die Firmware erfolgreich aufgespielt, startet der OSTC automatisch neu, die Uhrzeit
muss neu gestellt werden
• Den Bootloader können Sie hier herunterladen.


Firmware:


Die Firmware unterliegt der GNU General Public License .

Das Code Repository ist bei Bitbucket gehostet: http://bitbucket.org/heinrichsweikamp/ostc_code/

Schreibrechte werden an jeden Interessierten Programmierer vergeben. Lesen des Code Repository geht auch ohne Anmeldung!

Die Stable Versionen und Beta Snapshots stehen hier zum Download bereit.

WICHTIGER HINWEIS:

Sie sehen hier rein textliche, barrierefreie Inhalte,