30 #define F_CPU 20000000UL
33 #ifndef LED_NUMBER_OF_LEDS
43 #define LED_NUMBER_OF_LEDS 2
46 #ifndef LED_FRAME_SIZE
56 #define LED_FRAME_SIZE 4
59 #ifndef LED_START_VALUE
67 #define LED_START_VALUE 0x00
70 #ifndef LED_STOP_VALUE
78 #define LED_STOP_VALUE 0xFF
81 #ifndef LED_ENABLE_FLAG
89 #define LED_ENABLE_FLAG 0xE0
92 #ifndef LED_SLEEP_FLAG
100 #define LED_SLEEP_FLAG 0xA0
103 #ifndef LED_MIN_INTENSITY
111 #define LED_MIN_INTENSITY 0x01
114 #ifndef LED_MAX_INTENSITY
122 #define LED_MAX_INTENSITY 0x0F
126 #include <util/delay.h>
224 #define LED_SOF() { led_xof(LED_START_VALUE); _delay_us(10); }
233 #define LED_EOF() { led_xof(LED_STOP_VALUE); _delay_us(10); }
237 void led_xof(
unsigned char value);
struct LED_Data_t LED_Data
Alias for struct LED_Data_t representing LED color and intensity data.
Definition led.h:215
enum LED_Delay_t LED_Delay
Alias for enum LED_Delay_t representing predefined LED blink delay durations.
Definition led.h:172
LED_Status_t
Enumerates possible LED status types indicating different system states.
Definition led.h:138
@ LED_Status_Error
Definition led.h:142
@ LED_Status_Warning
Definition led.h:141
@ LED_Status_None
Definition led.h:139
@ LED_Status_Ready
Definition led.h:140
void led_color(LED_Position position, LED_Data color)
Set the colors of specified LEDs based on position flags.
Definition led.c:233
void leds_off(void)
Turn off all LEDs by sending zero-intensity frames.
Definition led.c:207
LED_Data led_status_color(LED_Status status, unsigned char intensity)
Generate a color configuration for an LED based on its status and intensity.
Definition led.c:138
void led_init(void)
Initialize the LED control interface and hardware.
Definition led.c:41
void led_disable(void)
Disable the LED hardware interface.
Definition led.c:64
enum LED_Position_t LED_Position
Alias for enum LED_Position_t representing LED position flags and blinking options.
Definition led.h:194
LED_Position_t
Defines LED position flags and alternating blinking modes.
Definition led.h:182
@ LED_Position_None
Definition led.h:183
@ LED_Position_Right
Definition led.h:185
@ LED_Position_Left_Alternating
Definition led.h:186
@ LED_Position_Left
Definition led.h:184
@ LED_Position_Right_Alternating
Definition led.h:187
void led_data(LED_Data data)
Send an LED data frame with specified color and intensity.
Definition led.c:113
LED_Delay_t
Defines selectable delay durations for LED blinking actions.
Definition led.h:159
@ LED_Delay_MS_500
Definition led.h:165
@ LED_Delay_MS_100
Definition led.h:161
@ LED_Delay_MS_400
Definition led.h:164
@ LED_Delay_None
Definition led.h:160
@ LED_Delay_MS_200
Definition led.h:162
@ LED_Delay_MS_300
Definition led.h:163
void led_blink(LED_Position position, LED_Data color, LED_Delay delay, unsigned char repeat)
Blink LEDs on specified positions with given color, delay and repeat count.
Definition led.c:288
void led_xof(unsigned char value)
Transmit a specified value repeatedly over SPI to form a data frame.
Definition led.c:89
enum LED_Status_t LED_Status
Alias for enum LED_Status_t representing possible LED system status codes.
Definition led.h:149
Header file with declarations and macros for hardware SPI.
Represents the data structure for a single LED including color and intensity.
Definition led.h:204
unsigned char red
Definition led.h:206
unsigned char green
Definition led.h:207
unsigned char intensity
Definition led.h:205
unsigned char blue
Definition led.h:208