CCRP5.C2 V2.3 - Hilfe


Beschreibung

Einfügen als Gemeinsames Modul

Konstanten

Funktionen:

init()
checkFAIL()
LCD_blink()
blinkon()
blinkoff()
showport()
getCNSTAT()
FWD()
REV()
ROTL()
ROTR()
FWDL()
FWDR()
REVL()
REVR()
getSYSTEMDATA()
getAMBIENT_SENS()
getAD8()
getCC1STAT()
setACSLO()
setACSHI()
setACSMAX()
setRC5()
setREC80()
txIRDATA()
rxIRDATA()
txTLM()
rxTLM()
txADDRESSED_DATA()
rxADDRESSED_DATA()
ADDRESSED_MODEon()
ADDRESSED_MODEoff()
setADDRESS()
waitPING()
setLED()
LEDon()
LEDoff()
LEDSoff()
setL()
Lon()
Loff()
LSoff()
BEEP()
clearDISTANCE()
getDISTANCE()
setRTC()
getRTC()
setRTCDATE()
getRTCDATE()
SLEEP()
SLEEPUNTIL()
writeFILE()
readFILE()
closeFILE()
getEOF()
getFILEFREE()
setCNMODE()
getCNMODE()
setCNPOWER()
initLCD()
clearLCD()
writeLCD()
printLCD()
getPORTS()
pulsePORT()
deactPORT()
setPORT()
PORTon()
PORToff()
showSYSVOLTS()
showLIGHT()

 


Beschreibung   Nach oben

Das Modul ccrp5.c2 ist der Treiber für den CONRAD-Roboter CCRP5 mit Basiserweiterung und einem oder zwei LC-Displays, um diesen mit der C-Control II steuern, sowie die Sensoren abfragen zu können.
In die C-Control I des Roboters muß die aktuelle Version von gateway_2.bas geladen werden!
Die C-Control I des CCRP5 dient dann lediglich als Interface.

 


Einfügen als Gemeinsames Modul   Nach oben

Die Datei ccrp5.c2 in das Verzeichnis .\CControl2\UserLib der IDE kopieren und in der Datei modules.txt die Zeile ccrp5.c2 am Ende einfügen (falls sie noch nicht vorhanden ist!).
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt bestimmt, daß das Modul in jedem neuen Projekt von Anfang an aktiviert wird.
Zum Betrieb von ccrp5.c2 ab V2.0 darf ccrp5.hex nicht mehr geladen werden!!

 


Konstanten   Nach oben

Mit den hier angeführten Konstanten werden die Bedingungen (conditions) für das Beenden des SLEEP-Modus bei der Funktion SLEEPUNTIL() festgelegt:

const CONDITION_LowPower       = 0; // Entladespannung erreicht
const CONDITION_ChargeComplete = 1; // Ladeendspannung erreicht
const CONDITION_ChargeCurLow   = 2; // Ladestrom niedrig
const CONDITION_ChargeCurHigh  = 3; // Ladestrom hoch
const CONDITION_Noise          = 4; // Geräusch bemerkt
const CONDITION_Touch          = 5; // Berührung bemerkt
const CONDITION_Dark           = 6; // Dunkelheit eingetreten
const CONDITION_Bright         = 7; // Helligkeit eingetreten
const CONDITION_AD8_Low        = 8; // AD8-Wert niedrig
const CONDITION_AD8_High       = 9; // AD8-Wert hoch
const CONDITION_ACS            =10; // ACS-Sensor angesprochen
const CONDITION_IR_RXD         =11; // IR-Kommando empfangen
const CONDITION_DCF_ACTIVE     =12; // DCF-Empfang aktiv
const CONDITION_UserDefine     =13; // Benutzerdefinierte Bedingung (*)

Zu (*): Die "Benutzerdefinierte Bedingung" muß auf der C-Control I Ebene, d.h. in gateway_2.bas festgelegt werden. Solange hier keine neue Bedingung implementiert ist, kann die CONDITION_UserDefine nicht genutzt werden! Wie eine neue Bedingung eingefügt werden kann, wird in gateway_2.bas beschrieben. 

 


Funktionen:

