00001 #ifndef YOUBOT_YOUBOTJOINTPARAMETERPASSWORDPROTECTED_H
00002 #define YOUBOT_YOUBOTJOINTPARAMETERPASSWORDPROTECTED_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
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 }
01432 #endif