LEDC.EXE R1.02e-0

Das Programm LEDC.EXE dient der Steuereung einer sog. "Ampelanlage" die am parallelen Druckerport angeschlossen wird.

In meiner alten Schule - dem KLG in Erfurt - wurden/werden n�mlich solche kleinen Platinen gelegentlich im ITG-Unterricht eingesetzt bzw. hatte sich jemand aus meinem Kurs einst dies zum Thema seines Inf-Projektes erkl�rt; wodurch es sich herrlichst ergab dieses kleine Programm zu verfassen - was �brigens auch problemlos ohne eine solche LED-platine arbeitet - und da sehr h�bsch aussehend, deshalb sehr empfehenswert.

ledc.exe (etwa 20K)

Doku

     1 allgemeine Programmbedienung
   1.1 LEDs aktivieren und deaktivieren
   1.2 das Konzept der LED-Abfolgen (Lichtspiele)
   1.3 spezielle Editierfunktionen f�r LED-Folgen
   1.4 Pausen einbauen
   1.5 Dateien

     2 Programmeinstellungen vornehmen
   2.1 LED-Farbe einstellen
   2.2 Zordnung der LEDs zu Druckerport-Steuerleitungen
 2.3.1 Ausgabeanzeige
 2.3.2 Tastatursteuerung
 2.3.3 Basisport
   2.4 die Konfigruationsdatei

     3 m�gliche Probleme bei Verwendung

     4 nicht dokumentierte Zusatzfeatures

   5.1 bei Anfragen bitte an mich wenden
   5.2 Dokumentationen �ber diese LED-Platinen gibt es wom�glich vom KLG

Programmbedienung

Die Bedienug des Programms erfolgt durch Maus und Tastatur, und entspricht weitestgehend der allgemeinen OBerfl�chenstruktur vieler anderer Porgramme.

Der Bildschirm ist aufgeteilt in:
  1. eine f�r den Benutzer nur zu Informationszwecken interressante Statusleiste am unterne Bildschirmrand
  2. die Arbgeitsoberfl�che (in dunkelgrau) die beinahe den gesamten Bildschirm bedeckt, und die w�hrend der Arbeit wichtigsten Elemente anteigt.
  3. und eine Men�leiste (Farbe cyan) mit Programmtitel dar�ber
Dabei lassen sich sehr viele Operationen, wie Dateien laden und speichern oder das Einstellen des Programmverhaltens �ber das Men� ausf�hren.
Es wird aktiviert durch die Taste F9 oder F15 (F15 wird oft f�lschlich als "Men�taste" von sog. "Windows95-Tastaturen" bezeichnet). Auch ein einmaliges Antippen der Alt-Taste f�hrt zur Aktivierung des Men�s, die Kombination aus Alt-Taste und dem rot gekennzeichneten Buchstaben eines Men�-punktes aktiviert denselben. Selbstverst�ndlich ist es ebenfalls durch anklicken mit der Maus zug�nglich.

F�r einige wichtige Funktionen sind �berdies kleine "Abk�rzungen" definiert, so da� der Weg �ber das Men� vermieden werden kann: Lesen sie zur Bedienung der Arbeitsoberfl�che auch die folgenden Kapitel.

Die LEDs auf der Oberfl�che

Die LEDs werden einfach mit der linken(!) Maustaste aktiviert, bzw. auch wieder deaktiviert.
Ver�nderungen der LEDs k�nnen aber auch beim Scrollen der LED-Abfolgen auftreten - doch dazu sp�ter mehr.
Generell werden die ver�nderten LEDs auf dem Bildschirm auch gleich an den Druckerport (mit LED-Platine) ausgegeben.
Eine weitere M�glichkeit zum Setzen der LEDs ist nicht standardm��ig, sondern erst auf Verlangen verwendbar. Die Option "LED-Tastatursteurung" im Men�-Punkt "Einstellungen" kann dabei wahlweise gestzt werden auf:
  1. eine alphabetische Bezeichnung der LEDs, in der die erste Diode dann �ber "a", die zweite via "b", die dritte "c", usw. bedient werden kann.
  2. oder die hexadezimale Bezifferung, die sich deshalb anbot, weil die Anzahl der Leuchtdioden ohnehin auf 16 begrenzt ist.
Wenn die Tastatursteurung aktiviert wurde, ist nat�rlich eine Mausbedinung weiterhin m�glich.

LED-Abfolgen, oder auch "Lichtspiele"