init()   Nach oben

    function init()

Die Funktion init() initialisiert den CCRP5-Treiber und muß am Anfang des thread main aufgerufen werden. Sie gibt einen Byte-Wert zurück, anhand dessen unterschieden werden kann, ob die C-Control II nach einem SLEEP-Modus [1] (siehe Funktionen SLEEP() und SLEEPUNTIL()!) oder durch Reset [0] ohne vorausgehenden SLEEP-Modus neu gestartet wird.

 

checkFAIL()   Nach oben

    function checkFAIL()

Die Funktion checkFAIL() gibt den Wert Null zurück, wenn die serielle Kommunikation zwischen der C-Control II und der C-Control I des CCRP5 korrekt abläuft.

 

LCD_blink()   Nach oben

    function LCD_blink(int state)

Mit LCD_blink() wird das Blinken des LCDs ein- oder ausgeschaltet.

state Status: AUS [0], EIN [<> 0]

 

blinkon()   Nach oben

    function blinkon()

Mit blinkon() wird das Blinken des LCDs eingeschaltet.

 

blinkoff()   Nach oben

    function blinkoff()

Mit blinkoff() wird das Blinken des LCDs ausgeschaltet.

 

showport()   Nach oben

    function showport(byte port)

Die Funktion showport() dient zur Ausgabe der acht Bitzustände eines Byteports oder einer Bytevariable auf dem LCD, z.B. in der Form "00011001" (für port = 25).

port Byte [0..255]

 

getCNSTAT()   Nach oben

    function getCNSTAT()

Die Funktion getCNSTAT() gibt einen Byte-Wert zurück, der der Variable SYSTEM_STATUS des C-Control I Gateway_2-Programms entspricht. Durch den regelmäßigen Aufruf ("polling") dieser Funktion und Auswerten der Bits 0..2 kann ein Programm feststellen, ob einer der IR-Anti-Kollisionssensoren des ACS angesprochen hat oder ein IR-Signal über IRCOMM empfangen wurde.

Die Bits von SYSTEM_STATUS haben folgende Bedeutung:

Bit 0     ACSR_F (rechter Sensor des ACS angesprochen)
Bit 1     ACSL_F (linker Sensor des ACS angesprochen)
Bit 2 IR_F (IR-Daten empfangen)

 

FWD()   Nach oben

    function FWD(byte speed_l, byte speed_r)

Die Funktion FWD() ist das Motor-Kommando "Vorwärts".

speed_l Geschwindigkeit linke Kette [0..255]
speed_r Geschwindigkeit rechte Kette [0..255]

 

REV()   Nach oben

    function REV(byte speed_l, byte speed_r)

Die Funktion REV() ist das Motor-Kommando "Rückwärts".

speed_l Geschwindigkeit linke Kette [0..255]
speed_r Geschwindigkeit rechte Kette [0..255]

 

ROTL()   Nach oben

    function ROTL(byte speed_l, byte speed_r)

Die Funktion ROTL() ist das Motor-Kommando "Links-Drehen".

speed_l Geschwindigkeit linke Kette [0..255]
speed_r Geschwindigkeit rechte Kette [0..255]

 

ROTR()   Nach oben

    function ROTR(byte speed_l, byte speed_r)

Die Funktion ROTR() ist das Motor-Kommando "Rechts-Drehen".

speed_l Geschwindigkeit linke Kette [0..255]
speed_r Geschwindigkeit rechte Kette [0..255]

 

FWDL()   Nach oben

    function FWDL(byte speed_l)

Die Funktion FWDL() ist das Motor-Kommando "Linke Kette vorwärts".

speed_l Geschwindigkeit linke Kette [0..255]

 

FWDR()   Nach oben

    function FWDR(byte speed_r)

Die Funktion FWDR() ist das Motor-Kommando "Rechte Kette vorwärts".

speed_r Geschwindigkeit rechte Kette [0..255]

 

REVL()   Nach oben

    function REVL(byte speed_l)

Die Funktion REVL() ist das Motor-Kommando "Linke Kette rückwärts".

speed_l Geschwindigkeit linke Kette [0..255]

 

