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:

Download: PropTerminal_0.3.zip (106 kB) Version 0.3 for Windows
Download: PropTerminal_0.4.zip (94 kB) Version 0.4 for Windows
This is the latest version of PropTerminal with all the drivers and demos. Look at the readme.txt for a description in english.