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. | |
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.
Cart | UART | Broches STM32 |
---|---|---|
1 | USART1 | PA9 / PA10 |
2 | UART4 | PE8 / PE7 |
3 | USART3 | PB10 / PB11 |
4 | USART2 | PA2 / PA3 |
enum cart_id_t |
uint16_t cart_bus_get_mailbox_high_water | ( | cart_id_t | id | ) |
Retourne le high-water mark de la mailbox pour un port donné.
void cart_bus_init | ( | void | ) |
Initialise tous les ports série de cartouche et crée les threads TX.
bool cart_get_param | ( | cart_id_t | id, |
uint16_t | param | ||
) |
Envoie une commande GET (lecture de paramètre) vers une cartouche.
id | Identifiant de la cartouche (CART1..CART4) |
param | Identifiant du paramètre (dest_id) |
true
si la commande a été postée avec succès, sinon false
. 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.
id | Identifiant de la cartouche (CART1..CART4) |
param | Identifiant du paramètre (dest_id) |
value | Nouvelle valeur (brute, 8 bits) |
true
si la commande a été postée avec succès, sinon false
.
|
extern |
Tableau global des statistiques de chaque port.