REVR()   Nach oben

    function REVR(byte speed_r)

Die Funktion REVR() ist das Motor-Kommando "Rechte Kette rückwärts".

speed_r Geschwindigkeit rechte Kette [0..255]

 

getSYSTEMDATA()   Nach oben

    function getSYSTEMDATA()

Mit der Funktion getSYSTEMDATA() werden die Sensoren für die Systemdaten abgefragt. Die Ergebnisse stehen anschließend in folgenden vier Variablen:

SYSVOLTS          Akkuspannung [0..255]
SYSCURRENT     Stromverbrauch des Antriebs [0..255]
CHRCURRENT Ladestrom [0..255]
NOTUSED        Nicht benutzt [immer 0]

 

getAMBIENT_SENS()   Nach oben

    function getAMBIENT_SENS()

Mit der Funktion getAMBIENT_SENS() werden die Umgebungs-Sensoren abgefragt. Die Ergebnisse stehen anschließend in folgenden vier Variablen:

LIGHTL Helligkeit linker Sensor [0..255]
LIGHTR Helligkeit rechter Sensor [0..255]
MIC          Wert des Geräuschsensors [0..255]
TOUCH       Wert des Berührungssensors [0..255]

 

getAD8()   Nach oben

    function getAD8()

Mit der Funktion getAD8() wird der Wert [0..255] des A/D-Wandlers 8 der C-Control I gelesen. Dieser A/D-Wandler wird bei der Original-Ausstattung des CCRP5 nicht genutzt.

 

getCC1STAT()   Nach oben

    function getCC1STAT()

Mit der Funktion getCC1STAT() wird der Inhalt [0..255] des Statusregisters der C-Control I gelesen.

Die Bits des Statusregisters haben folgende Bedeutung:

Bit 0 Aktuell wird ein gültiges DCF77-Signal empfangen
Bit 4 Die Systemzeit wurde mindestens einmal gestellt
Bit 5 Der Energiesparmodus (SlowMode) ist aktiv

 

setACSLO()   Nach oben

    function setACSLO()

Die Funktion setACSLO() setzt die Reichweite des IR-Anti-Kollisionssystems (ACS) auf "Niedrig".

 

setACSHI()   Nach oben

    function setACSHI()

Die Funktion setACSHI() setzt die Reichweite des IR-Anti-Kollisionssystems (ACS) auf "Hoch".

 

setACSMAX()   Nach oben

    function setACSMAX()

Die Funktion setACSMAX() setzt die Reichweite des IR-Anti-Kollisionssystems (ACS) auf "Maximal".

 

setRC5()   Nach oben

    function setRC5()

Die Funktion setRC5() stellt das IR-Kommunikationssystem (IRCOMM) des CCRP5 auf das Format RC5 ein.

 

setREC80()   Nach oben

    function setREC80()

Die Funktion setREC80() stellt das IR-Kommunikationssystem (IRCOMM) des CCRP5 auf das Format REC80 ein.

 

txIRDATA()   Nach oben

    function txIRDATA(byte address, byte command)

Die Funktion txIRDATA() sendet eine Adresse und ein Kommando im gewählten IR-Format (siehe Funktionen setRC5() und setREC80()!) über das IR-Kommunikationssystem des CCRP5.

address    Adresse: RC5 [0..31]*, REC80 [0..63]
command Kommando: RC5 [0..63], REC80 [0..127]

Zu *: Bei Verwendung des Toggle-Bits (T) sind bei RC5 auch die Adressen [0..63] nutzbar!

 

rxIRDATA()   Nach oben

    function rxIRDATA()

Die Funktion rxIRDATA() empfängt eine Adresse und ein Kommando im gewählten IR-Format (siehe Funktionen setRC5() und setREC80()!) über das IR-Kommunikationssystem des CCRP5. Das Ergebnis steht anschließend in folgenden beiden Variablen:

IRADR Adresse: RC5 [0..31]*, REC80 [0..63]
IRCMD Kommando: RC5 [0..63], REC80 [0..127]

Zu *: Bei Verwendung des Toggle-Bits (T) sind bei RC5 auch die Adressen [0..63] nutzbar!

 