Der Sinn dieses Programmes besteht selbstverst�ndlich nicht darin einfach nur einamlig einzelne Leuchtdioden zu erhellen (daf�r w�re der Aufwand f�r eine solche Oberfl�che einfach zu hoch), sondern soll verhindern, da� f�r den einfachen Zweck eines "Lichtspieles" - also einer zeitlichen Abfolge von LED-Belegungen erst ein ganzes Programm geschreiben werden muss - auch wenn es hierzu nur eines BASIC-Interpreters oder DEBUG bedarf.

Das Konzept der LEDC-Oberfl�che ist es, die LEDs als "aktuelle Belegung" zu Betrachten, und desweiteren davon auszugehen, da� dieser Belegung weitere folgen und/oder ihr vorausgehen.
Der Anzeige dieser Belegungen ist das Scroll- (hoch+runter) Element am rechten Bildschirmrand gewidmet.
Durch die Pfeiltasten "Hoch" und "Herunter" oder Anklicken der entsprechenden Symbole mit der Maus wird nun ein neuer oder vorhergehender Zustand eingestellt, der dann "aktuell" wird und �ber die LEDs bearbeitet werden kann.
Sicher haben sie die Symbolik des Scroll-elementes schon erkannt: Es ist das entsprechende Bitmuster (1 f�r LED an und 0 f�r LED aus) der Belegung, was die Kreation eines "Lichtspieles" ganz besonders vereinfacht.

LEDC hat ein einstellbares Verhalten f�r die �bertragung des aktuellen Belegungsmusters zwischen Belegungs-Scroller und LED-Anzeige, das hier jedoch nicht n�her beleuchtet wird.

spezielle Editierfunktionen

sind zug�nglich �ber den Men�punkt "Edit", und wirken sich nur auf das Scrollelement f�r die LED-Belegungs Muster aus.

Mitunter kann es vorkommen, das ein Zustand / eine Belegung als Zwischenschritt in der Gestalltung eines "Lichtspieles" vergessen wurden, bzw. eine Belgung zu oft vorkommt. Dann w�re es nat�rlich m�hselig alle auf die fehlerhafte Lichtspielstelle folgenden Belegungen umschreiben zu m�ssen. Daher k�nnen "Leerzeilen" mit EINFG in den Scrollbalken eingeschoben werden, oder auch mittels der ENTF-Taste eine Belegung aus der Liste aller Belegungen gel�scht werden (- "Leerzeile" ist im Einf�gefall allerdings nicht als Null-LED-Aktiv zu verstehen, sondern vielmehr die aktuelle Belegung, die somit letztlich eingef�gt wird).

alle Pausen gleich

setzt den Pause-Wert (Anzeige unten links) f�r alle Belegungen auf den gerade aktuellen Wert. Hilfreich vor allem dann, wenn sie merken, da� ihr Lichtspiel zu schnell oder zu langsam abl�uft.
doch mehr dazu im n�chsten Abschnitt:

Pausen

F�r Lichtspiele kann es mitunter sehr interressant sein, nicht nur schn�de Blinkeffekte zu erzeugen, sondern LED-Belegungen auch mit auf den aktuell gew�nschten Wirkeffekt zugeschnitten Pausen zu pr�sentieren.
Der Pausen-Wert besagt also, wie lange in einer LED-Belegung verharrt werden soll. Nat�rlich w�re es auch m�glich dies durch wiederholte Auff�hrung der selben LED-Belegung eine solche Funktionsweise vorzut�uschen, jedoch sorgte dies sicherlich kaum f�r �bersicht in den Belegungen.

Jede Belegung besitz �berdies ihre eigene "Pause", so da� mitunter der Einsatz der Edit-funktion, wie sie im letzt. Abschnitt beschrieben wurde sinnvoll sein kann.

Dateien

Sobald sie ein elegantes Lichtspiel kreiert haben, f�nden w�re es sicherlich sehr schade, wenn es nach Programmbeendigung einfach verschwunden w�re, und stundenlange Arbeit einfach im Arbeitsspeichernirvana landete. Deshalb gibt es die Datei-optionen Speichern (F2) und Laden (F3).
Auf eine Ausf�hrung dieser bekannten und daher trivialen Funktionen wird an dieser Stelle verzichtet.

Exportieren

