Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
Cart Registry

Fonctions

void cart_registry_init (void)
 Initialise le registre des cartouches.
 
void cart_registry_register (cart_id_t id, const struct ui_cart_spec_t *ui_spec)
 Enregistre la spécification UI d'une cartouche pour un port donné.
 
const struct ui_cart_spec_tcart_registry_get_ui_spec (cart_id_t id)
 Récupère la spécification UI d'une cartouche sans la rendre active.
 
const struct ui_cart_spec_tcart_registry_switch (cart_id_t id)
 Rend active une cartouche et renvoie sa spécification UI.
 
cart_id_t cart_registry_get_active_id (void)
 Renvoie l'identifiant (cid) de la cartouche active.
 
bool cart_registry_is_present (cart_id_t id)
 Indique si une cartouche est enregistrée (présente) pour un port donné.
 

Description détaillée

Ce module maintient l'association entre les ports matériels (CART1..CART4) et leurs descriptions UI (struct ui_cart_spec_t). Il gère également la cartouche actuellement active (identifiant cart_id_t) afin que les couches hautes (UI, moteur temps réel) puissent interroger la configuration courante sans dépendre des couches basses (bus/uart).

Règles d’architecture :

Note
Le registre ne réalise aucune I/O. Il stocke des pointeurs vers des descriptions statiques (tables) et expose l’ID de la cartouche active.

Documentation des fonctions

◆ cart_registry_get_active_id()

cart_id_t cart_registry_get_active_id ( void  )

Renvoie l'identifiant (cid) de la cartouche active.

Renvoie
cart_id_t (CART1..CART4)
Note
À utiliser par les couches bas niveau (cart_link) pour router les accès.

◆ cart_registry_get_ui_spec()

const struct ui_cart_spec_t * cart_registry_get_ui_spec ( cart_id_t  id)

Récupère la spécification UI d'une cartouche sans la rendre active.

Paramètres
idIdentifiant/port (CART1..CART4)
Renvoie
Pointeur constant vers struct ui_cart_spec_t, ou NULL si non enregistrée.

◆ cart_registry_init()

void cart_registry_init ( void  )

Initialise le registre des cartouches.

Réinitialise la table interne et positionne la cartouche active par défaut (typiquement CART1). Doit être appelé une seule fois au démarrage.

◆ cart_registry_is_present()

bool cart_registry_is_present ( cart_id_t  id)

Indique si une cartouche est enregistrée (présente) pour un port donné.

Paramètres
idIdentifiant/port (CART1..CART4)
Renvoie
true si une spec UI est enregistrée pour id, false sinon.

◆ cart_registry_register()

void cart_registry_register ( cart_id_t  id,
const struct ui_cart_spec_t ui_spec 
)

Enregistre la spécification UI d'une cartouche pour un port donné.

Paramètres
idIdentifiant/port (CART1..CART4)
ui_specPointeur constant vers la spécification UI de la cartouche
Note
Ne modifie pas la cartouche active : voir cart_registry_switch.

◆ cart_registry_switch()

const struct ui_cart_spec_t * cart_registry_switch ( cart_id_t  id)

Rend active une cartouche et renvoie sa spécification UI.

Paramètres
idIdentifiant/port à activer (CART1..CART4)
Renvoie
Pointeur constant vers la spec UI de la cartouche désormais active, ou la précédente si id est invalide.
Note
Ne réalise aucune I/O : la sélection active est un état logiciel.