das |_ Team präsentiert:
Alle Projekte Kontakt / Impressum
'Lbit'
Diese 3 Varianten des
C-Control Steuercomputers werden unterstützt:
'Lbit' kann mehrere Programme
in getrennten Slots verwalten:
'Lbit' kann die Slots 1
bis 9 im
Terminalmodus direkt starten. In eigenen Anwenderprogramm können die Slots 1 bis
'n' als Unterprogramme
aufgerufen werden.
Der neue Host - Modus
_____
_____
_____ _____
_____ _____
_____ _____ _____
|| 1 || || 2 || || 3 || || 4 || || 5 || || 6 || || 7 || ||
8 ||
|| 9 ||
||___|| ||___|| ||___|| ||___|| ||___|| ||___|| ||___||
||___||
||___||
|/___\| |/___\| |/___\| |/___\| |/___\| |/___\| |/___\|
|/___\|
|/___\|
^-------^-------^-- Manueller Start Slot 1-9
---^-------^-------^
Im Terminalmodus stellt 'Lbit'
die nachfolgenden Funktionen bereit:
_________________________________
||jüngsten Slot in Liste starten ||
||_______________________________||
|/_______________________________\|
Die Leertaste startet das jüngst hochgeladene Anwenderprogramm
_
____
|| L
||
||___||
|/___\|
Die L-Taste
listet die vorhandenen Slots auf
_
____
|| -
||
||___||
|/___\|
Die Minustaste entfernt das jeweils zuletzt hochgeladene Programm
_
____
|| A
||
||___||
|/___\|
Die Taste 'A'
setzt den virtuellen Autostart-Jumper auf das
zuletzt hochgeladene
Programm
_
____
|| a
||
||___||
|/___\|
Die Taste 'a'
deaktiviert
den virtuellen Autostart-Jumper
_
____
|| E
||
||___||
|/___\|
Die Taste E liest den
Fehlerspeicher
Einspielen der 'Lbit'
Firmware erfolgt über die Serielle Schnittstelle des PC (Upgrade).
Zur Originalfirmware des C-Control kann jederzeit zurückgekehrt werden
(Downgrade).
Sicherung des im C-Control
vorhandenen Anwenderprogramms:
Das vorhandene Anwenderprogramm kann nach dem Upgrade mit
der 'Lbit' Firmware weiterhin benutzt werden. (Ohne Gewähr)
Nach einem Downgrade wird das vor dem Upgrade
vorhandene Anwenderprogramm wieder
hergestellt. (Ohne Gewähr)
Das Kleingedruckte:
(1)
Die Firmwareerweiterung 'Lbit' steht
in keiner Verbindung zur Conrad Electronic SE
und
ist nicht für die C-Control I Unit M2.0,
geeignet.
(2) 'Lbit' ist experimentelle Software und wird ohne Gewährleistung zur nicht-exklusiven,
freien Nutzung zur
Verfügung gestellt.
(3) Experimentelle Software kann Fehler enthalten
und darf nicht in Anwendungen verwendet werden aus deren Versagen
direkt oder indirekt Personen-, Sach-, oder Vermögensschäden resultieren können.
(4) Die
Herausgeber können keinerlei Haftung übernehmen für Schäden
welche aus Nutzung oder Nichtnutzung der
'Lbit'-Firmwareerweiterung und/oder der bereit gestellten Software
resultieren.
(5)
Ist
ein kompletter Haftungsausschluß im Gültigkeitsbereich der für
Herausgeber und/oder Nutzer geltenden gesetzlichen Vorgaben
nicht
gestattet, darf die 'Lbit'-Software nicht genutzt werden.
(6) Alle Rechte an der 'Lbit' Software verbleiben bei den Herausgebern.
(7)-Achtung:
Der
Pin zum Autostart-Jumper darf auf keinen
Fall ohne Vorwiderstand mit
der positiven Versorgungsspannung verbunden werden
(Bei der im Originalzustand
belassenen C-Control I
1.1 ist dies in der Regel auch gewährleistet).
(8) Mit Herunterladen oder Nutzung der 'Lbit'-Software erkennt Nutzer diese Vereinbarungen an.
Die 'Lbit' Firmware ist nicht
für die unten abgebildeten C-Control Systeme geeignet!
ACHT'UNG:
Umbauten an der C-Control durch
welche der Autostart-Pin auch nur kurzzeitig ohne Vorwiderstand mit der postiven Versorgungsspannung verbunden
wird, könnten in Verbindung
mit der 'Lbit' Firmware zur dauerhaften
Beschädigung des Kontrollers
führen weil weil die
'Lbit'-Firmwareerweiterung den Autostart-Pin als Ausgang und aktiv auf low schaltet.
Download:
Nachladbare Firmwareerweiterung 'Lbit' für C-Control I 1.1
Installation:
(1) Die obige Zip-Datei entpacken.
(2) In das Verzeichnis mit den entpackten Daten wechseln.
(3) Dort " upgrade <COM-Nr>
" eintippen.
Beispiel, wenn die C-Control am COM-Port Nr.1 (COM:1) angeschlossen ist:
upgrade 1
Bestehende User-Programme können in den
meisten Fällen ohne Anpassungen mit der neuen
Firmware verwendet
werden. Falls es dennoch zu Problemen kommt, sollte
zuerst das
Vorhandensein fehlerhaft platzierter Tabellen im Quelltext
ausgeschlossen werden:
"...Tabellendefinitionen
müssen stets am Ende eines Programms, hinter
dem
END Befehl stehen..."
(Zitat aus der Original Bedienungsanleitung
zum C-Control/BASIC
Steuercomputer Best.-Nr. 95 05 72, 1997, Seite 42).
Auch selbst
definerte Tokenbefehle
in Tabellenform können mit der 'Lbit'-Erweiterung
genutzt werden können. (siehe auch http://ccintern.dharlos.de/tipsutri.txt).
'Lbit' ist kompatibel mit der Multitasking
Erweiterung für die C-Control I 1.1 von Dietmar Harlos.
Im konventionellen Single-Tasking-Betrieb lässt sich
via Inter-Modul-Kommunikation ein kooperatives Multitasking nachbilden und Slots können
zur
Laufzeit programmgesteuert aktiviert, als Unterprogramm
aufgerufen werden. Auch Plugins sind
möglich.
Siehe z.B. das User Interface Program, 'UIP' weiter unten im Text.
Mit 'Lbit' kann der Autostart-Jumper dauerhaft gesteckt bleiben,
sogar beim Upload eines neuen Anwenderporgramms. Dank der
'Lbit'-Firmwareerweieterung läßt sich die C-Control jetzt
vollständig über die
Datenleitungen der Seriellen Schnittstelle steuern, ohne daß noch die Reset- oder Start-Taste betätigt werden müssen (Fernwartung).
Als Ersatz für die bisherige
Funktion des Autostart-Jumpers dienen die
neuen Kommandos
'a' bzw.'A' im Hostmodus. Beim Anschluß der C-Control an einen TCP/IP nach Seriell Wandler
funktioniert das auch
über das eigene WLAN/LAN oder das Internet
Nach dem Upgrade:
Bedienung
des C-Control Upgrades erfolgt via Terminalprogramm
mit 9600 baud 8,n,1.
Jede Taste muss direkt gesendet werden (Ein-Byte-Befehle) Unter Telnet
sollte hierzu der sogenannte Telnet character mode eingeschaltet sein.
Beispiel:
terminal 2
Zur Signalisierung, daß im Augenblick der Hostmodus aktiv ist blinken abwechselnd
die rote und gelbe
LED in langsamer Folge.
Bei
Verbindung über ein Terminalfenster sieht man die
Benutzeroberfläche der 'Lbit'-Erweiterung. (Die jeweilige Darstellung
kann
sich
je nach Version unterscheiden).
Bild 1: Hostmodus. Mit dem Upgrade wurden 5 kleine Beispielprogramme
installiert
Die Beispielprogramme in den jeweiligen Programmslots können
mit den 1-Byte Befehlen des Hostmodus gesteuert werden.
print
print "Tastenbelegung im Idle Modus:"
print " _____ _____
_____ _____
_____ _____
_____ _____ _____"
print " || 1 || || 2 || || 3 || || 4 || || 5 || || 6 || || 7 || || 8 ||
|| 9 ||"
print " ||___|| ||___|| ||___|| ||___|| ||___|| ||___|| ||___|| ||___||
||___||"
print " |/___\| |/___\| |/___\| |/___\| |/___\| |/___\| |/___\| |/___\|
|/___\|"
print " ^-------^-------^-- Direktstart
eines Slots ---^-------^-------^"
print
"
_____ (mehr Slots sind moeglich) ____________________"
print " Fehlernummer || E
||
||
Return * ||"
print "
zeigen ->
||___||
||______
| ||"
print
"
|/___\|
|/_____/| <---
||"
print "
_____
Slot-Liste
_____
| |___________||"
print " || A ||<- Autostart
auf
zeigen ->|| L
||
|/____________\|"
print " ||___|| letzten
Slot
||___|| _____"
print " |/___\|
(A=EIN,a=AUS)
Letzten |/___\| || -
|| |"
print
"
Slot
aus
||___|| |"
print
"
Liste entfernen -->
|/___\| |"
print
"
_________________________________
|"
print
"
||Letzten Slot der Liste starten || <-- oder --"
print
"
||_______________________________||"
print
"
|/_______________________________\|"
print
print "* Return-Taste evt. ohne Funktion."
print "[Taste]"
define b1 byte
GET b1
Die vorinstallierten
Beispielprogramme im Quelltext:
(zum Kompilieren der Quelltexte kannst du
die
L Distribution verwenden)
Slot 1: Ein User
Interface Programm mit
welchem der Hostmodus flexibel
erweitert werden
kann. Im Beispiel ist
es ein (rudimentärer) HTTP-Webserver,
eine Reset-Statistik, und farbig unterlegter Text,
sofern ein ANSI-fähiges
Terminalprogramm zur Darstellung verwendet wird.
Slot 2: Eine ansonsten recht nutzlose Schleife
mit PRINT in CCBASIC (.bas)
Slot 3: Beispiel zur 'Lbit'-Funktion "Host-ID
ändern" (.ocb)
Slot 4: Programm Software-Reset (zum
Testen des 'Lbit' Reset-Zählers)
Slot 5: Programm Hardware-Reset (zum
Testen des 'Lbit' Reset-Zählers)
Das
User-Programm unter der neuen Firmware wieder verfügbar machen
TIPP: Sofern genügend freier Speicherplatz
verbleibt, kann das vor dem Update
im C-Control genutzte Userprogramm
nun zurück in den Programmspeicher des
C-Control transferiert werden. Ggfs.
vorher einige der Beispielprogramme
mit der Taste "-" entfernen,
um ausreichend Platz zu schaffen.
Dann das Terminalfenster schliessen und durch Eingabe von z.B.
transfer 1
das alte Userprogramm
hochladen. Hat dies gelappt erscheint das Programm
nun an unterster Stelle der Liste,
nach Eingabe von:
terminal 1
Durch Senden der Leertaste kann es
gestartet werden. Es ist ratsam jetzt
genau zu prüfen, ob das
Userprogramm mit der
neuen Firmware in allen Punkten
noch immer wie vorgesehen funktioniert.
Blinkt die rote LED in
schneller Folge während sich das System im Hostmodus
befindet, liegt
eine Systemmeldung vor.
Der zugehörige Kode mit
der Taste 'e' ausgelesen werden.
Systemmeldungen sind derzeit
folgende:
255 Firmwareupgrade wurde erfoglreich durchgeführt. Slots
sind noch keine geladen.
20 Freier
Speicherplatz weniger vorhanden als vom Uploadprogramm gefordert.
18 Das
EEPROM kann gar nicht beschrieben werden, weil es z.B. defekt oder
schreibgeschützt ist (geplant)
5 Es gab
eine längere Unterbrechung beim Hochladen ins interne EEPROM, 'Timeout'
4
Es gab eine längere Unterbrechung beim Hochladen ins
externe EEPROM, 'Timeout'
3 Es kam zu einem
sonstigen Fehler während der Programmierung.
Bei Systemmeldungen 4
& 5 kann der Upload
direkt neu gestartet werden, ohne dass es etwas zu beachten gibt.
Meist ist hier die Ursache eine
Kombination aus
der (eigentlich überflüssigen) Timeout-Routine im
Uploadprogramm auf dem PC und so manch einer real
existierenden, nach Tarif gedrosselten, TCP/IP Leitung.
Wenn du dir jetzt selbst
ein Uploadprogramm für
TCP/IP schreibst, kannst du immer mehrere Bytes zu
einem
Paket zusammenfassen
und auf einmal
senden. Wie viele Bytes pro Paket deine Lbit Firmware max.
verarbeiten kann findest du heraus, indem
du einmal
vor Beginn der Übertragung den Wert '5' an den
Kontroller sendest.
Beispiel:
<STRG-E> (Du
drückst im Terminalfenster erst die Taste 'STRG' und
dann
zusätzlich noch die Taste 'E')
Die Antwort lautet wahrscheinlich: 00008 RxBufSze
In diesem Fall können also
immer Pakete zu
maximal je 8 Bytes zum Kontroller geschickt werden. Aber auch
mehr
oder weniger
Bytes könnten vorkommen.
Die obigen Beispielprogramme im Quelltext bearbeiten und
erweitern.
Zum
Kompilieren und
Übertragen der oben verlinkten Quelltexte haben wir
unser Projekt die
L Distribution verwendet.
Natürlich können
alle für das C-Control I -System geeigneten
Programmierumgebungen
und
Programmiersprachen auch nach dem Einspielen des
Firmwareupgrades weiterhin
verwendet werden.
Downgrade (zurück zur
Originalfirmware und User-Programm)
Wem die neue Firmware nicht zusagt kann den
ursprünglichen Zustand
mittels restore <COM-Nr> wieder herstellen.
Hierbei kann es erforderlich
werden das
User-Programm noch einmal aus der BASIC oder CC-Plus
Entwicklungsumgebung
IDE hochzuladen, falls das automatische Backup
während des Upgrades aus
irgendwelchen Gründen nicht vollständig war.
(wird fortgesetzt)