#ifndef CONTROL_H_ #define CONTROL_H_ #include "system.h" /* Datenstruktur fuer komplettes Bedienelement */ struct _usercontrol { volatile unsigned char *uc_port_trigger; /* Verweis auf Port der Tasteneingabe */ unsigned char uc_pin_trigger; /* Taster des Bedienelements */ volatile unsigned char *uc_port_led; /* Verweis auf Port der LED-ausgabe */ unsigned char uc_pin_led; /* LED des Bedienelements */ volatile unsigned char *uc_port_power; /* Verweis auf Port des Schaltausgangs */ unsigned char uc_pin_power; /* Powerausgang des Bedienelements */ void (*fcn)(struct _usercontrol *); /* Verweis auf Funktion zum Schalten des Bedienelements */ struct _usercontrol *st_next; /* Verweis auf das nächste Bedienelement */ }; /* Typdefinition fuer Bedienelement */ typedef struct _usercontrol usercontrol; /* Prototypen der Bedienelementfunktionen */ /* Funktion zum Hinzufuegen eines Bedienelements zur Liste aller Bedienelemente */ extern usercontrol *newUserControl(usercontrol *, volatile unsigned char *, unsigned char, volatile unsigned char *, unsigned char, volatile unsigned char *, unsigned char); /* Funktion zum Abfragen aller Bedienelemente */ extern void queryUserControls(usercontrol *); /* Funktion zum Einschalten eines Schaltausgangs */ extern void turnOnUserControl(usercontrol *); /* Funktion zum Ausschalten eines Schaltausgangs */ extern void turnOffUserControl(usercontrol *); #endif /* CONTROL_H_ */