Hinweise und Informationen
zu OSOPT V3.0
- Features
- Einsprungadressen
- HOST-LED-(Blink)Anzeigen
- Host-Mode-Kommandos
Features
nach oben
- Als Grundlage dient OSOPT V2
- Das CC2-interne LCD wird vom System nicht mehr angesteuert.
Somit wird diese I²C-Bus-Adresse frei, wenn man das interne LCD, falls vorhanden,
abschaltet.(LCD-Adj der Unit auf GND ziehen)
Das Display kann aber noch aus dem C2-Programm angesteuert werden.
Hier ist aber dann zwingend ein lcd.init() notwendig.
- Ausgabe der Systemmeldungen über eine "HostLED", welche sich bereits auf
dem CC2-StarterBoard und dem CC2-ReglerBoard ab V1.1 befindet.
Diese LED wird über einen Transistor (PNP) oder einen Puffer an den Host-Pin
angeschlossen und soll leuchten, wenn der Pin einen GND-Pegel besitzt.
Mehr siehe Host-LED-(Blink)Anzeigen
Als Nebeneffekt durch die HostLED:
Programme starten nach einem Reset um einiges schneller.
Auch muß man nurnoch 2 statt 3sek. auf Host drücken, um in den
Host-Mode zu gelangen.
- Zugriff auf Flash-Segmente 1 & 2:
Bei der CC2 gab es bisher zwei völlig ungenutzte Flashsegmente: Sement 1 & 2.
Das OS befindet sich lediglich in Segment 0.
Ab OSOPT V3.0 können diese beiden Segmente wie Segment 3 für ASM/C-Code
benutzt werden. Somit stehen insgesamt 192kB statt 64kB für System-Routinen zur Verfügung.
Für das Löschen der Segmente 1 & 2 sowie das Laden von Daten gibt es vier
weitere Hostmode-Kommandos.
- Systemtreiber sys0001.hex und capture.hex integriert.
Die Systemtreiber capture.hex und sys0001.hex sind in OSOPT V3.0
bereits integriert. Somit entfällt das Laden dieser Dateien.
Mehr dazu siehe Hinweise zum Laden von
HEX-Dateien.
Einsprungadressen
nach oben
Die integrierten System-Routinen haben folgende
Einsprungadressen:
(Segment 0)
Für cap.c2:
0xD400 CAPTURE
0xD438 RELEASE
0xD44E GET
Für i2c.c2:
0xD476 I2C_CAPTURE
0xD49A I2C_CSTOP
Für lcdext.c2 & rblcd.c2:
0xD4A6 PUT
0xD4B0 PRINT
0xD4CA SEND
0xD4DE SENDCHAR
0xD50C ZIFF
0xD544 WriteCMD
0xD54E Write8Bit
Für stports.c2:
0xD5DC SETALL
0xD5F2 SETPORT
0xD61C TOGPORT
0xD634 PULSE
0xD694 GETPORT
Host-LED-Anzeigen
nach oben
Auf dem CC2-StarterBoard und auf dem CC2-ReglerBoard
auf V1.1
existiert bereits die gelbe HOST-LED.
Zum Nachrüsten bei anderen Platinen und auch bei der CC2-Station kann
folgende Schaltung verwendet werden:
Der Host-Pin (P3.4) wird als Open-Drain benutzt. So kann es zu keinerlei
Kurzschlüssen kommen, wenn die LED ansteuert wird und gleichzeitig
die Hosttaste gedrückt wird. Es muß lediglich darauf geachtet werden, daß
eventuelle weitere Eingangssignale, welche über den Hostpin(P3.4) erfasst
werden, als Open-Drain/Collector ausgeführt sind. (z.B. Inkremental-Geber)
Die HostLED leuchtet, wenn sich die CC2 im Hostmode befindet und gibt
Blink-Codes bei Fehlermeldungen und beim Beenden von Programmen aus,
welche bisher als Text-Meldungen auf das interne LCD ausgegeben wurden.
Während des Ausführens von Programmen und Ausführen von Hostmode-Kommandos
Leuchtet geht die LED aus. Der HOST-Pin ist dann als Eingang geschaltet.
Beim Beenden von Programmen blinkt die Host-LED mit kurzen
Blinkintervall ein bis 10mal entsprechend dem an quit übergebenen Parameter.
Bei Parametern größer 10 wird wird so lediglich die Einerstelle ausgegeben.
Bei der Einerstelle 0 blinkt die LED 10mal.
Achtung: Wird das CC2Net.de-DL-Tool zum Einleiten des Hostmodes benutzt,
so muß bei Blink-Werten größer 8 (z.B. quit 20) die WarteZeit im DL-Tool
vergrößert werden.
Wird mit quit -1 ein Softwarereset ausgelöst, so blinkt die LED zweimal, bevor
das Programm neu gestartet wird.
Ausgabe von Fehler-Codes:
Kommt es zu einem Fehler bei der Ausfürhung des Programms
so werden folgende Blink-Codes in einer Endlosschleife
ausgegeben:
Blink-Folge | Fehlermeldung |
3x lang, 1x kurz | BURN ERR Es wurde versucht an Specherzellen im Flash zu schreiben welche nicht gelöscht wurden. |
3x lang, 2x kurz | STO TRAP |
3x lang, 3x kurz | STU TRAP |
1x lang, 1x kurz | ILL OPA |
1x lang, 2x kurz | BTRAP |
1x lang, 3x kurz | UND OPC |
1x lang, 4x kurz | FP ERR |
1x lang, 5x kurz | FPE DIV0 |
1x lang, 6x kurz | FPE STOF |
1x lang, 7x kurz | FPE INOF |
1x lang, 8x kurz | ILL INA |
2x lang, 1x kurz | FPE CONV |
2x lang, 2x kurz | FPE UNDF |
2x lang, 3x kurz | PRT FLT |
2x lang, 4x kurz | FPE STUF |
2x lang, 5x kurz | FPE FLUF |
2x lang, 6x kurz | ILL BUS |
2x lang, 7x kurz | FPE FLOF |
Host-Mode-Kommandos
nach oben
Kommando | Bedeutung |
0 |
CMD_SEND_ID antwortet mit dem Text "C-Control II" |
1 | CMD_SEND_RELEASE antwortet mit dem Release Datum |
2 | CMD_SEND_VERSION antwortet mit dem Versionsstring |
3 | CMD_START 3 startet ein vorhandenes C2-Programm |
4 | CMD_LOAD_VMC Beginn der Übertragung eines C2-Programms |
5 | CMD_LOAD_HEX_SEG3 Beginn der Übertragung eines ASM-Programms/Routine in Segment 3 |
6 | CMD_ERASE_VMC löscht ein vorhandenes C2-Programm |
7 | CMD_ERASE_HEX_SEG3 löscht Segment 3, den Bereich für ASM-Programme/Routinen, gibt nach Löschen 7 als Echo zurück |
8 | CMD_SET_HI_BAUD setzt die ser. Schnittstelle im Hostmode auf 57.600Baud |
9 | CMD_SET_DEF_BAUD 9 setzt die ser. Schnittstelle im Hostmode auf 19.200Baud (Standard) |
14 | CMD_LOAD_HEX_SEG1 Beginn der Übertragung eines ASM-Programms/Routine in Segment 1 |
15 | CMD_LOAD_HEX_SEG2 Beginn der Übertragung eines ASM-Programms/Routine in Segment 2 |
16 | CMD_ERASE_HEX_SEG1 löscht Segment 1, gibt nach Löschen 16 als Echo zurück |
17 | CMD_ERASE_HEX_SEG2 löscht Segment 2, gibt nach Löschen 17 als Echo zurück |
255 | CMD_RESET 255 führt einen Software-Reset der CC II aus |