txTLM()   Nach oben

    function txTLM(byte address, byte data)

Die Funktion txTLM() sendet eine Adresse bzw. einen Kanal und ein Daten-Byte über das IR-Kommunikationssystem des CCRP5. Für diese Telemetrie ist das IR-Format RC5 (siehe Funktion setRC5()!) vereinbart.

address    Adresse [1..15], Kanal [0..15]
data           Telemetrie-Daten [0..255]

 

rxTLM()   Nach oben

    function rxTLM()

Die Funktion rxTLM() empfängt eine Adresse bzw. einen Kanal und ein Daten-Byte über das IR-Kommunikationssystem des CCRP5. Für diese Telemetrie ist das IR-Format RC5 (siehe Funktion setRC5()!) vereinbart. Das Ergebnis steht anschließend in folgenden beiden Variablen:

IRADR Adresse [1..15], Kanal [0..15]
IRCMD Telemetrie-Daten [0..255]

 

txADDRESSED_DATA()   Nach oben

    function txADDRESSED_DATA(byte address, byte command)

Die Funktion txADDRESSED_DATA() sendet eine Empfänger-Adresse (address), die eigene Adresse (in der Variable DEVICEADDRESS [0..7]) und ein Kommando im adressierten Modus (siehe Funktion ADDRESSED_MODEon()!) über das IR-Kommunikationssystem des CCRP5. Ein anderer CCRP5 wird diesen Datenrahmen (im adressierten Modus) nur dann annehmen, wenn seine eigene Adresse mit der gesendeten Empfänger-Adresse übereinstimmt.

address    Empfänger-Adresse [0..7]
command Kommando [0..63]

 

rxADDRESSED_DATA()   Nach oben

    function rxADDRESSED_DATA()

Die Funktion rxADDRESSED_DATA() empfängt eine Sender-Adresse und ein Kommando im adressierten Modus (siehe Funktion ADDRESSED_MODEon()!) über das IR-Kommunikationssystem des CCRP5. Dieser Datenrahmen wird nur angenommen, wenn die darin enthaltene Empfänger-Adresse mit der eigenen Adresse (in der Variable DEVICEADDRESS [0..7]) übereinstimmt. Die Überprüfung des Datenrahmens erfolgt automatisch im Subsystem des CCRP5. Das Ergebnis steht anschließend in folgenden beiden Variablen:

IRADR Sender-Adresse [0..7]
IRCMD Kommando [0..63]

 

ADDRESSED_MODEon()   Nach oben

    function ADDRESSED_MODEon()

Die Funktion ADDRESSED_MODEon() schaltet den adressierten Modus ("Addressed Mode") des IR-Kommunikationssystems des CCRP5 ein. Mit der adressierten IR-Kommunikation können bis zu 8 Roboter untereinander Informationen austauschen.

 

ADDRESSED_MODEoff()   Nach oben

    function ADDRESSED_MODEoff()

Die Funktion ADDRESSED_MODEoff() schaltet den adressierten Modus des IR-Kommunikationssystems des CCRP5 aus.

 

setADDRESS()   Nach oben

    function setADDRESS(byte dev_address)

Die Funktion setADDRESS() schaltet den adressierten Modus ("Addressed Mode") für die IR-Kommunikation des CCRP5 ein. Mit dem Parameter dev_address wird eine Geräte-Adresse ("Device address") festgelegt. Diese Adresse wird beim Senden und Empfang als eigene Adresse des Roboters benutzt und ist nach dem Aufruf dieser Funktion in der Variable DEVICEADDRESS [0..7] verfügbar. 

dev_addr Geräte-Adresse [0..7]

 

waitPING()   Nach oben

    function waitPING()

Die Funktion waitPING() wartet im Rahmen der IR-Kommunikation maximal eine Minute lang auf ein Ping und gibt die Ping-Länge zurück.

 

setLED()   Nach oben

    function setLED(byte led, byte state)

Mit setLED() wird eine der vier LEDs auf dem CCRP5 ein- oder ausgeschaltet.

led     LED auf dem CCRP5 [1..4]
state Status: AUS [0], EIN [<> 0]

 

