Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
motors/include/DRV8876.h
Aller à la documentation de ce fichier.
1//
2// Created by Romain Pouvreau on 15/04/2026.
3//
9
10#ifndef MOTORS_DRV8876_H
11#define MOTORS_DRV8876_H
12
13#ifdef ARDUINO
14#include <Arduino.h>
15#elif ESP_PLATFORM
16//#error "Not implemented"
17#endif
18
19#include <cmath>
20
21#include "AbstractDriver.h"
29class DRV8876 : public AbstractDriver
30{
31public:
39 DRV8876(int enPin, int phPin, int sleepPin = -1, int faultPin = -1);
40
45 void init();
46
52 int attach(AbstractMotor* motor) override;
53
60 int attach(AbstractMotor* motor, uint8_t id) override;
61
68 void setVelocity(float velocity, uint8_t id) override;
69
75 float getVelocity(uint8_t id) const override;
76
81 bool isFaulty() const;
82
87 void setSleep(bool active);
88
89private:
90 int m_enPin;
91 int m_phPin;
92 int m_sleepPin;
93 int m_faultPin;
94 float m_currentVelocity;
95};
96#endif //MOTORS_DRV8876_H
Représente un driver moteur abstrait.
Definition motors/include/AbstractDriver.h:27
Definition motors/include/AbstractMotors.h:14
void setVelocity(float velocity, uint8_t id) override
Définit la vitesse de sortie pour le moteur spécifié.
Definition motors/src/DRV8876.cpp:64
void setSleep(bool active)
Contrôle le mode basse consommation.
Definition motors/src/DRV8876.cpp:101
DRV8876(int enPin, int phPin, int sleepPin=-1, int faultPin=-1)
Construit le driver DRV8876.
Definition motors/src/DRV8876.cpp:9
int attach(AbstractMotor *motor) override
Attache un moteur au canal disponible (ID 0).
Definition motors/src/DRV8876.cpp:47
void init()
Initialise les broches matérielles. Configure les entrées/sorties et réveille le driver si sleepPin e...
Definition motors/src/DRV8876.cpp:22
float getVelocity(uint8_t id) const override
Récupère la dernière vitesse appliquée.
Definition motors/src/DRV8876.cpp:85
bool isFaulty() const
Vérifie l'état de santé du driver.
Definition motors/src/DRV8876.cpp:89
Interface abstraite des drivers moteurs.