STPORTS2.C2 - Hilfe


Beschreibung

Einfügen als Systemmodul

Konstanten

Funktionen:

init()
setDDRall()
setall()
getall()
setDDR()
set()
deact()
get()
tog()
pulse()
LCDlight()
getLCDlight()
togLCDlight()
setLED()
getLED()
togLED()
setRel()
getRel()
togRel()

 

Beschreibung   Nach oben

Das Modul stports2.c2 ist ein Treiber für die erweiterten Ausgänge der C-Control-II-Station Rev. 1.1.
(Advanced CC2-Station)
Dazu zählen die 8 LEDs, die 2 Relais, die 5 Ports PO.0 bis .4 und die LCD-Beleuchtung.
Diese erweiterten Ports basieren auf dem I²C-Portexpander MAX7311.


Einfügen als Systemm
odul
   Nach oben

Das Modul ist derzeit im Betastatus. Es sollte vorerst nur als Programmodul verwendet werden.

Die Datei stports2.c2 in das Verzeichnis .\CControl2\Lib kopieren und in der Datei modules.txt
die Zeile stports2.c2 unterhalb von max7311.c2 einfügen.
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt bestimmt,
daß das Modul in jedem neuen Projekt von Anfang an aktiviert wird.


Konstanten   Nach oben

Einsprungadressen des ASM-Treibers:

const MAX7311Addr= 0; // sys0001.hex: Subadresse MAX7311

const PM0      = 0; // Klemme 7
const PM1      = 1; // Klemme 8
const PM2      = 2; // Klemme 9
const PM3      = 3; // Klemme 10
const PM4      = 4; // Klemme 11
const LCDLight = 5; // Displaybeleuchtung
const REL1      = 6; // Relais K1
const REL2      = 7; // Relais K2
const LED1      = 8
const LED2      = 9;
const LED3      =10;
const LED4      =11;
const LED5      =12; // Über Jumper als Host-LED konfigurierbar. In diesem Fall hier ohne Funktion!
const PM12      =12; // Klemme 15
const LED_F1    =13;
const LED_F2    =14;
const LED_F3    =15;


// Offset für Portnummern
const LEDoffset = 8;
const RELoffset = 6;


Funktionen:

init()   Nach oben

    function init(int PM12IO, int ResetStates)

Die Funktion init() initialisiert die Ports und setzt deren Pegel auf low(=aus), wenn
ResetStates true ist. Lediglich die Displaybeleuchtung wird gedimmt eingeschaltet.
Zudem kann Port PM12 als Eingang definiert werden, wenn für PM12IO ein Wert
ungleich null übergeben wird.

PM12IO true(!=0): Port PM.12 als Eingang
false(0): Port PM.12 als Ausgang
ResetStates true: alle Ausgänge auf Low setzen
(LEDs und Relais, nicht PM-Ports)


setDDRall()
   Nach oben

    function setDDRall(int DDR) returns int

Mit setDDRall() kann über ein Bitmuster bestimmt werden, welche Ports
des MAX7311 als Aus- und welche als Eingänge genutzt werden.
Die Funktion gibt True(-1) zurück, wenn der MAX7311 ansprechbar ist, andernfalls False(0).

DDR Bitmuster für DDR-Register. High-Bit=Eingang, Low-Bit=Ausgang
Bei setDDR() 0=Ausgang, ungleich 0 =Eingang


setall()   Nach oben

    function setall(int state) returns int

Mit setall() werden alle Ports entsprechend dem Bitmuster state gesetzt

state Bitmuster der Schaltzustände:
Bit0 bis Bit4 = Ports PM.0 bis PM.4
Bit5 = LCD-Beleuchtung
Bit6, 7 = Relais 1 & 2
Bit8 bis B15 = LED1 bis LED8
Bit12 = Port PM.12/LED5


getall()
   Nach oben

    function getall() returns int

Die Funktion getall() gibt die Schaltzustände aller Ports
als 16Bit Bitmuster zurück.

setDDR()   Nach oben

    function setDDR(int Port, int direction) returns int

Mit setDDR() kann die ein einzelner Port als Aus-oder Eingang definiert werden.
Die Funktion gibt True(-1) zurück, wenn der MAX7311 ansprechbar ist, andernfalls False(0).

Port Port 0 bis 15
direction True(!=0): Eingang
Low(=0): Ausgang


set()
   Nach oben

    function set(byte Port, int state) returns int

Die Funktion set() setzt den angegebenen Port ensprechend des Werts state.

Port Port 0 bis 15
state Schaltzustand 0 = low   0!= high

deact()   Nach oben

    function deact(byte Port) returns int

Die Funktion deactt() setzt den angegebenen Port als Eingang.

Port Port 0 bis 15

 

get()   Nach oben

    function get(byte Port) returns int

Mit der Funktion get() wird der Schaltzustand eines einzelnen Ports abgefragt.

Port Port 0 bis 15


tog()
   Nach oben

    function tog(byte Port) returns int

Mit tog() wird der angegebene Port invertiert.

Port Port 0 bis 15


pulse()
   Nach oben

    function pulse(bytePort) returns int

Mit der Funktion pulse() wird ein kurzer Nadelimpuls an dem angegebenen
Port ausgegeben.

Port Port 0 bis 15



LCDlight()
   Nach oben

    function LCDlight(int state) returns int

Mit der Funktion LCDlight() wird die LCD-Beleuchtung geschaltet.
Es kann dabei zwischen aus, gedimmt und ein gewählt werden.

state 0 =aus
2 = ein, gedimmt
!=0 & !=2 = ein, volle Helligkeit


getLCDlight()
   Nach oben

    function getLCDlight() returns int

Mit der Funktion getLCDlight() wird der Schaltzustand der LCD-Beleuchtung
abgefragt. Es werden dabei die Werte 0(aus), -1(ein) oder 2(gedimmt) zurückgegeben.


togLCDlight()
   Nach oben

    function tog(byte Port)

Mit togLCDlight() wird der Schaltzustand der LCD-Beleuchtung invertiert.


setLED()   Nach oben

    function setLED(byte LED, int state)

Die Funktion setLED() schaltet die angegebene LED entsprechend des Werts state.

LED LED 1 bis 8
state Schaltzustand 0 = low   0!= high

 

getLED()   Nach oben

    function getLED(byte LED) returns int

Mit der Funktion getLED() wird der Schaltzustand der angegebenen
LED zurückgegeben.

LED LED 1 bis 8


togLED()
   Nach oben

    function togLED(byte LED) returns int

Mit togLED() wird der Schaltzustand der angegebenen LED invertiert.

LED LED 1 bis  8



setRel()   Nach oben

    function setRel(byte Rel, int state) returns int

Die Funktion setRel() schaltet das angegebene Relais entsprechend des Werts state.

Rel Relais 1 bis 2
state Schaltzustand 0 = low   0!= high

 

getRel()   Nach oben

    function getRel(byte Rel) returns int

Mit der Funktion getRel() wird der Schaltzustand des angegebenen
Relais zurückgegeben.

Rel Relais 1 bis 2


togRel()
   Nach oben

    function togRel(byte Rel) returns int

Mit togRel() wird der Schaltzustand des angegebenen Relais invertiert.

Rel Relais 1 bis 2

 


Autor: André Helbig   www.CC2Net.de    Erstellt: 9.4.2008