summaryrefslogtreecommitdiff
path: root/i/siroco
diff options
context:
space:
mode:
authorgalmes2004-01-14 16:51:29 +0000
committergalmes2004-01-14 16:51:29 +0000
commit925e0c458e2a7cf5a495b59653758e85a6f52f99 (patch)
tree23d2b93582a484a8c43694abb231b6ca900be927 /i/siroco
parent38ebaee86d56fcc8ff3d0f0b5451285d003f12f6 (diff)
Ajout d'un programme de test pour message.h
Diffstat (limited to 'i/siroco')
-rw-r--r--i/siroco/src/HELP6
-rw-r--r--i/siroco/src/QUESTIONS19
-rw-r--r--i/siroco/src/message.cc4
-rw-r--r--i/siroco/src/message.h2
-rw-r--r--i/siroco/src/message_asservissement_info.h4
-rwxr-xr-xi/siroco/src/pg_test/Makefile20
-rw-r--r--i/siroco/src/pg_test/message_test.cc39
7 files changed, 91 insertions, 3 deletions
diff --git a/i/siroco/src/HELP b/i/siroco/src/HELP
index a3889e5..16a71e5 100644
--- a/i/siroco/src/HELP
+++ b/i/siroco/src/HELP
@@ -62,3 +62,9 @@ comme données, il y a :
- la consigne, ie, ce que l'on demande à la carte.
- la pwm, ie, ce que l'on envoie au moteur.
- la mesure, ie, ce que l'on obtient réellement.
+
+p, i et d sont des coefficients relatifs à l'asservissement:
+p : proportionnelle
+i : intégrale
+d : dérivée
+
diff --git a/i/siroco/src/QUESTIONS b/i/siroco/src/QUESTIONS
new file mode 100644
index 0000000..64d3793
--- /dev/null
+++ b/i/siroco/src/QUESTIONS
@@ -0,0 +1,19 @@
+
+// message_asservissement_info.h
+
+1 - Quelles valeurs par défaut pour la liste de paramètres suivants :
+
+int p,
+int i,
+int d,
+int consignMin,
+int pwmMin,
+int measureMin,
+int consignMax,
+int pwmMax,
+int measureMax
+
+Note (pour PA) : avec ces valeurs, initialiser les valeurs par défaut du
+constructeur.
+
+
diff --git a/i/siroco/src/message.cc b/i/siroco/src/message.cc
index dac54a2..67cdde2 100644
--- a/i/siroco/src/message.cc
+++ b/i/siroco/src/message.cc
@@ -29,8 +29,8 @@ namespace Siroco
// Constructeur.
Message::Message (Type type)
- : type_ (type)
{
+ type_ = type;
}
// Destructeur et Big 3.
@@ -40,7 +40,7 @@ Message::~Message (void)
// Récupère le type du message.
Type
-Message::getType (void) const
+Message::getType (void) const
{
return type_;
}
diff --git a/i/siroco/src/message.h b/i/siroco/src/message.h
index 40c659c..0c6943b 100644
--- a/i/siroco/src/message.h
+++ b/i/siroco/src/message.h
@@ -38,7 +38,7 @@ class Message
typeAsservissementGetInfo,
typeAsservissementInfo,
typeMax
- };
+ };
private:
Type type_;
public:
diff --git a/i/siroco/src/message_asservissement_info.h b/i/siroco/src/message_asservissement_info.h
index 0075cae..8c2ec5e 100644
--- a/i/siroco/src/message_asservissement_info.h
+++ b/i/siroco/src/message_asservissement_info.h
@@ -31,7 +31,9 @@ namespace Siroco
class MessageAsservissementInfo : public Message
{
+ // Coefficients relatifs à l'asservissement
int p_, i_, d_;
+ // valeurs Min et Max des paramètres c, p et m.
int consignMin_, pwmMin_, measureMin_;
int consignMax_, pwmMax_, measureMax_;
public:
@@ -39,6 +41,8 @@ class MessageAsservissementInfo : public Message
MessageAsservissementInfo (int p, int i, int d, int consignMin, int
pwmMin, int measureMin, int consignMax, int
pwmMax, int measureMax);
+ // Destructeur.
+ ~MessageAsservissementInfo (void);
// Récupère les données.
void getPID (int &p, int &i, int &d) const;
void getMinMax (int &consignMin, int &pwmMin, int &measureMin, int
diff --git a/i/siroco/src/pg_test/Makefile b/i/siroco/src/pg_test/Makefile
new file mode 100755
index 0000000..51078ad
--- /dev/null
+++ b/i/siroco/src/pg_test/Makefile
@@ -0,0 +1,20 @@
+# Mon Makefile
+TARGET_A = message_test
+OBJECTS_A = ../message.o
+
+# TARGET_B =
+# OBJECTS_B =
+
+# LIB = -lccgnu2 -ldl -pthread
+
+CFLAGS = -O2 -Wall -g
+CC = g++
+
+
+all: $(TARGET_A) $(TARGET_B)
+
+$(TARGET_A): $(OBJECTS_A)
+ $(CC) $(CFLAGS) -o $@ $^ $(LIB)
+
+$(TARGET_B): $(OBJECTS_B)
+ $(CC) $(CFLAGS) -o $@ $^ $(LIB)
diff --git a/i/siroco/src/pg_test/message_test.cc b/i/siroco/src/pg_test/message_test.cc
new file mode 100644
index 0000000..d17ad2b
--- /dev/null
+++ b/i/siroco/src/pg_test/message_test.cc
@@ -0,0 +1,39 @@
+// message_test.cc
+// {{{
+//
+// Copyright (C) 2004 Pierre-André Galmes
+//
+// Robot APB Team/Efrei 2004.
+// Web: http://assos.efrei.fr/robot/
+// Email: robot AT efrei DOT fr
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// }}}
+#include <iostream>
+#include "message.h"
+
+
+int main ()
+{
+ Type mt = typeAsservissementData;
+ Message m (mt);
+
+ switch (m.getType ())
+ {
+case : typeAsservissementData
+ std::cout << "typeAsservissementData" << std::endl;
+ }
+}