LEDon()   Nach oben

    function LEDon(byte led)

Die Funktion LEDon() schaltet eine der vier LEDs auf dem CCRP5 ein.

led LED auf dem CCRP5 [1..4]

 

LEDoff()   Nach oben

    function LEDoff(byte led)

Die Funktion LEDoff() schaltet eine der vier LEDs auf dem CCRP5 aus.

led LED auf dem CCRP5 [1..4]

 

LEDSoff()   Nach oben

    function LEDSoff()

Die Funktion LEDSoff() schaltet alle vier LEDs auf dem CCRP5 aus.

 

setL()   Nach oben

    function setL(byte led, byte state)

Mit setL() wird eine der acht LEDs auf der Basiserweiterung ein- oder ausgeschaltet.

led         LED auf der Basiserweiterung [1..8]
state Status: AUS [0], EIN [<> 0]

 

Lon()   Nach oben

    function Lon(byte led)

Die Funktion Lon() schaltet eine der acht LEDs auf der Basiserweiterung ein.

led LED auf der Basiserweiterung [1..8]

 

Loff()   Nach oben

    function Loff(byte led)

Die Funktion Loff() schaltet eine der acht LEDs auf der Basiserweiterung aus.

led LED auf der Basiserweiterung [1..8]

 

LSoff()   Nach oben

    function LSoff()

Die Funktion LSoff() schaltet alle acht LEDs der Basiserweiterung aus.

 

BEEP()   Nach oben

    function BEEP(int freq, byte length)

Mit der Funktion BEEP() können Töne über den Lautsprecher des CCRP5 ausgegeben werden.

freq    Tonhöhe [0..65535] (250000/freq Hertz)
length Tonlänge [0..255] (20*length Millisekunden)

 

clearDISTANCE()   Nach oben

    function clearDISTANCE()

Die Funktion clearDISTANCE() setzt die Werte des linken und rechten Wegstreckenzählers (NAV) auf Null zurück.

 

getDISTANCE()   Nach oben

    function getDISTANCE()

Mit der Funktion getDISTANCE() werden die Wegstreckenzähler (NAV) abgefragt. Die Ergebnisse stehen anschließend in folgenden beiden Variablen:

DISTL Wert linker Wegstreckenzähler [0..65535]
DISTR Wert rechter Wegstreckenzähler [0..65535]

 

setRTC()   Nach oben

    function setRTC()

Die Funktion setRTC() überträgt die C-Control II Uhrzeit (Stunde, Minute, Sekunde) in die RTC der C-Control I des CCRP5.

 

getRTC()   Nach oben

    function getRTC()

Die Funktion getRTC() überträgt die Uhrzeit (Stunde, Minute, Sekunde) aus der RTC der C-Control I des CCRP5 in die C-Control II.

 

setRTCDATE()   Nach oben

    function setRTCDATE()

Die Funktion setRTCDATE() überträgt das C-Control II Datum (Jahr, Monat, Tag) in die RTC der C-Control I des CCRP5.

 

getRTCDATE()   Nach oben

    function getRTCDATE()

Die Funktion getRTCDATE() überträgt das Datum (Jahr, Monat, Tag) aus der RTC der C-Control I des CCRP5 in die C-Control II.

 

SLEEP()   Nach oben

    function SLEEP(byte hours, byte minutes)

Durch die Funktion SLEEP() wird die C-Control II für eine Dauer, die durch die Zeitangabe in hours (Stunden) und minutes (Minuten) festgelegt wird, ausgeschaltet. Dieser SLEEP-Modus kann sinnvoll sein, um bei längerer Inaktivität Strom zu sparen. Er wird vorzeitig abgebrochen, wenn die Akkuspannung zu niedrig wird. Nach jedem "Aufwachen" sollte daher ein Test der Akkuspannung erfolgen. 

hours     Stunden [0..255]
minutes Minuten [1..59]

 

SLEEPUNTIL()   Nach oben

    function SLEEPUNTIL(byte mode, byte condition)

