summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/asserv/asserv.hh
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/asserv/asserv.hh')
-rw-r--r--2005/i/robert/src/asserv/asserv.hh27
1 files changed, 18 insertions, 9 deletions
diff --git a/2005/i/robert/src/asserv/asserv.hh b/2005/i/robert/src/asserv/asserv.hh
index 83c9f08..ef6a715 100644
--- a/2005/i/robert/src/asserv/asserv.hh
+++ b/2005/i/robert/src/asserv/asserv.hh
@@ -38,17 +38,25 @@ class Asserv : public NonCopyable, public Proto::Receiver
{
public:
/// Recoit un packet.
- virtual void receiveCounter (char command) = 0;
- virtual void receivePosition (char command) = 0;
- virtual void receiveMotor (char command) = 0;
- virtual void receivePwm (char command) = 0;
- virtual void receiveTiming (char command) = 0;
- virtual void receiveInPort (char command) = 0;
- virtual void jaifini (char command) = 0;
+ virtual void receiveCounter (double lMotor, double rMotor) = 0;
+ virtual void receivePosition (double command) = 0;
+ virtual void receivePosX (double xPos) = 0;
+ virtual void receivePosY (double yPos) = 0;
+ virtual void receivePosA (double aPos) = 0;
+ virtual void receiveMotor (int oldLSpeed_e, int LSpeed_int, int oldRSpeed_e, int RSpeed_int) = 0;
+ virtual void receivePwm (double leftPwm, double rightPwm) = 0;
+ virtual void receiveTiming (double motorTimer5, double motorTimer4,
+ double motorTimer3, double motorTimer2,
+ double motorTimer1,
+ double motorTimer0 ) = 0;
+ virtual void receiveInPort (double command) = 0;
+ virtual void jaifini (void) = 0;
};
+
// Communication avec l'AVR
Proto proto_;
std::string ttyName_;
+ Receiver & receiver_;
// Paramètre de l'avr
int16_t footing_;
double epsilon_;
@@ -89,6 +97,7 @@ class Asserv : public NonCopyable, public Proto::Receiver
void fuckTheWall(double speed);
void setSpeed(double xSpeed = 0, double ySpeed = 0);
void setPwm(double leftPwm = 0, double rightPwm = 0);
+ void finishAck(void); //met le paramètre F à 0
/// Statistiques
void statCounter(double period = 0);
void statPosition(double period = 0);
@@ -98,7 +107,6 @@ class Asserv : public NonCopyable, public Proto::Receiver
void statInPort(double period = 0);
//@{
/// Change les paramètres de la carte.
- void fermeTaGueule(void); //met le paramètre F à 0
void setXPos(double pos);
void setYPos(double pos);
void setAngle(double angle);
@@ -107,6 +115,7 @@ class Asserv : public NonCopyable, public Proto::Receiver
void setKp (double kp);
void setKi (double ki);
void setKd (double kd);
+ void setSpeedIntMax (int16_t maxInt);
void setAccel (double accel);
void setMaxSpeed(double maxSpeed);
//@}
@@ -116,7 +125,7 @@ class Asserv : public NonCopyable, public Proto::Receiver
private:
/// Charge les données de la classe config
- void loadConfig(void);
+ void loadConfig(const Config & config);
/// Fonctions de conversion
int mm2pasD(double dist); //Format 24/8
int radTo256(double angle, bool format24eme = false); //Format 8 ou 8/24