From 21af4d885eff12ebe6c6d0472ec4b3897bcbaeae Mon Sep 17 00:00:00 2001 From: haller Date: Sat, 16 Apr 2005 23:43:45 +0000 Subject: Modifications diverses Codages de test_asserv --- 2005/i/robert/src/asserv/asserv.hh | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to '2005/i/robert/src/asserv/asserv.hh') 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 -- cgit v1.2.3