Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
ui_led_backend.h
Aller à la documentation de ce fichier.
1
13#ifndef BRICK_UI_LED_BACKEND_H
14#define BRICK_UI_LED_BACKEND_H
15
16#include <stdint.h>
17#include <stdbool.h>
18#include "drv_leds_addr.h"
19
28
40
41#ifndef UI_LED_BACKEND_QUEUE_CAPACITY
42#define UI_LED_BACKEND_QUEUE_CAPACITY 64U
43#endif
44
45/* ===== API principale ===== */
47void ui_led_backend_init(void);
48
55void ui_led_backend_post_event(ui_led_event_t event, uint8_t index, bool state);
56
63void ui_led_backend_post_event_i(ui_led_event_t event, uint8_t index, bool state);
64
66void ui_led_backend_refresh(void);
67
69void ui_led_backend_set_record_mode(bool active);
70
73
75void ui_led_backend_set_cart_track_count(uint8_t cart_idx, uint8_t tracks);
76
78void ui_led_backend_set_track_focus(uint8_t track_index);
79
81void ui_led_backend_set_track_present(uint8_t track_index, bool present);
82
83/* ===== Spécifique Keyboard (inchangé) ===== */
86
87#ifdef UI_LED_BACKEND_TESTING
88uint32_t ui_led_backend_debug_queue_drops(void);
89ui_led_mode_t ui_led_backend_debug_get_mode(void);
90bool ui_led_backend_debug_track_muted(uint8_t track);
91const led_state_t *ui_led_backend_debug_led_state(void);
92#endif
93
94#endif /* BRICK_UI_LED_BACKEND_H */
Structure d’état logique d’une LED.
Definition drv_leds_addr.h:97
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).
Definition ui_led_backend_stub.c:8
ui_led_event_t
Definition ui_led_backend.h:21
@ UI_LED_EVENT_PMUTE_STATE
Definition ui_led_backend.h:24
@ UI_LED_EVENT_PARAM_SELECT
Definition ui_led_backend.h:26
@ UI_LED_EVENT_STEP_STATE
Definition ui_led_backend.h:22
@ UI_LED_EVENT_CLOCK_TICK
Definition ui_led_backend.h:25
@ UI_LED_EVENT_MUTE_STATE
Definition ui_led_backend.h:23
void ui_led_backend_set_mode(ui_led_mode_t mode)
Sélection du mode visuel courant.
Definition seq_hold_runtime_tests.c:112
void ui_led_backend_set_record_mode(bool active)
LED REC globale (OFF/ON).
Definition ui_led_backend_stub.c:13
void ui_led_backend_set_cart_track_count(uint8_t cart_idx, uint8_t tracks)
Pour MUTE : nombre de pistes par cart (0..4).
Definition ui_led_backend_stub.c:14
void ui_led_backend_refresh(void)
Rendu par mode (à appeler périodiquement avant drv_leds_addr_render()).
Definition ui_led_backend_stub.c:12
ui_led_mode_t
Definition ui_led_backend.h:30
@ UI_LED_MODE_MUTE
Definition ui_led_backend.h:32
@ UI_LED_MODE_CUSTOM
Definition ui_led_backend.h:38
@ UI_LED_MODE_ARP
Definition ui_led_backend.h:34
@ UI_LED_MODE_RANDOM
Definition ui_led_backend.h:37
@ UI_LED_MODE_SEQ
Definition ui_led_backend.h:33
@ UI_LED_MODE_TRACK
Definition ui_led_backend.h:36
@ UI_LED_MODE_KEYBOARD
Definition ui_led_backend.h:35
@ UI_LED_MODE_NONE
Definition ui_led_backend.h:31
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).
Definition ui_led_backend_stub.c:4
void ui_led_backend_init(void)
Init du backend (driver + état visuel).
Definition ui_led_backend_stub.c:3
void ui_led_backend_set_track_focus(uint8_t track_index)
Fixe la piste actuellement focalisée (Track Select).
Definition ui_led_backend_stub.c:18
void ui_led_backend_set_track_present(uint8_t track_index, bool present)
Indique si une piste est disponible pour l’affichage Track Select.
Definition ui_led_backend_stub.c:19
void ui_led_backend_set_keyboard_omnichord(bool enabled)
Active/valide le layout Omnichord (Keyboard).
Definition seq_hold_runtime_tests.c:116