Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
Référence du fichier ui_controller.h

Logique centrale de contrôle de l’interface utilisateur Brick. Plus de détails...

#include <stdint.h>
#include <stdbool.h>
#include "ui_model.h"
#include "ui_spec.h"

Aller au code source de ce fichier.

Fonctions

void ui_init (const ui_cart_spec_t *spec)
 Initialise la couche UI avec la spécification fournie.
 
void ui_switch_cart (const ui_cart_spec_t *spec)
 Changement de cartouche (reload complet de la spécification).
 
const ui_state_tui_get_state (void)
 
const ui_cart_spec_tui_get_cart (void)
 
const ui_menu_spec_tui_resolve_menu (uint8_t bm_index)
 
void ui_on_button_menu (int index)
 Gestion des boutons MENU (BM1..BM8).
 
void ui_on_button_page (int index)
 Gestion des boutons PAGE (1..5).
 
void ui_on_encoder (int enc_index, int delta)
 Gestion des encodeurs rotatifs (édition de paramètre).
 
void ui_mark_dirty (void)
 
bool ui_is_dirty (void)
 
void ui_clear_dirty (void)
 

Description détaillée

Logique centrale de contrôle de l’interface utilisateur Brick.

Traduit les entrées (boutons/encodeurs) en modifications d’état UI, selon la spécification active (ui_cart_spec_t). Aucune I/O matérielle ici.

Documentation des fonctions

◆ ui_clear_dirty()

void ui_clear_dirty ( void  )

◆ ui_get_cart()

const ui_cart_spec_t * ui_get_cart ( void  )

◆ ui_get_state()

const ui_state_t * ui_get_state ( void  )

◆ ui_init()

void ui_init ( const ui_cart_spec_t spec)

Initialise la couche UI avec la spécification fournie.

  • Réinitialise les cycles BM.
  • Active le mode LED SEQ par défaut au boot (nouveau).

◆ ui_is_dirty()

bool ui_is_dirty ( void  )

◆ ui_mark_dirty()

void ui_mark_dirty ( void  )

◆ ui_on_button_menu()

void ui_on_button_menu ( int  index)

Gestion des boutons MENU (BM1..BM8).

◆ ui_on_button_page()

void ui_on_button_page ( int  index)

Gestion des boutons PAGE (1..5).

◆ ui_on_encoder()

void ui_on_encoder ( int  enc_index,
int  delta 
)

Gestion des encodeurs rotatifs (édition de paramètre).

  • UI_PARAM_CONT → variation continue dans la plage.
  • UI_PARAM_ENUM → incrément/décrément dans la liste d’options.
  • UI_PARAM_BOOL → toggle bitwise / booléen.

Hooks LED :

  • Si le paramètre correspond à KBD_OMNICHORD_ID, alors :

◆ ui_resolve_menu()

const ui_menu_spec_t * ui_resolve_menu ( uint8_t  bm_index)

◆ ui_switch_cart()

void ui_switch_cart ( const ui_cart_spec_t spec)

Changement de cartouche (reload complet de la spécification).