Eine besondere Speicherfunktion stellt "Exportieren" (via F4) dar.
Wichtig: Etwas allgemeines vorweg: Hiermit wird keine Datei erzeugt, die von LEDC noch einmal wiederverwndbar w�re, so da� eine vorherige Abspeicherung mit F2 unbedingt empfohlen wird.
Exportiern bedeutet f�r LEDC das Lichtspiel nicht im internen Format in eine Datei zu schreiben, sondern ein Programm zu schreiben, welches das Lichtspiel von sich aus ausgeben kann, ohne das LEDC sp�ter daf�r von N�ten w�re. Sie k�nnen also somit ihr Lichtspiel so jemandem zukommen lassen, ohne ihm auch noch dieses w�nderh�bsche Programm LEDC aush�ndigen zu m�ssen.
Die Ausgabe erfolgt dabei in bislang zwei Programmtypen:
  1. .COM-Programm: gibt ihr Lichtspiel ab Programmaufruf sofort und ohne Vorwarnung oder Bildschirmausgabe auf den Druckerport aus.
  2. Pascal-Quellcode: erstellt kein Programm sondern nur den Quellcode f�r Turbo Pascal (ab Version 3.0), der erst durch dem entsprechenden Compiler zu einem vollwertigen und ausf�hrbaren Programm wird.
Noch ein Hinweis: Falls ihre LED-Platine nicht die logische Datenleitungs-Addressierung f�r die LEDs einsetzt (Bit0 f�r LED ganz au��en, daneben f�r Bit1, Bit2, ...) - was f�r LEDC durch die umfangreichen Einstellm�glcihkeiten kein Problem ist - so werden die ausgegebenen Daten umgerechnet (in die richtigen Ausgabebitmuster) in das Programm geschrieben, was bedeutet, da� das Programm auf anders organisierten Platinen eine seltsame Wandlung durchmacht.
Dahingegen sind LEDC-Dateien f�r jede LED-Platine gleich, da sie erst durch die Einstellungsdaten in "LEDC.DAT" in die f�r die Platine richtigen Ausgabemuster umformt.

Programmeinstellungen

�ber das Men� lassen sich s�mtliche Einstellung f�r das Programm einsehen und ver�ndern. Vergessen sie bitte nicht, die ge�nderten Einstellungen auch sp�ter abzuspeichern.

LED-Setup

Kann es vielleicht sein, da� die Leuchtdioden auf ihrer LED-Platine ganz andere Farben haben, als die die auf der Oberfl�che von LEDC dargestellt werden? - Sehr wahrscheinlich sogar, denn was LEDC als Standardfarben nimmt wurde vom Autor einfach so wahllos festgelegt und entspricht daher nur mit einer Wahrscheinlichkeit von 1:4'294'967'296 dem was sie auf ihrer LED-Platine verl�tet haben.

Wollen sie also die Farbe einer Leuchtdiode ver�ndern, so bewegen sie die Maus �ber die entsprechende LED auf der Oberfl�che und bet�tigen die rechte Maustaste.
Ein Men� �ffnet sich, da� ihnen die Selektierung der Farbe erm�glicht. W�hlen sie einfach die Farbe (die entsprechende LED wird sich dann auch dementsprechend ver�ndern) und dr�cken anschlie�end ENTER/ESC bzw. klicken auf das entsprechende Schlie�en-Symbol dieses Dialoges.

LED-Zordnung

Nicht nur die Farbe einer Leuchtdiode kann von der dargestellten Farbe einer LED auf der Oberfl�che von LEDC abweichen, viel schwerwiegender ist es n�mlich, wenn eine (alle) Leuchtdiode(n) an eine andere Druckerportleitung angeschlossen sind, als es LEDC nach Voreinstellung vermutet.
�ffnen sie wieder das Farbmen� der entsprechenden LED, in dem sich auch diese Einstellung vornehmen l��t.

Die "Leitung" an die eine LED angeschlossen ist wird bestimmt durch:
  1. die genaue Port-Addresse (gelbe Zahl, rechts oben im Dialog) - insgesamt gibt es zu jedem LPTn-Port zwei Ausgabeaddressen, die durch anklicken in des gelb dargestellten Wertes durchgez�hlt werden k�nnen.
  2. die entsprechende "Leitung" an einer der beiden Port-Addressen, bis zu acht m�gliche Bits/Leitungen kann ein Port aufnehmen, dabei sind die Bits nummeriert von Bit[0] �ber Bit[1], Bit[2] ... bis Bit[7]
    Klicken sie auf die gr�ne Zahl, der EingabeCursor erscheint w�hlen sie eine Zahl von 0 bis 7, und anschlie�end ENTER / ESC (zus�tzlich zum Bit-[n]-Wert wird auch der zugeh�rige dezimal-Wert angezeigt).
