Backend unifié de gestion des LEDs adressables (SK6812/WS2812) — Phase 6 (+ SEQ renderer). Plus de détails...
#include <stdint.h>#include <stdbool.h>#include "drv_leds_addr.h"Aller au code source de ce fichier.
Macros | |
| #define | UI_LED_BACKEND_QUEUE_CAPACITY 64U |
Énumérations | |
| enum | ui_led_event_t { UI_LED_EVENT_STEP_STATE = 0 , UI_LED_EVENT_MUTE_STATE , UI_LED_EVENT_PMUTE_STATE , UI_LED_EVENT_CLOCK_TICK , UI_LED_EVENT_PARAM_SELECT } |
| enum | ui_led_mode_t { UI_LED_MODE_NONE = 0 , UI_LED_MODE_MUTE , UI_LED_MODE_SEQ , UI_LED_MODE_ARP , UI_LED_MODE_KEYBOARD , UI_LED_MODE_TRACK , UI_LED_MODE_RANDOM , UI_LED_MODE_CUSTOM } |
Fonctions | |
| void | ui_led_backend_init (void) |
| Init du backend (driver + état visuel). | |
| void | ui_led_backend_post_event (ui_led_event_t event, uint8_t index, bool state) |
| File un évènement LED dans la queue non bloquante (contexte thread). | |
| void | ui_led_backend_post_event_i (ui_led_event_t event, uint8_t index, bool state) |
| Variante ISR de ui_led_backend_post_event (ne bloque jamais). | |
| void | ui_led_backend_refresh (void) |
| Rendu par mode (à appeler périodiquement avant drv_leds_addr_render()). | |
| void | ui_led_backend_set_record_mode (bool active) |
| LED REC globale (OFF/ON). | |
| void | ui_led_backend_set_mode (ui_led_mode_t mode) |
| Sélection du mode visuel courant. | |
| void | ui_led_backend_set_cart_track_count (uint8_t cart_idx, uint8_t tracks) |
| Pour MUTE : nombre de pistes par cart (0..4). | |
| void | ui_led_backend_set_track_focus (uint8_t track_index) |
| Fixe la piste actuellement focalisée (Track Select). | |
| void | ui_led_backend_set_track_present (uint8_t track_index, bool present) |
| Indique si une piste est disponible pour l’affichage Track Select. | |
| void | ui_led_backend_set_keyboard_omnichord (bool enabled) |
| Active/valide le layout Omnichord (Keyboard). | |
Backend unifié de gestion des LEDs adressables (SK6812/WS2812) — Phase 6 (+ SEQ renderer).
ui_led_backend_post_event[_i].UI_LED_MODE_SEQ, délègue le rendu à ui_led_seq_render() et relaie les ticks clock vers ui_led_seq_on_clock_tick(). | #define UI_LED_BACKEND_QUEUE_CAPACITY 64U |
| enum ui_led_event_t |
| enum ui_led_mode_t |
| void ui_led_backend_init | ( | void | ) |
Init du backend (driver + état visuel).
| void ui_led_backend_post_event | ( | ui_led_event_t | event, |
| uint8_t | index, | ||
| bool | state | ||
| ) |
File un évènement LED dans la queue non bloquante (contexte thread).
| event | Type d’événement (MUTE/PMUTE/CLK/…) |
| index | Index associé (ex: step 0..15 pour CLOCK_TICK) |
| state | Booléen associé si pertinent |
| void ui_led_backend_post_event_i | ( | ui_led_event_t | event, |
| uint8_t | index, | ||
| bool | state | ||
| ) |
Variante ISR de ui_led_backend_post_event (ne bloque jamais).
| event | Type d’événement |
| index | Index associé |
| state | Booléen associé si pertinent |
| void ui_led_backend_refresh | ( | void | ) |
Rendu par mode (à appeler périodiquement avant drv_leds_addr_render()).
| void ui_led_backend_set_cart_track_count | ( | uint8_t | cart_idx, |
| uint8_t | tracks | ||
| ) |
Pour MUTE : nombre de pistes par cart (0..4).
| void ui_led_backend_set_keyboard_omnichord | ( | bool | enabled | ) |
Active/valide le layout Omnichord (Keyboard).
| void ui_led_backend_set_mode | ( | ui_led_mode_t | mode | ) |
Sélection du mode visuel courant.
| void ui_led_backend_set_record_mode | ( | bool | active | ) |
LED REC globale (OFF/ON).
| void ui_led_backend_set_track_focus | ( | uint8_t | track_index | ) |
Fixe la piste actuellement focalisée (Track Select).
| void ui_led_backend_set_track_present | ( | uint8_t | track_index, |
| bool | present | ||
| ) |
Indique si une piste est disponible pour l’affichage Track Select.