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

Fonctions

void cart_link_init (void)
 Initialise la couche Cart Link et réinitialise les registres shadow.
 
void cart_link_param_changed (uint16_t param_id, uint8_t value, bool is_bitwise, uint8_t bit_mask)
 Notifie un changement de paramètre vers la cartouche active.
 
uint8_t cart_link_shadow_get (cart_id_t cid, uint16_t param_id)
 Lecture du shadow local pour une cartouche donnée.
 
void cart_link_shadow_set (cart_id_t cid, uint16_t param_id, uint8_t v)
 Écriture directe dans le shadow local (sans envoi immédiat).
 

Description détaillée

Fournit les primitives pour :

Note
Implémente le pont attendu par la couche UI via ui_backend.
Header public : ne dépend que de cart_bus.h (types cart_id_t, CARTx).

Documentation des fonctions

◆ cart_link_init()

void cart_link_init ( void  )

Initialise la couche Cart Link et réinitialise les registres shadow.

Postcondition
Les valeurs shadow sont initialisées pour toutes les cartouches connues.

Initialise la couche Cart Link et réinitialise les registres shadow.

Réinitialise les registres shadow pour toutes les cartouches.

◆ cart_link_param_changed()

void cart_link_param_changed ( uint16_t  param_id,
uint8_t  value,
bool  is_bitwise,
uint8_t  bit_mask 
)

Notifie un changement de paramètre vers la cartouche active.

Paramètres
param_idIdentifiant de paramètre (a.k.a. dest_id)
valueNouvelle valeur (0/1 ou 0–255)
is_bitwiseSi true, applique un masque binaire (écriture partielle)
bit_maskMasque binaire à appliquer si is_bitwise est true
Note
L’implémentation peut ignorer l’envoi si la valeur est identique au shadow.

Notifie un changement de paramètre vers la cartouche active.

Met à jour le registre shadow local et envoie la valeur correspondante à la cartouche actuellement active via cart_set_param().

Paramètres
param_idIdentifiant du paramètre (correspond au dest_id)
valueNouvelle valeur (0/1 pour booléen, ou valeur brute)
is_bitwiseSi vrai, applique le bit_mask sur la valeur existante
bit_maskMasque binaire pour les modifications partielles (bits)

◆ cart_link_shadow_get()

uint8_t cart_link_shadow_get ( cart_id_t  cid,
uint16_t  param_id 
)

Lecture du shadow local pour une cartouche donnée.

Paramètres
cidIdentifiant de cartouche (CART1..CART4)
param_idIdentifiant de paramètre
Renvoie
La valeur courante en cache (shadow) pour ce paramètre.
Avertissement
Ne déclenche aucun I/O : lecture purement locale.

Lecture du shadow local pour une cartouche donnée.

Paramètres
cidIdentifiant de la cartouche
param_idID du paramètre à lire
Renvoie
Valeur shadow actuelle (0 si hors bornes)

◆ cart_link_shadow_set()

void cart_link_shadow_set ( cart_id_t  cid,
uint16_t  param_id,
uint8_t  v 
)

Écriture directe dans le shadow local (sans envoi immédiat).

Paramètres
cidIdentifiant de cartouche
param_idIdentifiant de paramètre
vValeur à écrire dans le cache
Note
Utile pour synchroniser l’UI sans trafic UART (ex. bitfields).

Écriture directe dans le shadow local (sans envoi immédiat).

Paramètres
cidIdentifiant de la cartouche
param_idID du paramètre
vNouvelle valeur