das |_ Team präsentiert:
Alle Projekte Kontakt / Impressum
'Lbit'
Diese 3 Varianten des
C-Control I 1.1 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:
Die Leertaste startet das jüngst hochgeladene Anwenderprogramm:
_________________________________
||jüngsten Slot in Liste starten ||
||_______________________________||
|/_______________________________\|
Die L-Taste
listet die vorhandenen Slots auf:
_
____
|| L
||
||___||
|/___\|
Die Minustaste
löscht das jeweils zuletzt hochgeladene Programm:
_
____
|| -
||
||___||
|/___\|
Die Taste A
setzt den virtuellen Autostart-Jumper auf das
zuletzt hochgeladene
Programm:
_
____
|| A
||
||___||
|/___\|
Die Taste 'a'
deaktiviert
den virtuellen Autostart-Jumper:
_
____
|| a
||
||___||
|/___\|
Die Taste E liest den
Fehlerspeicher:
_
____
|| E
||
||___||
|/___\|
Die 'Lbit'
Firmware wird per Windows PC über die
Serielle Schnittstelle eingespielt (Upgrade).
Zur Originalfirmware des C-Control kann jederzeit zurückgekehrt werden
(Downgrade).
Du nutzt einen Mac oder Linux?
Mit dieser
Virtuellen Maschine kannst
du die 'Lbit' Firmware auch von dort aus einspielen. Bei Bedarf kannst
Du den
Desktop der Virtuellen Maschine auf das Display
deines Smartphone
oder Tablet-Computer
spiegeln.
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:
-
Dieses Firmwareupgrade steht
in keiner Verbindung zur Conrad Electronic SE
und
ist nicht
für die C-Control I Unit M2.0,
geeignet.
- 'Lbit' ist experimentelle Software und wird "so wie
sie ist" zur nicht-exklusiven,
freien Nutzung zur
Verfügung gestellt, sofern keine gesetzlichen Vorgaben dies
ausschließen..
- Experimentelle Software kann Fehler enthalten
und darf nicht in Anwendungen betrieben werden aus deren Versagen
Personen-, Sach-, oder Vermögensschäden resultieren können.
- Die
Herausgeber übernehmen keine Haftung für mögliche Schäden die aus der
Nutzung oder Nichtnutzung der 'Lbit'-Software. Ist
der komplette Haftungsausschluß im Gültigkeitsbereich der für
dich
gültigen gesetzlichen Vorgaben nicht
gestattet, darfst du die 'Lbit'-Software nicht nutzen
- Alle Rechte an der 'Lbit' Software verbleiben bei den Herausgebern.
-Achtung:
Der
Pin zum Autostart-Jumper darf auf keinen
Fall ohne Vorwiderstand mit
der positiven Versorgungsspannung verbunden werden
(Bei einer
im Originalzustand
belassenen C-Control I
1.1 ist dies in der Regel gewährleistet).
- Mit dem Herunterladen oder der Nutzung der 'Lbit'-Software erkennst
du die vorstehenden Vereinbarungen an.
Die 'Lbit' Firmware ist nicht
für die unten abgebildeten C-Control Systeme geeignet!
- Die 'Lbit' Firmware und das Upgrade-Programm für Windows PC
sind experimentelle
Software. Für mögliche Schäden
hieraus kann das |_ Team keine Haftung übernehmen.
- Experimentelle
Software darf in Anlagen aus
deren Versagen Personen- und/oder Sach- und
Vermögensschäden resultieren können natürlich nicht angewendet
werden.
Umbauten, 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 'Lbit'
den Autostart-Pin aktiv auf low zieht).
Download:
Mehrprogrammfähige
'Lbit' Firmware für C-Control I 1.1
Noch
mehr Software für deine C-Control:
L-E2TEST,
das EEPROM-Funktionstest und Prüfprogramm (8...64 KiB)
(Dieses sinnvolle Tool sollte bei keinem Anwender fehlen!)
Installation des Upgrades:
Obigen Download mit Verzeichnisstruktur entpacken und auf der
Windows
Kommandozeile
ins Verzeichnis wechseln ( Windows -> Start -> Ausführen,
dann ' CMD ' eingeben)
Um das Firmwareuprade einzuspielen, bitte " upgrade <COM-Nr>
" eintippen.
Beispiel für C-Control an COM1: des PC:
upgrade 1
Tipp:
Das eigene, vor dem Upgrade verwendete,
User-Programm kann nach dem Upgrade halbautomatisch
wieder hergestellt
und wie zuvor normal verwendet werden (ohne Gewähr!) Siehe
auch
"transfer" weiter
unten im Text.
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).
Für Poweruser interessant ist sicherlich dass auch selbst
definerte Tokenbefehle
in Tabellenform
nach dem Upgrade weiterhin genutzt werden können. (vgl. hierzu
http://ccintern.dharlos.de/tipsutri.txt).
- Die vorliegende Firmware ist kompatibel zur Multitasking
Erweiterung für die C-Control I 1.1 von
Dietmar Harlos. Daraus ergeben sich
faszinierende Möglichkeiten, die wir einmal an anderer Stelle
ausführlicher beschreiben möchten.
-
Schon im konventionellen Single-Tasking Betrieb lässt sich
via Inter-Modul-Kommunikation eine Art
kooperatives Multitasking nachbilden: Slots können
zur
Laufzeit programmgesteuert aktiviert, als Unterprogramm
aufgerufen, und wieder beendet werden. Auch Plugins sind
möglich.
Siehe am Beispiel User Interface Program, 'UIP'.
- Nach dem Upgrade kann der Autostart-Jumper
dauerhaft gesteckt bleiben, auch während des Uploads
oder nach bei Hardware-Reset.
- Als Ersatz für die bisherigen
Funktionen des Autostart-Jumpers dienen die
neuen Kommandos
'a' und 'A' im Hostmodus.
- Du kannst das System über die
Datenleitungen der Seriellen Schnittstelle steuern, ohne die
Reset- oder Start-Taste zu betätigen. Mit
einem TCP/IP nach Seriell Adapter
funktioniert das auch
via 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
muss dazu der character
mode eingeschaltet sein. Bitte kein RETURN oder LINEFEED
verwenden!
Beispiel:
terminal 2
Zur Signalisierung des Hostmodusbetriebs blinken abwechselnd
die rote und gelbe
LED,
solange kein Userprogramm ausgeführt wird (Idle-Modus). Per Fernwartung
sieht man im
Terminalfenster das neue Eingabefeld (Die jeweilige Darstellung kann
sich
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 (Dateiname: Userhost.ocb) mit
dem
der Hostmodus
selbst um eigene Funktionen erweitert werden
kann.
Hier ist
es ein rudimentärer HTTP-Webserver, eine Reset-Statistik,
sowie farbig
unterlegter Text,
wenn ein ANSI-fähiges
Terminalprogramm
zur
Darstellung verwendet wird. Programmiert mit
Open-Control/BASIC,
(.ocb) dem
BASIC-Dialekt
aus
Dietmar
Harlos' Open-Micro
Projekt
Slot 2: Eine recht nutzlose Schleife
mit PRINT, in CCBASIC (.bas)
Slot 3: Beispiel zur neuen OS-Funktion "Host-ID
ändern", (.ocb)
Slot 4: Software-Reset zum
Testen der Reset-Statistik, (.ocb)
Slot 5: Hardware-Reset zum
Testen der Reset-Statistik, (.ocb)
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 vorhandene Userprogramm
zurück in den Programmspeicher des
C-Control transferiert werden. Ggfs.
können einige der Beispielprogramme
manuell gelöscht werden (Taste: "-"),
um ausreichend Platz zu schaffen.
Zuvor das Terminalfenster
wieder schliessen und durch Eingabe von z.B.
transfer
2
das alte Userprogramm
hochladen. Hat dies gelappt erscheint das Programm
nun an unterster Stelle der Liste,
nach Eingabe von:
terminal
2
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)