• 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
      • Eingebettete Systemsoftware
      • 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
  • Systemnahe Programmierung in C
    • Vorlesung
      • Übung
        • Folien
        • Aufgaben
        • SPiCboard
          • Bauanleitung
            • Programmieren im CIP
              • Programmieren von zu Hause
                • libspicboard-Doku
                  • SPiC-IDE
                    • SPiCsim
                      • FAQ
                        • Projekte
                        • Linux libc-Doku
                        • Prüfung
                          • Evaluation
                            • Intern

                            SPiCboard

                            • 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 */
                            20typedef 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
                            31CHECK_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 */
                            43int8_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 */
                            55int8_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 */
                            67int8_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 */
                            85int8_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 */
                            96void 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