Durch die Funktion SLEEPUNTIL() wird die C-Control II solange ausgeschaltet, bis die Bedingung (condition) erfüllt ist. Dieser SLEEP-Modus wird unabhängig von der Bedingung vorzeitig abgebrochen, wenn die Akkuspannung zu niedrig wird. Nach jedem "Aufwachen" sollte daher ein Test der Akkuspannung erfolgen. Die 14 Bedingungen sind als Konstanten verfügbar. Zu jeder Bedingung gehört ein Modus (mode), der die Aufwach-Bedingung genauer beschreibt (z.B. die Höhe des Ladestroms, wenn das Absinken oder Ansteigen des Ladestroms als Aufwach-Bedingung gewählt wurde).

mode      Modus [0..255]
condition Aufwach-Bedingung [0..13]

 

writeFILE()   Nach oben

    function writeFILE(int data)

Mit der Funktion writeFILE() können Daten in den Speicher der C-Control I geschrieben werden, um sie z.B. nach einem SLEEP-Modus wieder nutzen zu können. Diese Funktion öffnet zunächst den Speicherzugriff, schreibt dann die Daten (data) in den EEPROM-Speicher der C-Control I. Weitere Daten können sequentiell durch erneuten Aufruf dieser Funktion gespeichert werden. Vor jedem Schreibzugriff sollte mit der Funktion getFILEFREE() geprüft werden, ob noch Speicherplatz frei ist. Sind alle Daten übertragen, muß der Speicherzugriff durch die Funktion closeFILE() geschlossen werden.

data Daten (Integer)

 

readFILE()   Nach oben

    function readFILE()

Mit der Funktion readFILE() können Daten aus dem Speicher der C-Control I gelesen werden, die dort zuvor mit der Funktion writeFILE() gespeichert wurden. Diese Funktion öffnet zunächst den Lesezugriff, liest dann die Daten (data = readFILE() ). Weitere Daten können sequentiell durch erneuten Aufruf dieser Funktion gelesen werden. Vor jedem Lesezugriff sollte mit der Funktion getEOF() geprüft werden, ob weitere Daten gelesen werden können. Sind alle Daten gelesen, muß der Speicherzugriff durch die Funktion closeFILE() geschlossen werden.

 

closeFILE()   Nach oben

    function closeFILE()

Die Funktion closeFILE() schließt den Speicherzugriff auf den C-Control I Speicher, der durch die Befehle readFILE() oder writeFILE() geöffnet worden war.

 

getEOF()   Nach oben

    function getEOF()

Die Funktion getEOF() gibt einen Byte-Wert zurück. Solange dieser Wert Null ist, können mit der Funktion readFILE() einmalig weitere Daten aus dem Speicher der C-Control I gelesen werden. Gibt diese Funktion einen Wert ungleich Null zurück, sind keine weiteren Daten gespeichert, und es dürfen dann keine weiteren Lesezugriffe erfolgen.

 

getFILEFREE()   Nach oben

    function getFILEFREE()

Die Funktion getFILEFREE() gibt einen Byte-Wert zurück. Solange dieser Wert ungleich Null ist, können mit der Funktion writeFILE() einmalig weitere Daten in den Speicher der C-Control I geschrieben werden. Gibt diese Funktion Null zurück, ist der Speicher voll. Das C-Control I System kann abstürzen, wenn dann noch weitere Daten geschrieben werden!

 

setCNMODE()   Nach oben

    function setCNMODE(byte mode)

Mit der Funktion setCNMODE() kann der Subsystem-Modus (mode) des CCRP5 eingestellt werden. Die Nutzung dieser Funktion setzt Kenntnisse der CCRP5-Hardware voraus. Eine falsch vorgenommene Einstellung kann zum Absturz des C-Control I Systems führen! Siehe auch Funktion getCNMODE()!

mode Subsystem Modus [0..255]

 

getCNMODE()   Nach oben

    function getCNMODE()

Die Funktion getCNMODE() liest den aktuellen Subsystem Modus. Mit der Funktion setCNMODE() kann dieser Modus geändert werden.

Die Bits des Subsystem Modus haben folgende Bedeutung:

