From 925e0c458e2a7cf5a495b59653758e85a6f52f99 Mon Sep 17 00:00:00 2001 From: galmes Date: Wed, 14 Jan 2004 16:51:29 +0000 Subject: Ajout d'un programme de test pour message.h --- i/siroco/src/HELP | 6 +++++ i/siroco/src/QUESTIONS | 19 +++++++++++++++ i/siroco/src/message.cc | 4 +-- i/siroco/src/message.h | 2 +- i/siroco/src/message_asservissement_info.h | 4 +++ i/siroco/src/pg_test/Makefile | 20 +++++++++++++++ i/siroco/src/pg_test/message_test.cc | 39 ++++++++++++++++++++++++++++++ 7 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 i/siroco/src/QUESTIONS create mode 100755 i/siroco/src/pg_test/Makefile create mode 100644 i/siroco/src/pg_test/message_test.cc (limited to 'i') 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 - 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 +#include "message.h" + + +int main () +{ + Type mt = typeAsservissementData; + Message m (mt); + + switch (m.getType ()) + { +case : typeAsservissementData + std::cout << "typeAsservissementData" << std::endl; + } +} -- cgit v1.2.3