Somit lassen sich �ber 2 Ports mit je 8 Bit insgesamt bis zu sechzehn LEDs ansteuern.
Bitte beachten sie, da� die hier vorgenommen Einstellungen Platinen-spezifisch sind, und deshalb die Konfigurationsdatei LEDC.DAT nicht beliebig zwischen zwei Rechnern mit unterschiedlichen Platinen ausgetauscht werden sollte.

Ausgabeanzeige

Es ist klar, da� sie mit LEDC ein "Lichtspiel" nicht nur eingeben, sondern auch verwenden k�nnen sollten, jedoch wird mitunter gew�nscht, die Ausgabe, die zwar eigentlich schon auf der LED-Platine (wenn vorhanden) erfolgt, auch auf dem Bildschirm zu haben.
Dort ist es allerdings Standard-einstellung, die Oberfl�che beizubehalten, und lediglich die LEDs aufleuchten zu lassen.
Weitere ausw�hlm�glichkeiten sind jedoch vorhanden:

Tastatursteuerung

Wurde bereits im Abschnitt LEDs aktivieren/deaktivieren n�her beleuchtet.

Basisport

Eine sehr wichtige noch nicht erw�hnte Einstellung ist der Basis-drucker-port, an dem die LED-Platine angeschlossen ist. Normalerweise besitzt ein Standard-PC nur einen LPT-Port, aber falls sie am ersten Drucker-port einen Drucker und am zweiten oder dritten dann die LED-Platine (evtl. dauerhaft) angeschlossen haben, so sollten sie vor der Benutzung von LEDC unbedingt diese Einstellung verwenden, bzw. den ersten Start von LEDC sicherheitshalber mit dem Parameter /n (Ausgabedeaktivierung) versuchen, und erst mit den korrekten Einstellungen das Programm erneut aufrufen.

Der Druckerport flie�t �brigens in den Dialog Port- und Farbeinstellungen einer jeden LED mit ein. (wenn ein LPT-Port nicht vorhanden ist, so ergibt die dortige Ausgabe einen Wert von 0 oder 2).

Konfigurationsdatei

Wie bereits mehrfach erw�hnt tr�gt die Konfigurationsdatei den Namen LEDC.DAT, und wird gleich bei Programmstart aus dem aktuellen Verzeichnis geladen.
Bitte vergessen sie nicht die Einstellungen (ebenso Farbe und Drucker-Steuerungsleitung) nach Ver�nderung mit abzuspeichern.

Probleme

Bisher sind keine bekannt.

Ausgabe abschalten

Wer keine LED-Platine am Druckerport angeschlossen hat, sollte sich eigentlich keine Sorgen machen m�ssen, da in diesem Fall auch keine Fehlerhaften Signale an irgend ein Ger�t geschickt werden k�nnen, und somit ein reibungsfreier Systemablauf gew�hrleistet ist, auch wenn DAten ins Nichts geschossen werden.
Falls irgendjemand aus unerfindlich Gr�nden wider erwarten doch Probleme haben sollte, m�ge LEDC mit dem Parameter /n zu starten versuchen.

Systemanforderungen

Zus�tze

Neu in der letzten Version von LEDC ist die Funktion, die Tastatur-LEDs mit in die Ausgabe einzubeziehen.
Diese Funktion l��t sich aber nicht aus dem Programmmen� einstellen, sondern mu� von Hand eingearbeitet werden. Wie dies Funktioniert steht allerdings bereits in "liesmich" (F1), so da� hier auf eine Erl�uterung verzichtet wird.

Ein Feature, da� nicht ordnungsgem�� arbeitet, und deshalb auch erst hier erw�hnt wird ist, der pseudo-graphische Mauscursor, der nur �ber den Aufrufparameter /g aktiviert werden kann.

Anfragen

Anfragen und konstruktive Kritiken bez�glich des Programms irgend einer Art, sind wie immer herzlichst willkomen.
<[email protected]>

Von was f�r einer LED-Platine wird da eigentlich st�ndig gesprochen - wo bekomme ich so etwas her?

Keine Ahnung, ich habe selber nie eine gehabt.

Aber mit Sicherheit kann euch einer der Informatiklehrer am KLG in Erfurt da weiterhelfen - denn die haben ja schlie�lich solche Dinger irgendwann einmal gebaut. Und wenn die Widerst�nde nicht �berlastet wurden, so blinken sie noch heute.
Die aktuelle eAddresse vom KLG lautet [email protected].
(Bitte nicht vergessen Frau Eisenberg sch�ne Gr��e von Mario auszurichten, oder so etwas �hnliches)