Driver encodeurs rotatifs (TIM + quadrature soft) pour Brick. Plus de détails...
Structures de données | |
struct | encoder_state_t |
struct | enc_accel_state_t |
Macros | |
#define | ENC_TICKS_PER_STEP 8 |
Fonctions | |
void | drv_encoders_start (void) |
Initialise le sous-système des encodeurs. | |
int16_t | drv_encoder_get (encoder_id_t id) |
Retourne la valeur brute du compteur d’un encodeur. | |
void | encoder_reset (encoder_id_t id) |
int16_t | drv_encoder_get_delta (encoder_id_t id) |
Calcule l’incrément depuis le dernier appel (lecture brute). | |
int16_t | drv_encoder_get_delta_accel (encoder_id_t id) |
Calcule l’incrément avec accélération dynamique (EMA + flick). | |
Driver encodeurs rotatifs (TIM + quadrature soft) pour Brick.
Gère jusqu’à 4 encodeurs rotatifs :
Fournit :
#define ENC_TICKS_PER_STEP 8 |
int16_t drv_encoder_get | ( | encoder_id_t | id | ) |
Retourne la valeur brute du compteur d’un encodeur.
id | Identifiant de l’encodeur. |
int16_t drv_encoder_get_delta | ( | encoder_id_t | id | ) |
Calcule l’incrément depuis le dernier appel (lecture brute).
id | Identifiant de l’encodeur. |
int16_t drv_encoder_get_delta_accel | ( | encoder_id_t | id | ) |
Calcule l’incrément avec accélération dynamique (EMA + flick).
Utilise un filtre exponentiel sur la vitesse et un système d’impulsion temporaire lors des mouvements rapides pour améliorer la réactivité.
id | Identifiant de l’encodeur. |
void drv_encoders_start | ( | void | ) |
Initialise le sous-système des encodeurs.
Configure les timers matériels et les GPIO nécessaires, ainsi que les interruptions pour l’encodeur logiciel (ENC3).
void encoder_reset | ( | encoder_id_t | id | ) |