PropTerminal ist ein kleines Terminal-Programm, das speziell zur Kommunikation mit einem
Propeller Chip entwickelt wurde. Es kann die Tastatur, die Maus und die Text-Ausgabe des
Demo-Boards emulieren. Statt PS2-Keyboard und Maus, und TV-Bildschirms, benötigt
man nur die serielle Schnittstelle zum PC.
Konzept
Die Idee zu PropTerminal entstand beim Testen des Propeller Chips auf einem Steckbrett. Wieso muss
man ein Keyboard und eine Maus über PS2 Konnektoren anschliessen, wenn man diese doch schon am
angeschlossenen Entwicklungs-PC hat? Das braucht viel Platz, ist mechanisch anfällig, und belegt
zudem noch 7 bis 12 IO-Pins des Propellers (mit TV / VGA Ausgabe).
Also musste ein Programm her, das Tastendrücke und Maus-Ereignisse seriell senden konnte, sowie
empfangene Daten in einem Fenster anzeigt.
Damit hat man 30 IOs frei, nur Pin 30 und 31, die ja sowieso zum programmieren gebraucht
werden, sind belegt.
Natürlich soll man entwickelte Propeller Anwendungen aber auch ohne PC, mit am Propeller
angeschlossenem Keyboard, Maus und TV-Bildschirm laufen lassen können. Deshalb sollte alles möglichst
kompatibel zu den Original-Treibern sein. Dazu habe ich Ersatz-Objekte für Keyboard.spin, Mouse.spin
und TV_Text.spin entwickelt, die mit dem PropTerminal kommunizieren. Man kann nun für jedes Gerät
wählen, ob man die PC-Emulation oder das Original-Gerät einsetzen will, indem man das entsprechende
Spin-Objekt einbindet.
Resultat
Entstanden ist das, weiter unten downloadbare, Packet aus PC-Programm, Spin-Treibern und Demos. Das
PC-Programm PropTerminal.exe wurde mit PureBasic 4 erstellt, und ist darum klein und schnell, und
ohne Runtime-Bibliothek lauffähig. Es verwendet zum Anzeigen der empfangenen Zeichen einen Bitmap-
Font der dem internen Font des Propellers entspricht. Allerdings sind die Farben festgelegt, von
der Spin Anwendung kann nur die Farbnummer 0..7 gewählt werden, aber die Palette nicht beeinflusst
werden (die Palette kann in der PropTerminal.ini Datei verändert werden, wenn gewünscht).
Getestet habe ich die Emulation auch mit "fremden" Anwendungen, wie dem
dscope von Parallax, und
dem POD
von "Kaio". Ich musste jeweils nur im OBJ -Teil des Spincodes das Objekt Keyboard durch
PC_Keyboard, und TV_Text oder TV_Terminal durch PC_Text ersetzen. Nachfolgend einige Screenshots:
Will man Propeller Code schreiben der nur mit PropTerminal laufen soll, so gibt es noch den Treiber
PC_Interface.spin, der Keyboard, Maus und Display zusammenfasst. Dabei wird nur ein Objekt benötigt,
und vor allem nur 1 Cog belegt, während die einzelnen Treiber bis zu 3 Cogs belegen können. Im Demo
dazu werden auch die einfachen Grafikmöglichkeiten des PropTerminal Displays gezeigt.
Integriert wurde auch noch ein Loader, der Binary-Files direkt in das Propeller RAM laden kann. Das
kann sehr nützlich sein, wenn PropTerminal oft mit bestimmten Programmen verwendet wird, da dann
nicht jedes mal das Propeller-Tool benötigt wird.
Installation und Anwendung
Entpacken Sie die ZIP-Datei in ein beliebiges Verzeichnis, und kopieren Sie die PC_xxx.spin Dateien
in das gleiche Verzeichnis, in dem sich auch die Original-SpinTreiber befinden (Keyboard.spin usw).
PropTerminal.exe ist die direkt lauffähige Anwendung und nicht ein selbstentpackendes Archiv oder Setup
Programm. Wenn gewünscht erstellen Sie ein Desktop Icon, durch Rechtsklick auf die Anwendung und danach
im PopUp Menu: Senden an../ Desktop.
Bei der Anwendung des Terminals es ist wichtig, dass nur immer ein Programm den COM-Port zum Propeller
belegen darf. Wenn man also den Code vom Propeller-Tool in den Propeller lädt, muss PropTerminal den
Port vorher freigegeben haben, danach sollte es ihn möglichst schnell wieder öffnen, um eventuelle Meldungen
des Propeller-Programmes empfangen zu können. Dafür wurde der Auto-Modus (im Options Menü) geschaffen,
der immer beim Minimieren des PropTerminals den COM-Port freigibt, und beim Wiederherstellen des
Fensters den COM-Port wieder belegt (Minimieren heisst verkleinern auf die Taskleiste unten durch Klick
auf das [_] Feld oben rechts im Fenster). Der Display Treiber PC_Text.spin hat in seiner Start-Methode
ein Delay von 2 Sekunden eingebaut, dadurch hat man nach dem Laden in den Propeller 2 Sekunden Zeit um das
PropTerminal wieder zu aktivieren (Diese Zeit kann im PC_Text.spin leicht verändert werden).
Weitere Informationen zu den einzelnen Menüpunkten, und eine Beschreibung des verwendeten Datenformats
findet man in der Datei: readme.txt (allerdings in Englisch).
Da viele Propeller Programme für die Verwendung mit einem normalen Terminal (ohne Emulationen) programmiert
sind kann PropTerminal ab Version 0.4 auch in einen solchen Modus geschaltet werden. Dabei ist dann auch
die Baudrate programmierbar. Im Normal-Terminal Modus können aber weiterhin z.B. die Grafikbefehle und der
Loader benutzt werden, und natürlich auch die einfache Umschaltung zwischen IDE und Terminal.
Download PropTerminal
Die neuste Version von PropTerminal mit allen Treibern und Demos als ZIP-Datei:
This is the latest version of PropTerminal with all the drivers and demos. Look at the readme.txt for a
description in english.