summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhaller2005-05-04 20:22:33 +0000
committerhaller2005-05-04 20:22:33 +0000
commitd3726bf21e29a70b4141a5802cb9a50b7880f364 (patch)
treef98f206e08da7154d4683df19f3d53e95acba9a4
parent7c4f39a4f958177b6a9f6b718055dd2dfe688e98 (diff)
Ajout de la fonction tempo
Modification de update
-rw-r--r--2005/i/robert/src/asserv/asserv.cc11
-rw-r--r--2005/i/robert/src/asserv/asserv.hh1
-rw-r--r--2005/i/robert/src/asserv/test_asserv.cc4
3 files changed, 12 insertions, 4 deletions
diff --git a/2005/i/robert/src/asserv/asserv.cc b/2005/i/robert/src/asserv/asserv.cc
index 662e52f..36b7534 100644
--- a/2005/i/robert/src/asserv/asserv.cc
+++ b/2005/i/robert/src/asserv/asserv.cc
@@ -323,12 +323,17 @@ double Asserv::getAccel(void)
/// Règle les vitesses maximum(lineaire et rotation)
void Asserv::setMaxSpeed(int maxSLin, int maxSRot)
{
- maxSLin_ = maxSLin;
- maxSRot_ = maxSRot;
+ maxSLin_ = (maxSLin > 0 ? maxSLin : maxSLin_);
+ maxSRot_ = (maxSRot > 0 ? maxSLin : maxSLin_);
// Envoie à l'AVR
proto_.send('p',"bbb", 'm', maxSLin, maxSRot);
}
+int Asserv::getMaxLSpeed(void)
+{
+ return maxSLin_;
+}
+
void Asserv::setUseTazFSM(bool use)
{
useTazFSM_ = use;
@@ -462,6 +467,8 @@ int Asserv::mm2pas(double dist, bool format24eme)
int Asserv::radTo256(double angle, bool format24eme)
{
+ if(angle < 0)
+ angle += 2 * M_PI;
if(format24eme)
return static_cast<int>((angle / (2 * M_PI)) * 256 * (1 << 24));
else
diff --git a/2005/i/robert/src/asserv/asserv.hh b/2005/i/robert/src/asserv/asserv.hh
index 07bb731..4064537 100644
--- a/2005/i/robert/src/asserv/asserv.hh
+++ b/2005/i/robert/src/asserv/asserv.hh
@@ -137,6 +137,7 @@ class Asserv : public NonCopyable, public Proto::Receiver
void setAccel (int accel);
double getAccel (void);
void setMaxSpeed(int maxSLin, int maxSRot);
+ int getMaxLSpeed(void);
void setUseTazFSM(bool use);
void setInvPwm(bool leftInvPwm, bool rightInvPwm);
//@}
diff --git a/2005/i/robert/src/asserv/test_asserv.cc b/2005/i/robert/src/asserv/test_asserv.cc
index ba9d033..228748c 100644
--- a/2005/i/robert/src/asserv/test_asserv.cc
+++ b/2005/i/robert/src/asserv/test_asserv.cc
@@ -311,8 +311,7 @@ main (int argc, char **argv)
break;
}
}
-
- while (!asserv.wait (-1));
+ asserv.sync();
break;
}
case 'w':
@@ -326,6 +325,7 @@ main (int argc, char **argv)
{
asserv.wait (stop - t);
t = Timer::getProgramTime ();
+ asserv.sync();
}
break;
}