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

Interface du bus série entre Brick et les cartouches XVA. Plus de détails...

#include <stdint.h>
#include <stdbool.h>

Aller au code source de ce fichier.

Structures de données

struct  cart_tx_stats_t
 Statistiques de transmission par cartouche. Plus de détails...
 

Énumérations

enum  cart_id_t {
  CART1 = 0 , CART2 = 1 , CART3 = 2 , CART4 = 3 ,
  CART_COUNT
}
 Identifiants logiques des cartouches physiques. Plus de détails...
 

Fonctions

void cart_bus_init (void)
 Initialise tous les ports série de cartouche et crée les threads TX.
 
bool cart_set_param (cart_id_t id, uint16_t param, uint8_t value)
 Envoie une commande SET (écriture de paramètre) vers une cartouche.
 
bool cart_get_param (cart_id_t id, uint16_t param)
 Envoie une commande GET (lecture de paramètre) vers une cartouche.
 
uint16_t cart_bus_get_mailbox_high_water (cart_id_t id)
 Retourne le high-water mark de la mailbox pour un port donné.
 

Variables

cart_tx_stats_t cart_stats [CART_COUNT]
 Tableau global des statistiques de chaque port.
 

Description détaillée

Interface du bus série entre Brick et les cartouches XVA.

Ce module assure la communication série asynchrone entre le cœur Brick et jusqu’à quatre cartouches d’extension (XVA, etc.). Chaque cartouche est associée à un port UART dédié et dispose de sa propre file d’envoi (mailbox + pool mémoire) gérée par un thread indépendant.

Mapping UART matériel

Cart UART Broches STM32
1 USART1 PA9 / PA10
2 UART4 PE8 / PE7
3 USART3 PB10 / PB11
4 USART2 PA2 / PA3

Documentation du type de l'énumération

◆ cart_id_t

enum cart_id_t

Identifiants logiques des cartouches physiques.

Valeurs énumérées
CART1 

Port 1 → USART1 (PA9/PA10)

CART2 

Port 2 → UART4 (PE8/PE7)

CART3 

Port 3 → USART3 (PB10/PB11)

CART4 

Port 4 → USART2 (PA2/PA3)

CART_COUNT 

Documentation des fonctions

◆ cart_bus_get_mailbox_high_water()

uint16_t cart_bus_get_mailbox_high_water ( cart_id_t  id)

Retourne le high-water mark de la mailbox pour un port donné.

◆ cart_bus_init()

void cart_bus_init ( void  )

Initialise tous les ports série de cartouche et crée les threads TX.

◆ cart_get_param()

bool cart_get_param ( cart_id_t  id,
uint16_t  param 
)

Envoie une commande GET (lecture de paramètre) vers une cartouche.

Paramètres
idIdentifiant de la cartouche (CART1..CART4)
paramIdentifiant du paramètre (dest_id)
Renvoie
true si la commande a été postée avec succès, sinon false.

◆ cart_set_param()

bool cart_set_param ( cart_id_t  id,
uint16_t  param,
uint8_t  value 
)

Envoie une commande SET (écriture de paramètre) vers une cartouche.

Paramètres
idIdentifiant de la cartouche (CART1..CART4)
paramIdentifiant du paramètre (dest_id)
valueNouvelle valeur (brute, 8 bits)
Renvoie
true si la commande a été postée avec succès, sinon false.

Documentation des variables

◆ cart_stats

cart_tx_stats_t cart_stats[CART_COUNT]
extern

Tableau global des statistiques de chaque port.