Ich möchte gerne für die Status-LED eine Dual-LED mit gemeinsamen GND verwenden.
Kann mir jemand sagen wie ich den Code dafür ändern muß damit die Polarität umgedreht wird?
C
- #ifndef LED_H
- #define LED_H
- #include "config.h"
- #include "uart.h"
- /* LED-to-bit mapping - BUSY/DIRTY are only used for SINGLE_LED */
- #define LED_ERROR 1
- #define LED_BUSY 2
- #define LED_DIRTY 4
- extern volatile uint8_t led_state;
- /* Update the LEDs to match the buffer state */
- void update_leds(void);
- /* Wrapped in do..while to avoid "ambigious else" warnings */
- #ifdef SINGLE_LED
- # define set_dirty_led(x) do{if (x) { led_state |= LED_DIRTY; } else { led_state &= (uint8_t)~LED_DIRTY; }}while(0)
- # define set_busy_led(x) do{if (x) { led_state |= LED_BUSY ; } else { led_state &= (uint8_t)~LED_BUSY ; }}while(0)
- # define set_error_led(x) do{if (x) { led_state |= LED_ERROR; } else { led_state &= (uint8_t)~LED_ERROR; }}while(0)
- #else
- static inline __attribute__((always_inline)) void set_error_led(uint8_t state) {
- if (state) {
- led_state |= LED_ERROR;
- } else {
- led_state &= ~LED_ERROR;
- update_leds();
- }
- }
- #endif
- #endif