• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • System-Level Programming
    • Lecture
      • Exercises
        • Slides
        • Assignments
        • libspicboard-doc
          • Linux libc-doc
          • Exam
            • Intern
              • Contact

            libspicboard-doc

            • libspicboard
            led.h
            Go to the documentation of this file.
            1 #ifndef LED_H
            2 #define LED_H
            3 
            4 #include <stdint.h>
            5 #include "check.h"
            6 
            7 /**
            8  * \addtogroup LED LED access
            9  *
            10  * \brief Interface to the board's 8 LEDs
            11  *
            12  * @{
            13  * \file led.h
            14  * \version \$Rev: 7715 $
            15  */
            16 
            17 /**
            18  * \brief LED identifiers
            19  */
            20 typedef enum {
            21  RED0 = 0, /**< Upper red led **/
            22  YELLOW0 = 1, /**< Upper yellow led **/
            23  GREEN0 = 2, /**< Upper green led **/
            24  BLUE0 = 3, /**< Upper blue led **/
            25  RED1 = 4, /**< Lower red led **/
            26  YELLOW1 = 5, /**< Lower yellow led **/
            27  GREEN1 = 6, /**< Lower green led **/
            28  BLUE1 = 7 /**< Lower blue led **/
            29 } __attribute__ ((__packed__)) LED;
            30 
            31 CHECK_ENUM_SIZE(LED, 1)
            32 
            33 /**
            34  * \brief Activates a specific LED
            35  *
            36  * \param led LED ID
            37  *
            38  * \return 0 on success, negative value on error
            39  *
            40  * \retval 0 success
            41  * \retval -1 invalid LED ID
            42  */
            43 int8_t sb_led_on(LED led);
            44 
            45 /**
            46  * \brief Deactivates a specific LED
            47  *
            48  * \param led LED ID
            49  *
            50  * \return 0 on success, negative value on error
            51  *
            52  * \retval 0 success
            53  * \retval -1 invalid LED ID
            54  */
            55 int8_t sb_led_off(LED led);
            56 
            57 /**
            58  * \brief Toggles a specific LED
            59  *
            60  * \param led LED ID
            61  *
            62  * \return 0 on success, negative value on error
            63  *
            64  * \retval 0 success
            65  * \retval -1 invalid LED ID
            66  */
            67 int8_t sb_led_toggle(LED led);
            68 
            69 /**
            70  * \brief Uses the LED array as a level indicator
            71  *
            72  * Allows the array of LEDs to be used as a (fill) level, progress
            73  * or similar indicator. The 8 LEDs are used to display a ratio of
            74  * a max-value<=255 in 9 steps.
            75  *
            76  * \param level level value
            77  * \param max maximum possible value
            78  *
            79  * \return the number of LEDs turned on on success, negative value on error
            80  *
            81  * \retval >=0 success
            82  * \retval -1 level exceeds max
            83  * \retval -2 max is 0
            84  */
            85 int8_t sb_led_showLevel(uint8_t level, uint8_t max);
            86 
            87 /**
            88  * \brief Sets all LEDs according to a bitfield
            89  *
            90  * The bitfield contains one bit for each LED (the least significant bit
            91  * corresponds to `RED0`, the most significant bit `BLUE1`). A set bit
            92  * enables and a cleared bit disables the corresponding LED.
            93  * \image html led_mask.png
            94  * \param mask 8-bit bitfield describing the desired LED states
            95  */
            96 void sb_led_setMask(uint8_t mask);
            97 
            98 /** @}*/
            99 
            100 #endif
            101 
            check.h
            CHECK_ENUM_SIZE
            #define CHECK_ENUM_SIZE(VAR, LEN)
            Definition: check.h:71
            sb_led_off
            int8_t sb_led_off(LED led)
            Deactivates a specific LED.
            sb_led_toggle
            int8_t sb_led_toggle(LED led)
            Toggles a specific LED.
            sb_led_setMask
            void sb_led_setMask(uint8_t mask)
            Sets all LEDs according to a bitfield.
            sb_led_on
            int8_t sb_led_on(LED led)
            Activates a specific LED.
            LED
            LED
            LED identifiers.
            Definition: led.h:20
            sb_led_showLevel
            int8_t sb_led_showLevel(uint8_t level, uint8_t max)
            Uses the LED array as a level indicator.
            GREEN1
            @ GREEN1
            Definition: led.h:27
            YELLOW1
            @ YELLOW1
            Definition: led.h:26
            BLUE0
            @ BLUE0
            Definition: led.h:24
            RED0
            @ RED0
            Definition: led.h:21
            GREEN0
            @ GREEN0
            Definition: led.h:23
            RED1
            @ RED1
            Definition: led.h:25
            YELLOW0
            @ YELLOW0
            Definition: led.h:22
            BLUE1
            @ BLUE1
            Definition: led.h:28
            Friedrich-Alexander-Universität
            Erlangen-Nürnberg

            Schlossplatz 4
            91054 Erlangen
            • Impressum
            • Datenschutz
            • Barrierefreiheit
            • Facebook
            • RSS Feed
            • Xing
            Nach oben