angehängt habe ich meine neue Version von Gateway.bas [Gelöscht wegen Mangel an Upload-Platz!], die sich in folgenden Punkten vom Original unterscheidet:
1. Bei allen SLEEP-Funktionen und in der primären Schleife des Command Interpreters wird auf die Akkuspannung geachtet, damit sich der Robby nicht für immer verabschieden kann, während die CC2 schläft.
2. Die neue Version (Gateway_2.bas) ist kompatibel zur alten Version, so dass die CC2-Beispiele genauso laufen.
3. Es gibt 20 neue Kommandos für folgende Funktionen:
FWDL/R, REVL/R, AD[8]-Abfrage, Subsystem-Mode lesen/schreiben, Device Address setzen, auf Ping warten, LC-Display an LCD1 ansteuern, Ports lesen/schreiben, RTC-Datum lesen/schreiben, den File-Status ermitteln (EOF, FILEFREE) und ...
die HAUPTFUNKTION (37), nämlich den SLEEP-Modus mit einer Wakeup-Bedingung.
Dieser Befehl ermöglicht es der CC2, solange zu schlafen, bis die CC1 eine bestimmte Bedingung feststellt. Es sind bis jetzt (V1.0) 12 frei wählbare Bedingungen implementiert:
Akku entladen, Ladeendspannung erreicht, Ladestrom niedrig/hoch, Geräusch bemerkt, Berührung aufgetreten, Dunkelheit/Helligkeit bemerkt, AD[8] niedrig/hoch, ACS R/L angesprochen, IR-Kommando empfangen, aktuelles DCF-Signal empfangen.
Ich würde mich über Rückmeldungen/Fehlermeldungen oder Wünsche nach weiteren Funktionen freuen!
was ist eine neue Gateway-Version ohne das erweiterte ccrp5.c2 Modul?
Hier ist die neue Version, die anstelle der alten im Verzeichnis "UserLib" unterzubringen ist, dort muss sie noch von ccrp5.bas in ccrp5.c2 umbenannt werden.
Erweiterte Gateway2-Funktionen (21..40):
FWDL, FWDR, REVL, REVR -> wie bei der CC1!
getAD8 -> AD[8] lesen
setCNMODE -> Subsystem Mode ändern
getCNMODE -> Subsystem Mode lesen
setDEVICEADDR -> Device Adresse ändern/setzen
initLCD1 -> = gosub LCD_INIT
clearLCD1 -> = gosub LCD_CLS
writeLCD1 -> Zeilenwechsel 1/2 und Zeichenausgabe
getBYTEPORTS -> Byteports 1/2 lesen
BYTEPORT1on -> Ports 1..8 einschalten
BYTEPORT1off -> Ports 1..8 ausschalten
BYTEPORT2on -> Ports 9..16 einschalten
BYTEPORT2off -> Ports 9..16 ausschalten
setRTCDATE -> Datum der CC2 in CC1 übertragen
getRTCDATE -> Datum der CC1 in CC2 übertragen
SLEEPUNTIL -> CC2 schläft, bis eine von 13 Bedingungen erfüllt (siehe Gateway_2.bas!) oder der Akku leer ist.
waitPING -> Warten auf Ping und Länge zurückgeben
R_FILESTAT -> EOF auswerten
W_FILESTAT -> FILEFREE auswerten
Lesezeichen