diff options
Diffstat (limited to 'source/ct-Bot/include/led.h')
-rw-r--r-- | source/ct-Bot/include/led.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/source/ct-Bot/include/led.h b/source/ct-Bot/include/led.h new file mode 100644 index 0000000..8e65b8b --- /dev/null +++ b/source/ct-Bot/include/led.h @@ -0,0 +1,86 @@ +/* + * c't-Sim - Robotersimulator fuer den c't-Bot + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your + * option) any later version. + * This program is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307, USA. + * + */ + +/*! @file led.h + * @brief Routinen zur LED-Steuerung + * @author Benjamin Benz (bbe@heise.de) + * @date 26.12.05 +*/ + +#ifndef led_H_ +#define led_H_ + +#include "ct-Bot.h" + +#define LED_RECHTS (1<<0) /*!< LED in Fahrichtung rechts*/ +#define LED_LINKS (1<<1) /*!< LED in Fahrichtung links*/ +#define LED_ROT (1<<2) /*!< LED Rot */ +#define LED_ORANGE (1<<3) /*!< LED Orange */ +#define LED_GELB (1<<4) /*!< LED Gelb */ +#define LED_GRUEN (1<<5) /*!< LED Gruen */ +#define LED_TUERKIS (1<<6) /*!< LED Tuerkis */ +#define LED_WEISS (1<<7) /*!< LED Weiss */ + +#define LED_ALL 0xFF /*!< LED Alle */ + +/*! Datenfeld fuer den Zugriff auf die LEDs */ +typedef struct { + uint8 rechts:1; /*!< LED in Fahrichtung rechts*/ + uint8 links:1; /*!< LED in Fahrichtung links*/ + + uint8 rot:1; /*!< LED Rot */ + uint8 orange:1; /*!< LED Orange */ + + uint8 gelb:1; /*!< LED Gelb */ + uint8 gruen:1; /*!< LED Gruen */ + + uint8 tuerkis:1; /*!< LED Tuerkis */ + uint8 weiss:1; /*!< LED Weiss */ +#ifndef DOXYGEN + } __attribute__ ((packed)) led_t; +#else + } led_t; +#endif + +extern uint8 led; + +/*! + * Initialisiert die LEDs + */ +void LED_init(void); + +/*! + * Zeigt eine 8-Bit Variable mit den LEDs an + * @param LED Wert der gezeigt werden soll + */ +void LED_set(uint8 LED); + +/*! Schaltet eine LED aus + * + * @param LED HEX-Code der LED + */ +void LED_off(uint8 LED); + +/*! Schaltet eine LED an + * + * @param LED HEX-Code der LED + */ +void LED_on(uint8 LED); + +#endif |