YouBotJointParameterPasswordProtected.hpp
Go to the documentation of this file.
00001 #ifndef YOUBOT_YOUBOTJOINTPARAMETERPASSWORDPROTECTED_H
00002 #define YOUBOT_YOUBOTJOINTPARAMETERPASSWORDPROTECTED_H
00003 
00004 /****************************************************************
00005  *
00006  * Copyright (c) 2011
00007  * All rights reserved.
00008  *
00009  * Hochschule Bonn-Rhein-Sieg
00010  * University of Applied Sciences
00011  * Computer Science Department
00012  *
00013  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00014  *
00015  * Author:
00016  * Jan Paulus, Nico Hochgeschwender, Michael Reckhaus, Azamat Shakhimardanov
00017  * Supervised by:
00018  * Gerhard K. Kraetzschmar
00019  *
00020  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00021  *
00022  * This sofware is published under a dual-license: GNU Lesser General Public 
00023  * License LGPL 2.1 and BSD license. The dual-license implies that users of this
00024  * code may choose which terms they prefer.
00025  *
00026  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00027  *
00028  * Redistribution and use in source and binary forms, with or without
00029  * modification, are permitted provided that the following conditions are met:
00030  *
00031  *     * Redistributions of source code must retain the above copyright
00032  *       notice, this list of conditions and the following disclaimer.
00033  *     * Redistributions in binary form must reproduce the above copyright
00034  *       notice, this list of conditions and the following disclaimer in the
00035  *       documentation and/or other materials provided with the distribution.
00036  *     * Neither the name of the Hochschule Bonn-Rhein-Sieg nor the names of its
00037  *       contributors may be used to endorse or promote products derived from
00038  *       this software without specific prior written permission.
00039  *
00040  * This program is free software: you can redistribute it and/or modify
00041  * it under the terms of the GNU Lesser General Public License LGPL as
00042  * published by the Free Software Foundation, either version 2.1 of the
00043  * License, or (at your option) any later version or the BSD license.
00044  *
00045  * This program is distributed in the hope that it will be useful,
00046  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00047  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00048  * GNU Lesser General Public License LGPL and the BSD license for more details.
00049  *
00050  * You should have received a copy of the GNU Lesser General Public
00051  * License LGPL and BSD license along with this program.
00052  *
00053  ****************************************************************/
00054 #include <vector>
00055 #include <sstream>
00056 #include <boost/limits.hpp>
00057 #include <youbot_driver/generic/Logger.hpp>
00058 #include <youbot_driver/generic/Units.hpp>
00059 #include <youbot_driver/generic/Time.hpp>
00060 #include <youbot_driver/generic/Exceptions.hpp>
00061 #include <youbot_driver/generic-joint/JointParameter.hpp>
00062 #include <youbot_driver/youbot/YouBotJointParameter.hpp>
00063 #include <youbot_driver/youbot/ProtocolDefinitions.hpp>
00064 #include <youbot_driver/youbot/YouBotSlaveMsg.hpp>
00065 #include <youbot_driver/youbot/YouBotSlaveMailboxMsg.hpp>
00066 #include <youbot_driver/youbot/YouBotJointStorage.hpp>
00067 namespace youbot
00068 {
00069 
00073 class YouBotJointParameterPasswordProtected : public YouBotJointParameter
00074 {
00075   friend class YouBotJoint;
00076 protected:
00077   YouBotJointParameterPasswordProtected();
00078 
00079 public:
00080   virtual ~YouBotJointParameterPasswordProtected();
00081 
00082   virtual void toString(std::string& value) = 0;
00083 
00084 protected:
00085   virtual void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00086                                    const YouBotJointStorage& storage) const = 0;
00087 
00088   virtual void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) = 0;
00089 
00090   virtual std::string getName() const = 0;
00091 
00092   virtual ParameterType getType() const = 0;
00093 
00094   std::string name;
00095 
00096   ParameterType parameterType;
00097 
00098 };
00102 class ActivateOvervoltageProtection : public YouBotJointParameterPasswordProtected
00103 {
00104   friend class YouBotJoint;
00105 public:
00106   ActivateOvervoltageProtection();
00107 
00108   virtual ~ActivateOvervoltageProtection();
00109 
00110   void getParameter(bool& parameter) const;
00111 
00112   void setParameter(const bool parameter);
00113 
00114   void toString(std::string& value);
00115 
00116 private:
00117   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00118                            const YouBotJointStorage& storage) const;
00119 
00120   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00121 
00122   std::string getName() const
00123   {
00124     return this->name;
00125   }
00126   ;
00127 
00128   ParameterType getType() const
00129   {
00130     return this->parameterType;
00131   }
00132   ;
00133 
00134   bool value;
00135 
00136   std::string name;
00137 
00138   ParameterType parameterType;
00139 
00140 };
00144 class ActualCommutationOffset : public YouBotJointParameterPasswordProtected
00145 {
00146   friend class YouBotJoint;
00147 public:
00148   ActualCommutationOffset();
00149 
00150   virtual ~ActualCommutationOffset();
00151 
00152   void getParameter(int& parameter) const;
00153 
00154   void setParameter(const int parameter);
00155 
00156   void toString(std::string& value);
00157 
00158 private:
00159   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00160                            const YouBotJointStorage& storage) const;
00161 
00162   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00163 
00164   std::string getName() const
00165   {
00166     return this->name;
00167   }
00168   ;
00169 
00170   ParameterType getType() const
00171   {
00172     return this->parameterType;
00173   }
00174   ;
00175 
00176   int upperLimit;
00177 
00178   int lowerLimit;
00179 
00180   int value;
00181 
00182   std::string name;
00183 
00184   ParameterType parameterType;
00185 
00186 };
00190 class ApproveProtectedParameters : public YouBotJointParameterPasswordProtected
00191 {
00192   friend class YouBotJoint;
00193 public:
00194   ApproveProtectedParameters();
00195 
00196   virtual ~ApproveProtectedParameters();
00197 
00198   void getParameter(int& parameter) const;
00199 
00200   void setParameter(const int parameter);
00201 
00202   void toString(std::string& value);
00203 
00204 private:
00205   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00206                            const YouBotJointStorage& storage) const;
00207 
00208   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00209 
00210   std::string getName() const
00211   {
00212     return this->name;
00213   }
00214   ;
00215 
00216   ParameterType getType() const
00217   {
00218     return this->parameterType;
00219   }
00220   ;
00221 
00222   int upperLimit;
00223 
00224   int lowerLimit;
00225 
00226   int value;
00227 
00228   std::string name;
00229 
00230   ParameterType parameterType;
00231 
00232 };
00236 class BEMFConstant : public YouBotJointParameterPasswordProtected
00237 {
00238   friend class YouBotJoint;
00239 public:
00240   BEMFConstant();
00241 
00242   virtual ~BEMFConstant();
00243 
00244   void getParameter(int& parameter) const;
00245 
00246   void setParameter(const int parameter);
00247 
00248   void toString(std::string& value);
00249 
00250 private:
00251   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00252                            const YouBotJointStorage& storage) const;
00253 
00254   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00255 
00256   std::string getName() const
00257   {
00258     return this->name;
00259   }
00260   ;
00261 
00262   ParameterType getType() const
00263   {
00264     return this->parameterType;
00265   }
00266   ;
00267 
00268   int upperLimit;
00269 
00270   int lowerLimit;
00271 
00272   int value;
00273 
00274   std::string name;
00275 
00276   ParameterType parameterType;
00277 
00278 };
00288 class CommutationMode : public YouBotJointParameterPasswordProtected
00289 {
00290   friend class YouBotJoint;
00291 public:
00292   CommutationMode();
00293 
00294   virtual ~CommutationMode();
00295 
00296   void getParameter(unsigned int& parameter) const;
00297 
00298   void setParameter(const unsigned int parameter);
00299 
00300   void toString(std::string& value);
00301 
00302 private:
00303   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00304                            const YouBotJointStorage& storage) const;
00305 
00306   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00307 
00308   std::string getName() const
00309   {
00310     return this->name;
00311   }
00312   ;
00313 
00314   ParameterType getType() const
00315   {
00316     return this->parameterType;
00317   }
00318   ;
00319 
00320   unsigned int upperLimit;
00321 
00322   unsigned int lowerLimit;
00323 
00324   unsigned int value;
00325 
00326   std::string name;
00327 
00328   ParameterType parameterType;
00329 
00330 };
00334 class CommutationMotorCurrent : public YouBotJointParameterPasswordProtected
00335 {
00336   friend class YouBotJoint;
00337 public:
00338   CommutationMotorCurrent();
00339 
00340   virtual ~CommutationMotorCurrent();
00341 
00342   void getParameter(quantity<current>& parameter) const;
00343 
00344   void setParameter(const quantity<current>& parameter);
00345 
00346   void toString(std::string& value);
00347 
00348 private:
00349   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00350                            const YouBotJointStorage& storage) const;
00351 
00352   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00353 
00354   std::string getName() const
00355   {
00356     return this->name;
00357   }
00358   ;
00359 
00360   ParameterType getType() const
00361   {
00362     return this->parameterType;
00363   }
00364   ;
00365 
00366   quantity<current> upperLimit;
00367 
00368   quantity<current> lowerLimit;
00369 
00370   quantity<current> value;
00371 
00372   std::string name;
00373 
00374   ParameterType parameterType;
00375 
00376 };
00380 class CurrentControlLoopDelay : public YouBotJointParameterPasswordProtected
00381 {
00382   friend class YouBotJoint;
00383 public:
00384   CurrentControlLoopDelay();
00385 
00386   virtual ~CurrentControlLoopDelay();
00387 
00388   void getParameter(quantity<si::time>& parameter) const;
00389 
00390   void setParameter(const quantity<si::time>& parameter);
00391 
00392   void toString(std::string& value);
00393 
00394 private:
00395   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00396                            const YouBotJointStorage& storage) const;
00397 
00398   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00399 
00400   std::string getName() const
00401   {
00402     return this->name;
00403   }
00404   ;
00405 
00406   ParameterType getType() const
00407   {
00408     return this->parameterType;
00409   }
00410   ;
00411 
00412   quantity<si::time> upperLimit;
00413 
00414   quantity<si::time> lowerLimit;
00415 
00416   quantity<si::time> value;
00417 
00418   std::string name;
00419 
00420   ParameterType parameterType;
00421 
00422 };
00426 class EncoderResolution : public YouBotJointParameterPasswordProtected
00427 {
00428   friend class YouBotJoint;
00429 public:
00430   EncoderResolution();
00431 
00432   virtual ~EncoderResolution();
00433 
00434   void getParameter(unsigned int& parameter) const;
00435 
00436   void setParameter(const unsigned int parameter);
00437 
00438   void toString(std::string& value);
00439 
00440 private:
00441   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00442                            const YouBotJointStorage& storage) const;
00443 
00444   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00445 
00446   std::string getName() const
00447   {
00448     return this->name;
00449   }
00450   ;
00451 
00452   ParameterType getType() const
00453   {
00454     return this->parameterType;
00455   }
00456   ;
00457 
00458   unsigned int upperLimit;
00459 
00460   unsigned int lowerLimit;
00461 
00462   unsigned int value;
00463 
00464   std::string name;
00465 
00466   ParameterType parameterType;
00467 
00468 };
00477 class EncoderStopSwitch : public YouBotJointParameterPasswordProtected
00478 {
00479   friend class YouBotJoint;
00480 public:
00481   EncoderStopSwitch();
00482 
00483   virtual ~EncoderStopSwitch();
00484 
00485   void getParameter(unsigned int& parameter) const;
00486 
00487   void setParameter(const unsigned int parameter);
00488 
00489   void toString(std::string& value);
00490 
00491 private:
00492   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00493                            const YouBotJointStorage& storage) const;
00494 
00495   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00496 
00497   std::string getName() const
00498   {
00499     return this->name;
00500   }
00501   ;
00502 
00503   ParameterType getType() const
00504   {
00505     return this->parameterType;
00506   }
00507   ;
00508 
00509   unsigned int upperLimit;
00510 
00511   unsigned int lowerLimit;
00512 
00513   unsigned int value;
00514 
00515   std::string name;
00516 
00517   ParameterType parameterType;
00518 
00519 };
00523 class HallSensorPolarityReversal : public YouBotJointParameterPasswordProtected
00524 {
00525   friend class YouBotJoint;
00526 public:
00527   HallSensorPolarityReversal();
00528 
00529   virtual ~HallSensorPolarityReversal();
00530 
00531   void getParameter(bool& parameter) const;
00532 
00533   void setParameter(const bool parameter);
00534 
00535   void toString(std::string& value);
00536 
00537 private:
00538   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00539                            const YouBotJointStorage& storage) const;
00540 
00541   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00542 
00543   std::string getName() const
00544   {
00545     return this->name;
00546   }
00547   ;
00548 
00549   ParameterType getType() const
00550   {
00551     return this->parameterType;
00552   }
00553   ;
00554 
00555   bool value;
00556 
00557   std::string name;
00558 
00559   ParameterType parameterType;
00560 
00561 };
00565 class I2tExceedCounter : public YouBotJointParameterPasswordProtected
00566 {
00567   friend class YouBotJoint;
00568 public:
00569   I2tExceedCounter();
00570 
00571   virtual ~I2tExceedCounter();
00572 
00573   void getParameter(unsigned int& parameter) const;
00574 
00575   void setParameter(const unsigned int parameter);
00576 
00577   void toString(std::string& value);
00578 
00579 private:
00580   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00581                            const YouBotJointStorage& storage) const;
00582 
00583   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00584 
00585   std::string getName() const
00586   {
00587     return this->name;
00588   }
00589   ;
00590 
00591   ParameterType getType() const
00592   {
00593     return this->parameterType;
00594   }
00595   ;
00596 
00597   unsigned int upperLimit;
00598 
00599   unsigned int lowerLimit;
00600 
00601   unsigned int value;
00602 
00603   std::string name;
00604 
00605   ParameterType parameterType;
00606 
00607 };
00611 class I2tLimit : public YouBotJointParameterPasswordProtected
00612 {
00613   friend class YouBotJoint;
00614 public:
00615   I2tLimit();
00616 
00617   virtual ~I2tLimit();
00618 
00619   void getParameter(unsigned int& parameter) const;
00620 
00621   void setParameter(const unsigned int parameter);
00622 
00623   void toString(std::string& value);
00624 
00625 private:
00626   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00627                            const YouBotJointStorage& storage) const;
00628 
00629   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00630 
00631   std::string getName() const
00632   {
00633     return this->name;
00634   }
00635   ;
00636 
00637   ParameterType getType() const
00638   {
00639     return this->parameterType;
00640   }
00641   ;
00642 
00643   unsigned int upperLimit;
00644 
00645   unsigned int lowerLimit;
00646 
00647   unsigned int value;
00648 
00649   std::string name;
00650 
00651   ParameterType parameterType;
00652 
00653 };
00659 class InitializationMode : public YouBotJointParameterPasswordProtected
00660 {
00661   friend class YouBotJoint;
00662 public:
00663   InitializationMode();
00664 
00665   virtual ~InitializationMode();
00666 
00667   void getParameter(int& parameter) const;
00668 
00669   void setParameter(const int parameter);
00670 
00671   void toString(std::string& value);
00672 
00673 private:
00674   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00675                            const YouBotJointStorage& storage) const;
00676 
00677   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00678 
00679   std::string getName() const
00680   {
00681     return this->name;
00682   }
00683   ;
00684 
00685   ParameterType getType() const
00686   {
00687     return this->parameterType;
00688   }
00689   ;
00690 
00691   int upperLimit;
00692 
00693   int lowerLimit;
00694 
00695   int value;
00696 
00697   std::string name;
00698 
00699   ParameterType parameterType;
00700 
00701 };
00705 class InitSineDelay : public YouBotJointParameterPasswordProtected
00706 {
00707   friend class YouBotJoint;
00708 public:
00709   InitSineDelay();
00710 
00711   virtual ~InitSineDelay();
00712 
00713   void getParameter(quantity<si::time>& parameter) const;
00714 
00715   void setParameter(const quantity<si::time>& parameter);
00716 
00717   void toString(std::string& value);
00718 
00719 private:
00720   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00721                            const YouBotJointStorage& storage) const;
00722 
00723   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00724 
00725   std::string getName() const
00726   {
00727     return this->name;
00728   }
00729   ;
00730 
00731   ParameterType getType() const
00732   {
00733     return this->parameterType;
00734   }
00735   ;
00736 
00737   quantity<si::time> upperLimit;
00738 
00739   quantity<si::time> lowerLimit;
00740 
00741   quantity<si::time> value;
00742 
00743   std::string name;
00744 
00745   ParameterType parameterType;
00746 
00747 };
00751 class MassInertiaConstant : public YouBotJointParameterPasswordProtected
00752 {
00753   friend class YouBotJoint;
00754 public:
00755   MassInertiaConstant();
00756 
00757   virtual ~MassInertiaConstant();
00758 
00759   void getParameter(int& parameter) const;
00760 
00761   void setParameter(const int parameter);
00762 
00763   void toString(std::string& value);
00764 
00765 private:
00766   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00767                            const YouBotJointStorage& storage) const;
00768 
00769   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00770 
00771   std::string getName() const
00772   {
00773     return this->name;
00774   }
00775   ;
00776 
00777   ParameterType getType() const
00778   {
00779     return this->parameterType;
00780   }
00781   ;
00782 
00783   int upperLimit;
00784 
00785   int lowerLimit;
00786 
00787   int value;
00788 
00789   std::string name;
00790 
00791   ParameterType parameterType;
00792 
00793 };
00797 class MaximumMotorCurrent : public YouBotJointParameterPasswordProtected
00798 {
00799   friend class YouBotJoint;
00800 public:
00801   MaximumMotorCurrent();
00802 
00803   virtual ~MaximumMotorCurrent();
00804 
00805   void getParameter(quantity<current>& parameter) const;
00806 
00807   void setParameter(const quantity<current>& parameter);
00808 
00809   void toString(std::string& value);
00810 
00811 private:
00812   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00813                            const YouBotJointStorage& storage) const;
00814 
00815   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00816 
00817   std::string getName() const
00818   {
00819     return this->name;
00820   }
00821   ;
00822 
00823   ParameterType getType() const
00824   {
00825     return this->parameterType;
00826   }
00827   ;
00828 
00829   quantity<current> upperLimit;
00830 
00831   quantity<current> lowerLimit;
00832 
00833   quantity<current> value;
00834 
00835   std::string name;
00836 
00837   ParameterType parameterType;
00838 
00839 };
00843 class MotorCoilResistance : public YouBotJointParameterPasswordProtected
00844 {
00845   friend class YouBotJoint;
00846 public:
00847   MotorCoilResistance();
00848 
00849   virtual ~MotorCoilResistance();
00850 
00851   void getParameter(quantity<resistance>& parameter) const;
00852 
00853   void setParameter(const quantity<resistance>& parameter);
00854 
00855   void toString(std::string& value);
00856 
00857 private:
00858   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00859                            const YouBotJointStorage& storage) const;
00860 
00861   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00862 
00863   std::string getName() const
00864   {
00865     return this->name;
00866   }
00867   ;
00868 
00869   ParameterType getType() const
00870   {
00871     return this->parameterType;
00872   }
00873   ;
00874 
00875   quantity<resistance> upperLimit;
00876 
00877   quantity<resistance> lowerLimit;
00878 
00879   quantity<resistance> value;
00880 
00881   std::string name;
00882 
00883   ParameterType parameterType;
00884 
00885 };
00889 class MotorControllerTimeout : public YouBotJointParameterPasswordProtected
00890 {
00891   friend class YouBotJoint;
00892 public:
00893   MotorControllerTimeout();
00894 
00895   virtual ~MotorControllerTimeout();
00896 
00897   void getParameter(quantity<si::time>& parameter) const;
00898 
00899   void setParameter(const quantity<si::time>& parameter);
00900 
00901   void toString(std::string& value);
00902 
00903 private:
00904   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00905                            const YouBotJointStorage& storage) const;
00906 
00907   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00908 
00909   std::string getName() const
00910   {
00911     return this->name;
00912   }
00913   ;
00914 
00915   ParameterType getType() const
00916   {
00917     return this->parameterType;
00918   }
00919   ;
00920 
00921   quantity<si::time> upperLimit;
00922 
00923   quantity<si::time> lowerLimit;
00924 
00925   quantity<si::time> value;
00926 
00927   std::string name;
00928 
00929   ParameterType parameterType;
00930 
00931 };
00935 class MotorPoles : public YouBotJointParameterPasswordProtected
00936 {
00937   friend class YouBotJoint;
00938 public:
00939   MotorPoles();
00940 
00941   virtual ~MotorPoles();
00942 
00943   void getParameter(unsigned int& parameter) const;
00944 
00945   void setParameter(const unsigned int parameter);
00946 
00947   void toString(std::string& value);
00948 
00949 private:
00950   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00951                            const YouBotJointStorage& storage) const;
00952 
00953   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
00954 
00955   std::string getName() const
00956   {
00957     return this->name;
00958   }
00959   ;
00960 
00961   ParameterType getType() const
00962   {
00963     return this->parameterType;
00964   }
00965   ;
00966 
00967   unsigned int upperLimit;
00968 
00969   unsigned int lowerLimit;
00970 
00971   unsigned int value;
00972 
00973   std::string name;
00974 
00975   ParameterType parameterType;
00976 
00977 };
00981 class OperationalTime : public YouBotJointParameterPasswordProtected
00982 {
00983   friend class YouBotJoint;
00984 public:
00985   OperationalTime();
00986 
00987   virtual ~OperationalTime();
00988 
00989   void getParameter(quantity<si::time>& parameter) const;
00990 
00991   void setParameter(const quantity<si::time>& parameter);
00992 
00993   void toString(std::string& value);
00994 
00995 private:
00996   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
00997                            const YouBotJointStorage& storage) const;
00998 
00999   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01000 
01001   std::string getName() const
01002   {
01003     return this->name;
01004   }
01005   ;
01006 
01007   ParameterType getType() const
01008   {
01009     return this->parameterType;
01010   }
01011   ;
01012 
01013   quantity<si::time> upperLimit;
01014 
01015   quantity<si::time> lowerLimit;
01016 
01017   quantity<si::time> value;
01018 
01019   std::string name;
01020 
01021   ParameterType parameterType;
01022 
01023 };
01027 class PIDControlTime : public YouBotJointParameterPasswordProtected
01028 {
01029   friend class YouBotJoint;
01030 public:
01031   PIDControlTime();
01032 
01033   virtual ~PIDControlTime();
01034 
01035   void getParameter(quantity<si::time>& parameter) const;
01036 
01037   void setParameter(const quantity<si::time>& parameter);
01038 
01039   void toString(std::string& value);
01040 
01041 private:
01042   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01043                            const YouBotJointStorage& storage) const;
01044 
01045   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01046 
01047   std::string getName() const
01048   {
01049     return this->name;
01050   }
01051   ;
01052 
01053   ParameterType getType() const
01054   {
01055     return this->parameterType;
01056   }
01057   ;
01058 
01059   quantity<si::time> upperLimit;
01060 
01061   quantity<si::time> lowerLimit;
01062 
01063   quantity<si::time> value;
01064 
01065   std::string name;
01066 
01067   ParameterType parameterType;
01068 
01069 };
01073 class ReversingEncoderDirection : public YouBotJointParameterPasswordProtected
01074 {
01075   friend class YouBotJoint;
01076 public:
01077   ReversingEncoderDirection();
01078 
01079   virtual ~ReversingEncoderDirection();
01080 
01081   bool getParameter(bool& parameter) const;
01082 
01083   void setParameter(const bool parameter);
01084 
01085   void toString(std::string& value);
01086 
01087 private:
01088   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01089                            const YouBotJointStorage& storage) const;
01090 
01091   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01092 
01093   std::string getName() const
01094   {
01095     return this->name;
01096   }
01097   ;
01098 
01099   ParameterType getType() const
01100   {
01101     return this->parameterType;
01102   }
01103   ;
01104 
01105   bool value;
01106 
01107   std::string name;
01108 
01109   ParameterType parameterType;
01110 
01111 };
01115 class SetEncoderCounterZeroAtNextNChannel : public YouBotJointParameterPasswordProtected
01116 {
01117   friend class YouBotJoint;
01118 public:
01119   SetEncoderCounterZeroAtNextNChannel();
01120 
01121   virtual ~SetEncoderCounterZeroAtNextNChannel();
01122 
01123   void getParameter(bool& parameter) const;
01124 
01125   void setParameter(const bool parameter);
01126 
01127   void toString(std::string& value);
01128 
01129 private:
01130   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01131                            const YouBotJointStorage& storage) const;
01132 
01133   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01134 
01135   std::string getName() const
01136   {
01137     return this->name;
01138   }
01139   ;
01140 
01141   ParameterType getType() const
01142   {
01143     return this->parameterType;
01144   }
01145   ;
01146 
01147   bool value;
01148 
01149   std::string name;
01150 
01151   ParameterType parameterType;
01152 
01153 };
01157 class SetEncoderCounterZeroAtNextSwitch : public YouBotJointParameterPasswordProtected
01158 {
01159   friend class YouBotJoint;
01160 public:
01161   SetEncoderCounterZeroAtNextSwitch();
01162 
01163   virtual ~SetEncoderCounterZeroAtNextSwitch();
01164 
01165   void getParameter(bool& parameter) const;
01166 
01167   void setParameter(const bool parameter);
01168 
01169   void toString(std::string& value);
01170 
01171 private:
01172   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01173                            const YouBotJointStorage& storage) const;
01174 
01175   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01176 
01177   std::string getName() const
01178   {
01179     return this->name;
01180   }
01181   ;
01182 
01183   ParameterType getType() const
01184   {
01185     return this->parameterType;
01186   }
01187   ;
01188 
01189   bool value;
01190 
01191   std::string name;
01192 
01193   ParameterType parameterType;
01194 
01195 };
01200 class SetEncoderCounterZeroOnlyOnce : public YouBotJointParameterPasswordProtected
01201 {
01202   friend class YouBotJoint;
01203 public:
01204   SetEncoderCounterZeroOnlyOnce();
01205 
01206   virtual ~SetEncoderCounterZeroOnlyOnce();
01207 
01208   void getParameter(bool& parameter) const;
01209 
01210   void setParameter(const bool parameter);
01211 
01212   void toString(std::string& value);
01213 
01214 private:
01215   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01216                            const YouBotJointStorage& storage) const;
01217 
01218   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01219 
01220   std::string getName() const
01221   {
01222     return this->name;
01223   }
01224   ;
01225 
01226   ParameterType getType() const
01227   {
01228     return this->parameterType;
01229   }
01230   ;
01231 
01232   bool value;
01233 
01234   std::string name;
01235 
01236   ParameterType parameterType;
01237 
01238 };
01242 class SineInitializationVelocity : public YouBotJointParameterPasswordProtected
01243 {
01244   friend class YouBotJoint;
01245 public:
01246   SineInitializationVelocity();
01247 
01248   virtual ~SineInitializationVelocity();
01249 
01250   void getParameter(int& parameter) const;
01251 
01252   void setParameter(const int parameter);
01253 
01254   void toString(std::string& value);
01255 
01256 private:
01257   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01258                            const YouBotJointStorage& storage) const;
01259 
01260   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01261 
01262   std::string getName() const
01263   {
01264     return this->name;
01265   }
01266   ;
01267 
01268   ParameterType getType() const
01269   {
01270     return this->parameterType;
01271   }
01272   ;
01273 
01274   int upperLimit;
01275 
01276   int lowerLimit;
01277 
01278   int value;
01279 
01280   std::string name;
01281 
01282   ParameterType parameterType;
01283 
01284 };
01294 class StopSwitchPolarity : public YouBotJointParameterPasswordProtected
01295 {
01296   friend class YouBotJoint;
01297 public:
01298   StopSwitchPolarity();
01299 
01300   virtual ~StopSwitchPolarity();
01301 
01302   void getParameter(unsigned int& parameter) const;
01303 
01304   void setParameter(const unsigned int parameter);
01305 
01306   void toString(std::string& value);
01307 
01308 private:
01309   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01310                            const YouBotJointStorage& storage) const;
01311 
01312   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01313 
01314   std::string getName() const
01315   {
01316     return this->name;
01317   }
01318   ;
01319 
01320   ParameterType getType() const
01321   {
01322     return this->parameterType;
01323   }
01324   ;
01325 
01326   unsigned int upperLimit;
01327 
01328   unsigned int lowerLimit;
01329 
01330   unsigned int value;
01331 
01332   std::string name;
01333 
01334   ParameterType parameterType;
01335 
01336 };
01340 class ThermalWindingTimeConstant : public YouBotJointParameterPasswordProtected
01341 {
01342   friend class YouBotJoint;
01343 public:
01344   ThermalWindingTimeConstant();
01345 
01346   virtual ~ThermalWindingTimeConstant();
01347 
01348   void getParameter(quantity<si::time>& parameter) const;
01349 
01350   void setParameter(const quantity<si::time>& parameter);
01351 
01352   void toString(std::string& value);
01353 
01354 private:
01355   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01356                            const YouBotJointStorage& storage) const;
01357 
01358   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01359 
01360   std::string getName() const
01361   {
01362     return this->name;
01363   }
01364   ;
01365 
01366   ParameterType getType() const
01367   {
01368     return this->parameterType;
01369   }
01370   ;
01371 
01372   quantity<si::time> upperLimit;
01373 
01374   quantity<si::time> lowerLimit;
01375 
01376   quantity<si::time> value;
01377 
01378   std::string name;
01379 
01380   ParameterType parameterType;
01381 
01382 };
01385 
01387 class MotorHaltedVelocity : public YouBotJointParameterPasswordProtected
01388 {
01389   friend class YouBotJoint;
01390 public:
01391   MotorHaltedVelocity();
01392 
01393   virtual ~MotorHaltedVelocity();
01394 
01395   void getParameter(int& parameter) const;
01396 
01397   void setParameter(const int parameter);
01398 
01399   void toString(std::string& value);
01400 
01401 private:
01402   void getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType,
01403                            const YouBotJointStorage& storage) const;
01404 
01405   void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage);
01406 
01407   std::string getName() const
01408   {
01409     return this->name;
01410   }
01411   ;
01412 
01413   ParameterType getType() const
01414   {
01415     return this->parameterType;
01416   }
01417   ;
01418 
01419   int upperLimit;
01420 
01421   int lowerLimit;
01422 
01423   int value;
01424 
01425   std::string name;
01426 
01427   ParameterType parameterType;
01428 
01429 };
01430 
01431 } // namespace youbot
01432 #endif


youbot_driver
Author(s): Jan Paulus
autogenerated on Mon Oct 6 2014 09:08:02