Bit 0 IR-Format: RC5 [0], REC80 [1]
Bit 1 IR Interrupt Enable
Bit 2 ACS Interrupt Enable
Bit 4 Addressed Mode: Off [0], On [1]
Bit 5 Nicht dokumentiert: ACS POWER LO (= EXTPORT Bit 1)
Bit 6 Nicht dokumentiert: ACS POWER HI (= EXTPORT Bit 2)

 

setCNPOWER()   Nach oben

    function setCNPOWER(byte state)

Mit der Funktion setCNPOWER() kann das Subsystem des CCRP5 ein- oder ausgeschaltet werden. Das Ein-/Ausschalten des Subsystems erfolgt autonom durch das Gateway_2-Programm! Die Nutzung dieser Funktion setzt Kenntnisse der CCRP5-Hardware voraus. Eine falsch vorgenommene Einstellung kann zum Absturz des C-Control I Systems führen!

state Status: AUS [0], EIN [<> 0]

 

initLCD()   Nach oben

    function initLCD()

Die Funktion initLCD() initialisiert das LC-Display der C-Control I (am Stecker LCD1 auf der Basiserweiterung). Die Initialisierung erfolgt auch durch das Gateway_2-Programm, so daß diese Funktion normalerweise nicht aufgerufen werden muß.

 

clearLCD()   Nach oben

    function clearLCD()

Die Funktion clearLCD() löscht das LC-Display der C-Control I.

 

writeLCD()   Nach oben

    function writeLCD(byte char)

Die Funktion writeLCD() gibt das Zeichen auf dem LC-Display der C-Control I aus, dessen ASCII-Wert (char) der Funktion übergeben wird. Die Werte 1 und 2 werden hierbei nicht als ASCII-Werte interpretiert, sondern bewirken den Zeilenwechsel zu Zeile 1 bzw. 2.

char ASCII-Wert oder Zeilenwechsel [1..2]

 

printLCD()   Nach oben

    function printLCD(string s)

Die Funktion printLCD() gibt den im String s enthaltenen Text auf dem LC-Display der C-Control I aus. 

s Text (String)

 

getPORTS()   Nach oben

    function getPORTS()

Die Funktion getPORTS() liest die beiden Byte-Ports der C-Control I und gibt sie als Integer-Wert (16 Bit) aus. Die Port-Zustände sind nur sinnvoll auswertbar, wenn zumindest einige Ports als Eingänge definiert sind. Normalerweise sind alle Ports des CCRP5 als Ausgänge definiert.

 

pulsePORT()   Nach oben

    function pulsePORT(byte port)

Die Funktion pulsePORT() gibt einen kurzen Impuls am gewünschten Port aus. 

port Port [1..4, 7, 9..16]

 

deactPORT()   Nach oben

    function deactPORT(byte port)

Die Funktion deactPORT() deaktiviert den gewünschten Port, der hierdurch zum Eingang wird.

port Port [9..16]

 

setPORT()   Nach oben

    function setPORT(byte port, byte state)

Die Funktion setPORT() setzt den gewünschten Port auf 0 oder 1.

port Port [1..7, 9..16]
state Status: [0..1]

 

PORTon()   Nach oben

    function PORTon(byte port)

Die Funktion PORTon() setzt den gewünschten Port auf 1.

port Port [1..7, 9..16]

 

PORToff()   Nach oben

    function PORToff(byte port)

Die Funktion PORToff() setzt den gewünschten Port auf 0.

port Port [1..7, 9..16]

 

showSYSVOLTS()   Nach oben

    function showSYSVOLTS()

Die Funktion showSYSVOLTS() nutzt die acht LEDs der Basiserweiterung, um die Höhe der Akkuspannung (Variable SYSVOLTS) darzustellen.

 

showLIGHT()   Nach oben

    function showLIGHT()

Die Funktion showLIGHT() nutzt die acht LEDs der Basiserweiterung, um die Helligkeit (Variable LIGHTL) darzustellen.

 


Autor/Vorlage:         André Helbig       Mail: andre.h@cc2net.de                Erstellt: 17.9.2004

Funktionsbeschreibung: Dirk Ottensmeyer   Mail: dirk.ottensmeyer@owl-online.de   Erstellt: 19.12.2005