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

Configuration matérielle et paramètres globaux du firmware Brick. Plus de détails...

Aller au code source de ce fichier.

Macros

#define CCM_DATA   __attribute__((section(".ram4"), aligned(4)))
 
#define BRICK_FIRMWARE_VERSION   "0.9.3"
 
#define BRICK_DEVICE_NAME   "Brick Synth Engine"
 
#define NUM_BUTTONS   40
 
#define NUM_ENCODERS   4
 
#define NUM_POTS   4
 
#define NUM_ADRESS_LEDS   17
 
#define NUM_GPIO_LEDS   8
 
#define LED_BRIGHTNESS   32
 
#define LED_MODE_DEFAULT   LED_MODE_ON
 
#define ENC_TICKS_PER_STEP   8
 
#define ENC_ACCEL_TAU_MS   120.0f
 
#define ENC_ACCEL_V0   50.0f
 
#define ENC_ACCEL_V1   300.0f
 
#define ENC_ACCEL_G1   0.010f
 
#define ENC_ACCEL_G2   0.003f
 
#define ENC_ACCEL_MAX   10.0f
 
#define ENC_FLICK_THRESH   600.0f
 
#define ENC_FLICK_GAIN   0.003f
 
#define ENC_FLICK_TAU_MS   150.0f
 
#define UI_FRAME_INTERVAL_MS   16
 
#define UI_INPUT_POLL_MS   20
 
#define LED_RENDER_INTERVAL_MS   20
 
#define CART_BUS_TIMEOUT_MS   50
 
#define CART_LINK_DEFAULT   CART1
 

Description détaillée

Configuration matérielle et paramètres globaux du firmware Brick.

Ce fichier centralise toutes les constantes liées :

  • à la configuration matérielle (boutons, LEDs, ADC, etc.)
  • au comportement de l’interface (timings, threads)
  • aux profils de sensibilité des encodeurs
  • aux options de débogage et d’identification du firmware

Documentation des macros

◆ BRICK_DEVICE_NAME

#define BRICK_DEVICE_NAME   "Brick Synth Engine"

◆ BRICK_FIRMWARE_VERSION

#define BRICK_FIRMWARE_VERSION   "0.9.3"

◆ CART_BUS_TIMEOUT_MS

#define CART_BUS_TIMEOUT_MS   50

◆ CART_LINK_DEFAULT

#define CART_LINK_DEFAULT   CART1

◆ CCM_DATA

#define CCM_DATA   __attribute__((section(".ram4"), aligned(4)))

◆ ENC_ACCEL_G1

#define ENC_ACCEL_G1   0.010f

Gain de pente pour zone moyenne.

◆ ENC_ACCEL_G2

#define ENC_ACCEL_G2   0.003f

Gain de pente pour zone haute.

◆ ENC_ACCEL_MAX

#define ENC_ACCEL_MAX   10.0f

Multiplicateur maximum.

◆ ENC_ACCEL_TAU_MS

#define ENC_ACCEL_TAU_MS   120.0f

Constante de temps EMA pour la vitesse.

◆ ENC_ACCEL_V0

#define ENC_ACCEL_V0   50.0f

Seuil de début d’accélération.

◆ ENC_ACCEL_V1

#define ENC_ACCEL_V1   300.0f

Seuil haut de la zone accélérée.

◆ ENC_FLICK_GAIN

#define ENC_FLICK_GAIN   0.003f

Gain ajouté lors d’un flick.

◆ ENC_FLICK_TAU_MS

#define ENC_FLICK_TAU_MS   150.0f

Durée de décroissance du flick.

◆ ENC_FLICK_THRESH

#define ENC_FLICK_THRESH   600.0f

Seuil de détection d’un flick rapide.

◆ ENC_TICKS_PER_STEP

#define ENC_TICKS_PER_STEP   8

Nombre de ticks matériels par pas logique.

◆ LED_BRIGHTNESS

#define LED_BRIGHTNESS   32

Intensité globale (0–255).

◆ LED_MODE_DEFAULT

#define LED_MODE_DEFAULT   LED_MODE_ON

Mode par défaut.

◆ LED_RENDER_INTERVAL_MS

#define LED_RENDER_INTERVAL_MS   20

Périodicité du rendu LED.

◆ NUM_ADRESS_LEDS

#define NUM_ADRESS_LEDS   17

Nombre de LEDs adressables (WS2812/SK6812).

◆ NUM_BUTTONS

#define NUM_BUTTONS   40

Nombre total de boutons.

◆ NUM_ENCODERS

#define NUM_ENCODERS   4

Nombre total d’encodeurs rotatifs.

◆ NUM_GPIO_LEDS

#define NUM_GPIO_LEDS   8

LEDs simples sur GPIO (optionnel).

◆ NUM_POTS

#define NUM_POTS   4

Nombre total de potentiomètres analogiques.

◆ UI_FRAME_INTERVAL_MS

#define UI_FRAME_INTERVAL_MS   16

Intervalle d’affichage (≈ 60 FPS).

◆ UI_INPUT_POLL_MS

#define UI_INPUT_POLL_MS   20

Fréquence de polling des entrées.