YouBotJointParameterPasswordProtected.cpp

Go to the documentation of this file.
00001 /****************************************************************
00002  *
00003  * Copyright (c) 2011
00004  * All rights reserved.
00005  *
00006  * Hochschule Bonn-Rhein-Sieg
00007  * University of Applied Sciences
00008  * Computer Science Department
00009  *
00010  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00011  *
00012  * Author:
00013  * Jan Paulus, Nico Hochgeschwender, Michael Reckhaus, Azamat Shakhimardanov
00014  * Supervised by:
00015  * Gerhard K. Kraetzschmar
00016  *
00017  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00018  *
00019  * This sofware is published under a dual-license: GNU Lesser General Public 
00020  * License LGPL 2.1 and BSD license. The dual-license implies that users of this
00021  * code may choose which terms they prefer.
00022  *
00023  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00024  *
00025  * Redistribution and use in source and binary forms, with or without
00026  * modification, are permitted provided that the following conditions are met:
00027  *
00028  *     * Redistributions of source code must retain the above copyright
00029  *       notice, this list of conditions and the following disclaimer.
00030  *     * Redistributions in binary form must reproduce the above copyright
00031  *       notice, this list of conditions and the following disclaimer in the
00032  *       documentation and/or other materials provided with the distribution.
00033  *     * Neither the name of the Hochschule Bonn-Rhein-Sieg nor the names of its
00034  *       contributors may be used to endorse or promote products derived from
00035  *       this software without specific prior written permission.
00036  *
00037  * This program is free software: you can redistribute it and/or modify
00038  * it under the terms of the GNU Lesser General Public License LGPL as
00039  * published by the Free Software Foundation, either version 2.1 of the
00040  * License, or (at your option) any later version or the BSD license.
00041  *
00042  * This program is distributed in the hope that it will be useful,
00043  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00044  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00045  * GNU Lesser General Public License LGPL and the BSD license for more details.
00046  *
00047  * You should have received a copy of the GNU Lesser General Public
00048  * License LGPL and BSD license along with this program.
00049  *
00050  ****************************************************************/
00051 #include "youbot/YouBotJointParameterPasswordProtected.hpp"
00052 namespace youbot {
00053 
00054 YouBotJointParameterPasswordProtected::YouBotJointParameterPasswordProtected() {
00055   // Bouml preserved body begin 000A4CF1
00056   // Bouml preserved body end 000A4CF1
00057 }
00058 
00059 YouBotJointParameterPasswordProtected::~YouBotJointParameterPasswordProtected() {
00060   // Bouml preserved body begin 000A4D71
00061   // Bouml preserved body end 000A4D71
00062 }
00063 
00064 ActivateOvervoltageProtection::ActivateOvervoltageProtection() {
00065   // Bouml preserved body begin 00083371
00066     this->name = "ActivateOvervoltageProtection";
00067     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00068   // Bouml preserved body end 00083371
00069 }
00070 
00071 ActivateOvervoltageProtection::~ActivateOvervoltageProtection() {
00072   // Bouml preserved body begin 000833F1
00073   // Bouml preserved body end 000833F1
00074 }
00075 
00076 void ActivateOvervoltageProtection::getParameter(bool& parameter) const {
00077   // Bouml preserved body begin 00083471
00078     parameter = this->value;
00079   // Bouml preserved body end 00083471
00080 }
00081 
00082 void ActivateOvervoltageProtection::setParameter(const bool parameter) {
00083   // Bouml preserved body begin 000834F1
00084     this->value = parameter;
00085   // Bouml preserved body end 000834F1
00086 }
00087 
00088 void ActivateOvervoltageProtection::toString(std::string& value) {
00089   // Bouml preserved body begin 0009E4F1
00090   std::stringstream ss;
00091   ss << this->name << ": " << this->value;
00092   value  = ss.str();
00093   // Bouml preserved body end 0009E4F1
00094 }
00095 
00096 void ActivateOvervoltageProtection::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00097   // Bouml preserved body begin 00083571
00098 
00099     message.stctOutput.commandNumber = msgType;
00100     message.stctOutput.moduleAddress = DRIVE;
00101     message.stctOutput.typeNumber = 245; //ActivateOvervoltageProtection
00102     message.stctOutput.value = value;
00103 
00104   // Bouml preserved body end 00083571
00105 }
00106 
00107 void ActivateOvervoltageProtection::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00108   // Bouml preserved body begin 000835F1
00109     this->value = message.stctInput.value; 
00110   // Bouml preserved body end 000835F1
00111 }
00112 
00113 ActualCommutationOffset::ActualCommutationOffset() {
00114   // Bouml preserved body begin 0007D871
00115     this->name = "ActualCommutationOffset";
00116     this->lowerLimit = INT_MIN;
00117     this->upperLimit = INT_MAX;
00118     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00119   // Bouml preserved body end 0007D871
00120 }
00121 
00122 ActualCommutationOffset::~ActualCommutationOffset() {
00123   // Bouml preserved body begin 0007D8F1
00124   // Bouml preserved body end 0007D8F1
00125 }
00126 
00127 void ActualCommutationOffset::getParameter(int& parameter) const {
00128   // Bouml preserved body begin 0007D971
00129     parameter = this->value;
00130   // Bouml preserved body end 0007D971
00131 }
00132 
00133 void ActualCommutationOffset::setParameter(const int parameter) {
00134   // Bouml preserved body begin 0007D9F1
00135     if (this->lowerLimit > parameter) {
00136       throw std::out_of_range("The parameter exceeds the lower limit");
00137     }
00138     if (this->upperLimit < parameter) {
00139       throw std::out_of_range("The parameter exceeds the upper limit");
00140     }
00141 
00142     this->value = parameter;
00143   // Bouml preserved body end 0007D9F1
00144 }
00145 
00146 void ActualCommutationOffset::toString(std::string& value) {
00147   // Bouml preserved body begin 0009D771
00148   std::stringstream ss;
00149   ss << this->name << ": " << this->value;
00150   value  = ss.str();
00151   // Bouml preserved body end 0009D771
00152 }
00153 
00154 void ActualCommutationOffset::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00155   // Bouml preserved body begin 0007DA71
00156 
00157     message.stctOutput.commandNumber = msgType;
00158     message.stctOutput.moduleAddress = DRIVE;
00159     message.stctOutput.typeNumber = 165; //ActualCommutationOffset
00160     message.stctOutput.value = value;
00161 
00162   // Bouml preserved body end 0007DA71
00163 }
00164 
00165 void ActualCommutationOffset::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00166   // Bouml preserved body begin 0007DAF1
00167     this->value = (int32)message.stctInput.value;
00168   // Bouml preserved body end 0007DAF1
00169 }
00170 
00171 ApproveProtectedParameters::ApproveProtectedParameters() {
00172   // Bouml preserved body begin 000956F1
00173     this->name = "ApproveProtectedParameters";
00174     this->lowerLimit = INT_MIN;
00175     this->upperLimit = INT_MAX;
00176     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00177   // Bouml preserved body end 000956F1
00178 }
00179 
00180 ApproveProtectedParameters::~ApproveProtectedParameters() {
00181   // Bouml preserved body begin 00095771
00182   // Bouml preserved body end 00095771
00183 }
00184 
00185 void ApproveProtectedParameters::getParameter(int& parameter) const {
00186   // Bouml preserved body begin 000957F1
00187     parameter = this->value;
00188   // Bouml preserved body end 000957F1
00189 }
00190 
00191 void ApproveProtectedParameters::setParameter(const int parameter) {
00192   // Bouml preserved body begin 00095871
00193     if (this->lowerLimit > parameter) {
00194       throw std::out_of_range("The parameter exceeds the lower limit");
00195     }
00196     if (this->upperLimit < parameter) {
00197       throw std::out_of_range("The parameter exceeds the upper limit");
00198     }
00199     this->value = parameter;
00200   // Bouml preserved body end 00095871
00201 }
00202 
00203 void ApproveProtectedParameters::toString(std::string& value) {
00204   // Bouml preserved body begin 0009E671
00205   std::stringstream ss;
00206   ss << this->name << ": " << this->value;
00207   value  = ss.str();
00208   // Bouml preserved body end 0009E671
00209 }
00210 
00211 void ApproveProtectedParameters::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00212   // Bouml preserved body begin 000958F1
00213     message.stctOutput.commandNumber = msgType;
00214     message.stctOutput.moduleAddress = DRIVE;
00215     message.stctOutput.typeNumber = 248; //ApproveProtectedParameters
00216     message.stctOutput.value = value;
00217   // Bouml preserved body end 000958F1
00218 }
00219 
00220 void ApproveProtectedParameters::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00221   // Bouml preserved body begin 00095971
00222     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00223       this->value = message.stctInput.value;
00224     }
00225   // Bouml preserved body end 00095971
00226 }
00227 
00228 BEMFConstant::BEMFConstant() {
00229   // Bouml preserved body begin 00082B71
00230     this->name = "BEMFConstant";
00231     this->lowerLimit = INT_MIN;
00232     this->upperLimit = INT_MAX;
00233     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00234   // Bouml preserved body end 00082B71
00235 }
00236 
00237 BEMFConstant::~BEMFConstant() {
00238   // Bouml preserved body begin 00082BF1
00239   // Bouml preserved body end 00082BF1
00240 }
00241 
00242 void BEMFConstant::getParameter(int& parameter) const {
00243   // Bouml preserved body begin 00082C71
00244     parameter = this->value;
00245   // Bouml preserved body end 00082C71
00246 }
00247 
00248 void BEMFConstant::setParameter(const int parameter) {
00249   // Bouml preserved body begin 00082CF1
00250     if (this->lowerLimit > parameter) {
00251       throw std::out_of_range("The parameter exceeds the lower limit");
00252     }
00253     if (this->upperLimit < parameter) {
00254       throw std::out_of_range("The parameter exceeds the upper limit");
00255     }
00256 
00257     this->value = parameter;
00258   // Bouml preserved body end 00082CF1
00259 }
00260 
00261 void BEMFConstant::toString(std::string& value) {
00262   // Bouml preserved body begin 0009E1F1
00263   std::stringstream ss;
00264   ss << this->name << ": " << this->value;
00265   value  = ss.str();
00266   // Bouml preserved body end 0009E1F1
00267 }
00268 
00269 void BEMFConstant::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00270   // Bouml preserved body begin 00082D71
00271 
00272     message.stctOutput.commandNumber = msgType;
00273     message.stctOutput.moduleAddress = DRIVE;
00274     message.stctOutput.typeNumber = 239; //BEMFConstant
00275     message.stctOutput.value = value; //TODO do convertion
00276 
00277   // Bouml preserved body end 00082D71
00278 }
00279 
00280 void BEMFConstant::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00281   // Bouml preserved body begin 00082DF1
00282     this->value = (int32)message.stctInput.value; //TODO do convertion
00283   // Bouml preserved body end 00082DF1
00284 }
00285 
00286 CommutationMode::CommutationMode() {
00287   // Bouml preserved body begin 000704F1
00288     this->name = "CommutationMode";
00289     this->lowerLimit = 0;
00290     this->upperLimit = 5;
00291     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00292   // Bouml preserved body end 000704F1
00293 }
00294 
00295 CommutationMode::~CommutationMode() {
00296   // Bouml preserved body begin 00070571
00297   // Bouml preserved body end 00070571
00298 }
00299 
00300 void CommutationMode::getParameter(unsigned int& parameter) const {
00301   // Bouml preserved body begin 000705F1
00302     parameter = this->value;
00303   // Bouml preserved body end 000705F1
00304 }
00305 
00306 void CommutationMode::setParameter(const unsigned int parameter) {
00307   // Bouml preserved body begin 00093471
00308     if (this->lowerLimit > parameter) {
00309       throw std::out_of_range("The parameter exceeds the lower limit");
00310     }
00311     if (this->upperLimit < parameter) {
00312       throw std::out_of_range("The parameter exceeds the upper limit");
00313     }
00314     this->value = parameter;
00315   // Bouml preserved body end 00093471
00316 }
00317 
00318 void CommutationMode::toString(std::string& value) {
00319   // Bouml preserved body begin 0009E7F1
00320   std::stringstream ss;
00321   ss << this->name << ": " << this->value;
00322   value  = ss.str();
00323   // Bouml preserved body end 0009E7F1
00324 }
00325 
00326 void CommutationMode::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00327   // Bouml preserved body begin 00070671
00328     message.stctOutput.commandNumber = msgType;
00329     message.stctOutput.moduleAddress = DRIVE;
00330     message.stctOutput.typeNumber = 159; //CommutationMode
00331     message.stctOutput.value = value;
00332   // Bouml preserved body end 00070671
00333 }
00334 
00335 void CommutationMode::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00336   // Bouml preserved body begin 000720F1
00337     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00338       this->value = message.stctInput.value; //TODO do convertion
00339     }
00340   // Bouml preserved body end 000720F1
00341 }
00342 
00343 CommutationMotorCurrent::CommutationMotorCurrent() {
00344   // Bouml preserved body begin 0008C371
00345     this->name = "CommutationMotorCurrent";
00346     this->lowerLimit = 0 * ampere;
00347     this->upperLimit = INT_MAX * ampere;
00348     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00349   // Bouml preserved body end 0008C371
00350 }
00351 
00352 CommutationMotorCurrent::~CommutationMotorCurrent() {
00353   // Bouml preserved body begin 0008C3F1
00354   // Bouml preserved body end 0008C3F1
00355 }
00356 
00357 void CommutationMotorCurrent::getParameter(quantity<current>& parameter) const {
00358   // Bouml preserved body begin 0008C471
00359     parameter = this->value;
00360   // Bouml preserved body end 0008C471
00361 }
00362 
00363 void CommutationMotorCurrent::setParameter(const quantity<current>& parameter) {
00364   // Bouml preserved body begin 0008C4F1
00365     if (this->lowerLimit > parameter) {
00366       throw std::out_of_range("The parameter exceeds the lower limit");
00367     }
00368     if (this->upperLimit < parameter) {
00369       throw std::out_of_range("The parameter exceeds the upper limit");
00370     }
00371 
00372     this->value = parameter;
00373   // Bouml preserved body end 0008C4F1
00374 }
00375 
00376 void CommutationMotorCurrent::toString(std::string& value) {
00377   // Bouml preserved body begin 0009DCF1
00378   std::stringstream ss;
00379   ss << this->name << ": " << this->value;
00380   value  = ss.str();
00381   // Bouml preserved body end 0009DCF1
00382 }
00383 
00384 void CommutationMotorCurrent::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00385   // Bouml preserved body begin 0008C571
00386 
00387     message.stctOutput.commandNumber = msgType;
00388     message.stctOutput.moduleAddress = DRIVE;
00389     message.stctOutput.typeNumber = 177; //CommutationMotorCurrent
00390     message.stctOutput.value = (uint32)(value.value() * 1000.0); // ampere to milli ampere
00391 
00392   // Bouml preserved body end 0008C571
00393 }
00394 
00395 void CommutationMotorCurrent::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00396   // Bouml preserved body begin 0008C5F1
00397   double temp = (uint32)message.stctInput.value;
00398   this->value = temp/1000.0 * ampere; //milli ampere to ampere
00399   // Bouml preserved body end 0008C5F1
00400 }
00401 
00402 CurrentControlLoopDelay::CurrentControlLoopDelay() {
00403   // Bouml preserved body begin 00079F71
00404     this->name = "CurrentControlLoopDelay";
00405     this->lowerLimit = 0;
00406     this->upperLimit = INT_MAX * seconds;
00407     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00408   // Bouml preserved body end 00079F71
00409 }
00410 
00411 CurrentControlLoopDelay::~CurrentControlLoopDelay() {
00412   // Bouml preserved body begin 00079FF1
00413   // Bouml preserved body end 00079FF1
00414 }
00415 
00416 void CurrentControlLoopDelay::getParameter(quantity<si::time>& parameter) const {
00417   // Bouml preserved body begin 0007A071
00418     parameter = this->value;
00419   // Bouml preserved body end 0007A071
00420 }
00421 
00422 void CurrentControlLoopDelay::setParameter(const quantity<si::time>& parameter) {
00423   // Bouml preserved body begin 0007A0F1
00424     if (this->lowerLimit > parameter) {
00425       throw std::out_of_range("The parameter exceeds the lower limit");
00426     }
00427     if (this->upperLimit < parameter) {
00428       throw std::out_of_range("The parameter exceeds the upper limit");
00429     }
00430 
00431     this->value = parameter;
00432   // Bouml preserved body end 0007A0F1
00433 }
00434 
00435 void CurrentControlLoopDelay::toString(std::string& value) {
00436   // Bouml preserved body begin 0009CFF1
00437   std::stringstream ss;
00438   ss << this->name << ": " << this->value;
00439   value  = ss.str();
00440   // Bouml preserved body end 0009CFF1
00441 }
00442 
00443 void CurrentControlLoopDelay::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00444   // Bouml preserved body begin 0007A171
00445 
00446     message.stctOutput.commandNumber = msgType;
00447     message.stctOutput.moduleAddress = DRIVE;
00448     message.stctOutput.typeNumber = 134; //CurrentControlLoopDelay
00449     message.stctOutput.value = (uint32)(value.value() * 1000 *1000 /50.0); //sec to µsec
00450 
00451   // Bouml preserved body end 0007A171
00452 }
00453 
00454 void CurrentControlLoopDelay::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00455   // Bouml preserved body begin 0007A1F1
00456     double temp = (uint32)message.stctInput.value;
00457     this->value = (temp/(1000.0 * 1000.0)) * 50 * seconds; //µsec to sec
00458   // Bouml preserved body end 0007A1F1
00459 }
00460 
00461 EncoderResolution::EncoderResolution() {
00462   // Bouml preserved body begin 000713F1
00463     this->name = "EncoderResolution";
00464     this->lowerLimit = 0;
00465     this->upperLimit = INT_MAX;
00466     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00467   // Bouml preserved body end 000713F1
00468 }
00469 
00470 EncoderResolution::~EncoderResolution() {
00471   // Bouml preserved body begin 00071471
00472   // Bouml preserved body end 00071471
00473 }
00474 
00475 void EncoderResolution::getParameter(unsigned int& parameter) const {
00476   // Bouml preserved body begin 000714F1
00477     parameter = this->value;
00478   // Bouml preserved body end 000714F1
00479 }
00480 
00481 void EncoderResolution::setParameter(const unsigned int parameter) {
00482   // Bouml preserved body begin 00093671
00483     if (this->lowerLimit > parameter) {
00484       throw std::out_of_range("The parameter exceeds the lower limit");
00485     }
00486     if (this->upperLimit < parameter) {
00487       throw std::out_of_range("The parameter exceeds the upper limit");
00488     }
00489     this->value = parameter;
00490   // Bouml preserved body end 00093671
00491 }
00492 
00493 void EncoderResolution::toString(std::string& value) {
00494   // Bouml preserved body begin 0009E9F1
00495   std::stringstream ss;
00496   ss << this->name << ": " << this->value;
00497   value  = ss.str();
00498   // Bouml preserved body end 0009E9F1
00499 }
00500 
00501 void EncoderResolution::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00502   // Bouml preserved body begin 00071571
00503     message.stctOutput.commandNumber = msgType;
00504     message.stctOutput.moduleAddress = DRIVE;
00505     message.stctOutput.typeNumber = 250; //EncoderResolution
00506     message.stctOutput.value = (uint32)value;
00507   // Bouml preserved body end 00071571
00508 }
00509 
00510 void EncoderResolution::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00511   // Bouml preserved body begin 00072371
00512     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00513       this->value = (uint32)message.stctInput.value;
00514     }
00515   // Bouml preserved body end 00072371
00516 }
00517 
00518 EncoderStopSwitch::EncoderStopSwitch() {
00519   // Bouml preserved body begin 0007D471
00520     this->name = "EncoderStopSwitch";
00521     this->lowerLimit = 0;
00522     this->upperLimit = 3;
00523     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00524   // Bouml preserved body end 0007D471
00525 }
00526 
00527 EncoderStopSwitch::~EncoderStopSwitch() {
00528   // Bouml preserved body begin 0007D4F1
00529   // Bouml preserved body end 0007D4F1
00530 }
00531 
00532 void EncoderStopSwitch::getParameter(unsigned int& parameter) const {
00533   // Bouml preserved body begin 0007D571
00534     parameter = this->value;
00535   // Bouml preserved body end 0007D571
00536 }
00537 
00538 void EncoderStopSwitch::setParameter(const unsigned int parameter) {
00539   // Bouml preserved body begin 0007D5F1
00540     if (this->lowerLimit > parameter) {
00541       throw std::out_of_range("The parameter exceeds the lower limit");
00542     }
00543     if (this->upperLimit < parameter) {
00544       throw std::out_of_range("The parameter exceeds the upper limit");
00545     }
00546 
00547     this->value = parameter;
00548   // Bouml preserved body end 0007D5F1
00549 }
00550 
00551 void EncoderStopSwitch::toString(std::string& value) {
00552   // Bouml preserved body begin 0009D6F1
00553   std::stringstream ss;
00554   ss << this->name << ": " << this->value;
00555   value  = ss.str();
00556   // Bouml preserved body end 0009D6F1
00557 }
00558 
00559 void EncoderStopSwitch::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00560   // Bouml preserved body begin 0007D671
00561 
00562     message.stctOutput.commandNumber = msgType;
00563     message.stctOutput.moduleAddress = DRIVE;
00564     message.stctOutput.typeNumber = 164; //EncoderStopSwitch
00565     message.stctOutput.value = (uint32)value;
00566 
00567   // Bouml preserved body end 0007D671
00568 }
00569 
00570 void EncoderStopSwitch::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00571   // Bouml preserved body begin 0007D6F1
00572     this->value = (uint32)message.stctInput.value;
00573   // Bouml preserved body end 0007D6F1
00574 }
00575 
00576 HallSensorPolarityReversal::HallSensorPolarityReversal() {
00577   // Bouml preserved body begin 00071CF1
00578     this->name = "HallSensorPolarityReversal";
00579     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00580   // Bouml preserved body end 00071CF1
00581 }
00582 
00583 HallSensorPolarityReversal::~HallSensorPolarityReversal() {
00584   // Bouml preserved body begin 00071D71
00585   // Bouml preserved body end 00071D71
00586 }
00587 
00588 void HallSensorPolarityReversal::getParameter(bool& parameter) const {
00589   // Bouml preserved body begin 00071DF1
00590     parameter = this->value;
00591   // Bouml preserved body end 00071DF1
00592 }
00593 
00594 void HallSensorPolarityReversal::setParameter(const bool parameter) {
00595   // Bouml preserved body begin 00093771
00596     this->value = parameter;
00597   // Bouml preserved body end 00093771
00598 }
00599 
00600 void HallSensorPolarityReversal::toString(std::string& value) {
00601   // Bouml preserved body begin 0009EAF1
00602   std::stringstream ss;
00603   ss << this->name << ": " << this->value;
00604   value  = ss.str();
00605   // Bouml preserved body end 0009EAF1
00606 }
00607 
00608 void HallSensorPolarityReversal::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00609   // Bouml preserved body begin 00071E71
00610     message.stctOutput.commandNumber = msgType;
00611     message.stctOutput.moduleAddress = DRIVE;
00612     message.stctOutput.typeNumber = 254; //HallSensorPolarityReversal
00613     message.stctOutput.value = (uint32)value;
00614   // Bouml preserved body end 00071E71
00615 }
00616 
00617 void HallSensorPolarityReversal::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00618   // Bouml preserved body begin 000724F1
00619     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00620       this->value = (uint32)message.stctInput.value;
00621     }
00622   // Bouml preserved body end 000724F1
00623 }
00624 
00625 I2tExceedCounter::I2tExceedCounter() {
00626   // Bouml preserved body begin 000A1171
00627     this->name = "I2tExceedCounter";
00628     this->lowerLimit = 0;
00629     this->upperLimit = INT_MAX;
00630     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00631   // Bouml preserved body end 000A1171
00632 }
00633 
00634 I2tExceedCounter::~I2tExceedCounter() {
00635   // Bouml preserved body begin 000A11F1
00636   // Bouml preserved body end 000A11F1
00637 }
00638 
00639 void I2tExceedCounter::getParameter(unsigned int& parameter) const {
00640   // Bouml preserved body begin 000A1271
00641     parameter = this->value;
00642   // Bouml preserved body end 000A1271
00643 }
00644 
00645 void I2tExceedCounter::setParameter(const unsigned int parameter) {
00646   // Bouml preserved body begin 000A12F1
00647     if (this->lowerLimit > parameter) {
00648       throw std::out_of_range("The parameter exceeds the lower limit");
00649     }
00650     if (this->upperLimit < parameter) {
00651       throw std::out_of_range("The parameter exceeds the upper limit");
00652     }
00653     this->value = parameter;
00654   // Bouml preserved body end 000A12F1
00655 }
00656 
00657 void I2tExceedCounter::toString(std::string& value) {
00658   // Bouml preserved body begin 000A1371
00659   std::stringstream ss;
00660   ss << this->name << ": " << this->value;
00661   value  = ss.str();
00662   // Bouml preserved body end 000A1371
00663 }
00664 
00665 void I2tExceedCounter::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00666   // Bouml preserved body begin 000A13F1
00667     message.stctOutput.commandNumber = msgType;
00668     message.stctOutput.moduleAddress = DRIVE;
00669     message.stctOutput.typeNumber = 28; //I2tExceedCounter
00670     message.stctOutput.value = (uint32)value;
00671   // Bouml preserved body end 000A13F1
00672 }
00673 
00674 void I2tExceedCounter::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00675   // Bouml preserved body begin 000A1471
00676     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00677       this->value = (uint32)message.stctInput.value;
00678     }
00679   // Bouml preserved body end 000A1471
00680 }
00681 
00682 I2tLimit::I2tLimit() {
00683   // Bouml preserved body begin 000A0871
00684     this->name = "I2tLimit";
00685     this->lowerLimit = 0;
00686     this->upperLimit = INT_MAX;
00687     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00688   // Bouml preserved body end 000A0871
00689 }
00690 
00691 I2tLimit::~I2tLimit() {
00692   // Bouml preserved body begin 000A08F1
00693   // Bouml preserved body end 000A08F1
00694 }
00695 
00696 void I2tLimit::getParameter(unsigned int& parameter) const {
00697   // Bouml preserved body begin 000A0971
00698     parameter = this->value;
00699   // Bouml preserved body end 000A0971
00700 }
00701 
00702 void I2tLimit::setParameter(const unsigned int parameter) {
00703   // Bouml preserved body begin 000A09F1
00704     if (this->lowerLimit > parameter) {
00705       throw std::out_of_range("The parameter exceeds the lower limit");
00706     }
00707     if (this->upperLimit < parameter) {
00708       throw std::out_of_range("The parameter exceeds the upper limit");
00709     }
00710     this->value = parameter;
00711   // Bouml preserved body end 000A09F1
00712 }
00713 
00714 void I2tLimit::toString(std::string& value) {
00715   // Bouml preserved body begin 000A0A71
00716   std::stringstream ss;
00717   ss << this->name << ": " << this->value;
00718   value  = ss.str();
00719   // Bouml preserved body end 000A0A71
00720 }
00721 
00722 void I2tLimit::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00723   // Bouml preserved body begin 000A0AF1
00724     message.stctOutput.commandNumber = msgType;
00725     message.stctOutput.moduleAddress = DRIVE;
00726     message.stctOutput.typeNumber = 26; //I2tLimit
00727     message.stctOutput.value = (uint32)value;
00728   // Bouml preserved body end 000A0AF1
00729 }
00730 
00731 void I2tLimit::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00732   // Bouml preserved body begin 000A0B71
00733     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00734       this->value = (uint32)message.stctInput.value;
00735     }
00736   // Bouml preserved body end 000A0B71
00737 }
00738 
00739 InitializationMode::InitializationMode() {
00740   // Bouml preserved body begin 000710F1
00741     this->name = "InitializationMode";
00742     this->lowerLimit = 0;
00743     this->upperLimit = 2;
00744     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00745   // Bouml preserved body end 000710F1
00746 }
00747 
00748 InitializationMode::~InitializationMode() {
00749   // Bouml preserved body begin 00071171
00750   // Bouml preserved body end 00071171
00751 }
00752 
00753 void InitializationMode::getParameter(int& parameter) const {
00754   // Bouml preserved body begin 000711F1
00755     parameter = this->value;
00756   // Bouml preserved body end 000711F1
00757 }
00758 
00759 void InitializationMode::setParameter(const int parameter) {
00760   // Bouml preserved body begin 000935F1
00761     if (this->lowerLimit > parameter) {
00762       throw std::out_of_range("The parameter exceeds the lower limit");
00763     }
00764     if (this->upperLimit < parameter) {
00765       throw std::out_of_range("The parameter exceeds the upper limit");
00766     }
00767     this->value = parameter;
00768   // Bouml preserved body end 000935F1
00769 }
00770 
00771 void InitializationMode::toString(std::string& value) {
00772   // Bouml preserved body begin 0009E971
00773   std::stringstream ss;
00774   ss << this->name << ": " << this->value;
00775   value  = ss.str();
00776   // Bouml preserved body end 0009E971
00777 }
00778 
00779 void InitializationMode::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00780   // Bouml preserved body begin 00071271
00781     message.stctOutput.commandNumber = msgType;
00782     message.stctOutput.moduleAddress = DRIVE;
00783     message.stctOutput.typeNumber = 249; //InitializationMode
00784     message.stctOutput.value = value;
00785   // Bouml preserved body end 00071271
00786 }
00787 
00788 void InitializationMode::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00789   // Bouml preserved body begin 000722F1
00790     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
00791       this->value = (int32)message.stctInput.value; 
00792     }
00793   // Bouml preserved body end 000722F1
00794 }
00795 
00796 InitSineDelay::InitSineDelay() {
00797   // Bouml preserved body begin 00082F71
00798     this->name = "InitSineDelay";
00799     this->lowerLimit = -32.768 * seconds;
00800     this->upperLimit = +32.767 * seconds;
00801     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00802   // Bouml preserved body end 00082F71
00803 }
00804 
00805 InitSineDelay::~InitSineDelay() {
00806   // Bouml preserved body begin 00082FF1
00807   // Bouml preserved body end 00082FF1
00808 }
00809 
00810 void InitSineDelay::getParameter(quantity<si::time>& parameter) const {
00811   // Bouml preserved body begin 00083071
00812     parameter = this->value;
00813   // Bouml preserved body end 00083071
00814 }
00815 
00816 void InitSineDelay::setParameter(const quantity<si::time>& parameter) {
00817   // Bouml preserved body begin 000830F1
00818     if (this->lowerLimit > parameter) {
00819       throw std::out_of_range("The parameter exceeds the lower limit");
00820     }
00821     if (this->upperLimit < parameter) {
00822       throw std::out_of_range("The parameter exceeds the upper limit");
00823     }
00824 
00825     this->value = parameter;
00826   // Bouml preserved body end 000830F1
00827 }
00828 
00829 void InitSineDelay::toString(std::string& value) {
00830   // Bouml preserved body begin 0009E3F1
00831   std::stringstream ss;
00832   ss << this->name << ": " << this->value;
00833   value  = ss.str();
00834   // Bouml preserved body end 0009E3F1
00835 }
00836 
00837 void InitSineDelay::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00838   // Bouml preserved body begin 00083171
00839 
00840     message.stctOutput.commandNumber = msgType;
00841     message.stctOutput.moduleAddress = DRIVE;
00842     message.stctOutput.typeNumber = 244; //InitSineDelay
00843     message.stctOutput.value = (int32)(value.value() * 1000); //sec to µsec
00844 
00845   // Bouml preserved body end 00083171
00846 }
00847 
00848 void InitSineDelay::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00849   // Bouml preserved body begin 000831F1
00850   double temp = (int32)message.stctInput.value;
00851   this->value = (temp/1000.0)  * seconds; //µsec to sec
00852   // Bouml preserved body end 000831F1
00853 }
00854 
00855 MassInertiaConstant::MassInertiaConstant() {
00856   // Bouml preserved body begin 00082771
00857     this->name = "MassInertiaConstant";
00858     this->lowerLimit = INT_MIN;
00859     this->upperLimit = INT_MAX;
00860     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00861   // Bouml preserved body end 00082771
00862 }
00863 
00864 MassInertiaConstant::~MassInertiaConstant() {
00865   // Bouml preserved body begin 000827F1
00866   // Bouml preserved body end 000827F1
00867 }
00868 
00869 void MassInertiaConstant::getParameter(int& parameter) const {
00870   // Bouml preserved body begin 00082871
00871     parameter = this->value;
00872   // Bouml preserved body end 00082871
00873 }
00874 
00875 void MassInertiaConstant::setParameter(const int parameter) {
00876   // Bouml preserved body begin 000828F1
00877     if (this->lowerLimit > parameter) {
00878       throw std::out_of_range("The parameter exceeds the lower limit");
00879     }
00880     if (this->upperLimit < parameter) {
00881       throw std::out_of_range("The parameter exceeds the upper limit");
00882     }
00883 
00884     this->value = parameter;
00885   // Bouml preserved body end 000828F1
00886 }
00887 
00888 void MassInertiaConstant::toString(std::string& value) {
00889   // Bouml preserved body begin 0009E171
00890   std::stringstream ss;
00891   ss << this->name << ": " << this->value;
00892   value  = ss.str();
00893   // Bouml preserved body end 0009E171
00894 }
00895 
00896 void MassInertiaConstant::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00897   // Bouml preserved body begin 00082971
00898 
00899     message.stctOutput.commandNumber = msgType;
00900     message.stctOutput.moduleAddress = DRIVE;
00901     message.stctOutput.typeNumber = 238; //MassInertiaConstant
00902     message.stctOutput.value = (int32)value; //TODO do convertion
00903 
00904   // Bouml preserved body end 00082971
00905 }
00906 
00907 void MassInertiaConstant::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00908   // Bouml preserved body begin 000829F1
00909     this->value = (int32)message.stctInput.value; //TODO do convertion
00910   // Bouml preserved body end 000829F1
00911 }
00912 
00913 MaximumMotorCurrent::MaximumMotorCurrent() {
00914   // Bouml preserved body begin 0006A5F1
00915     this->name = "MaximumMotorCurrent";
00916     this->lowerLimit = 0 * ampere;
00917     this->upperLimit = INT_MAX * ampere;
00918     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00919   // Bouml preserved body end 0006A5F1
00920 }
00921 
00922 MaximumMotorCurrent::~MaximumMotorCurrent() {
00923   // Bouml preserved body begin 0006A671
00924   // Bouml preserved body end 0006A671
00925 }
00926 
00927 void MaximumMotorCurrent::getParameter(quantity<current>& parameter) const {
00928   // Bouml preserved body begin 0006A6F1
00929     parameter = this->value;
00930   // Bouml preserved body end 0006A6F1
00931 }
00932 
00933 void MaximumMotorCurrent::setParameter(const quantity<current>& parameter) {
00934   // Bouml preserved body begin 0006A771
00935     if (this->lowerLimit > parameter) {
00936       throw std::out_of_range("The parameter exceeds the lower limit");
00937     }
00938     if (this->upperLimit < parameter) {
00939       throw std::out_of_range("The parameter exceeds the upper limit");
00940     }
00941 
00942     this->value = parameter;
00943   // Bouml preserved body end 0006A771
00944 }
00945 
00946 void MaximumMotorCurrent::toString(std::string& value) {
00947   // Bouml preserved body begin 0009CA71
00948   std::stringstream ss;
00949   ss << this->name << ": " << this->value;
00950   value  = ss.str();
00951   // Bouml preserved body end 0009CA71
00952 }
00953 
00954 void MaximumMotorCurrent::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
00955   // Bouml preserved body begin 0006A7F1
00956 
00957     message.stctOutput.commandNumber = msgType;
00958     message.stctOutput.moduleAddress = DRIVE;
00959     message.stctOutput.typeNumber = 6; //MaximumMotorCurrent
00960     message.stctOutput.value = (uint32)(value.value() * 1000.0); // ampere to milli ampere
00961 
00962   // Bouml preserved body end 0006A7F1
00963 }
00964 
00965 void MaximumMotorCurrent::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
00966   // Bouml preserved body begin 0006A871
00967   double temp = (uint32)message.stctInput.value;
00968   this->value = temp/1000.0 * ampere; //milli ampere to ampere
00969   // Bouml preserved body end 0006A871
00970 }
00971 
00972 MotorCoilResistance::MotorCoilResistance() {
00973   // Bouml preserved body begin 00070DF1
00974     this->name = "MotorCoilResistance";
00975     this->lowerLimit = INT_MIN * ohm;
00976     this->upperLimit = INT_MAX * ohm;
00977     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
00978   // Bouml preserved body end 00070DF1
00979 }
00980 
00981 MotorCoilResistance::~MotorCoilResistance() {
00982   // Bouml preserved body begin 00070E71
00983   // Bouml preserved body end 00070E71
00984 }
00985 
00986 void MotorCoilResistance::getParameter(quantity<resistance>& parameter) const {
00987   // Bouml preserved body begin 00070EF1
00988     parameter = this->value;
00989   // Bouml preserved body end 00070EF1
00990 }
00991 
00992 void MotorCoilResistance::setParameter(const quantity<resistance>& parameter) {
00993   // Bouml preserved body begin 00093571
00994     if (this->lowerLimit > parameter) {
00995       throw std::out_of_range("The parameter exceeds the lower limit");
00996     }
00997     if (this->upperLimit < parameter) {
00998       throw std::out_of_range("The parameter exceeds the upper limit");
00999     }
01000     this->value = parameter;
01001   // Bouml preserved body end 00093571
01002 }
01003 
01004 void MotorCoilResistance::toString(std::string& value) {
01005   // Bouml preserved body begin 0009E8F1
01006   std::stringstream ss;
01007   ss << this->name << ": " << this->value;
01008   value  = ss.str();
01009   // Bouml preserved body end 0009E8F1
01010 }
01011 
01012 void MotorCoilResistance::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01013   // Bouml preserved body begin 00070F71
01014     message.stctOutput.commandNumber = msgType;
01015     message.stctOutput.moduleAddress = DRIVE;
01016     message.stctOutput.typeNumber = 240; //MotorCoilResistance
01017     message.stctOutput.value = (int32)(value.value() * 1000); //from ohm to milli ohm
01018   // Bouml preserved body end 00070F71
01019 }
01020 
01021 void MotorCoilResistance::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01022   // Bouml preserved body begin 00072271
01023     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
01024       double temp = (int32)message.stctInput.value;
01025       this->value = temp/1000.0 * ohm;
01026     }
01027   // Bouml preserved body end 00072271
01028 }
01029 
01030 MotorControllerTimeout::MotorControllerTimeout() {
01031   // Bouml preserved body begin 0009F671
01032     this->name = "MotorControllerTimeout";
01033     this->lowerLimit = 0;
01034     this->upperLimit = INT_MAX * seconds;
01035     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01036   // Bouml preserved body end 0009F671
01037 }
01038 
01039 MotorControllerTimeout::~MotorControllerTimeout() {
01040   // Bouml preserved body begin 0009F6F1
01041   // Bouml preserved body end 0009F6F1
01042 }
01043 
01044 void MotorControllerTimeout::getParameter(quantity<si::time>& parameter) const {
01045   // Bouml preserved body begin 0009F771
01046     parameter = this->value;
01047   // Bouml preserved body end 0009F771
01048 }
01049 
01050 void MotorControllerTimeout::setParameter(const quantity<si::time>& parameter) {
01051   // Bouml preserved body begin 0009F7F1
01052     if (this->lowerLimit > parameter) {
01053       throw std::out_of_range("The parameter exceeds the lower limit");
01054     }
01055     if (this->upperLimit < parameter) {
01056       throw std::out_of_range("The parameter exceeds the upper limit");
01057     }
01058 
01059     this->value = parameter;
01060   // Bouml preserved body end 0009F7F1
01061 }
01062 
01063 void MotorControllerTimeout::toString(std::string& value) {
01064   // Bouml preserved body begin 0009F871
01065   std::stringstream ss;
01066   ss << this->name << ": " << this->value;
01067   value  = ss.str();
01068   // Bouml preserved body end 0009F871
01069 }
01070 
01071 void MotorControllerTimeout::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01072   // Bouml preserved body begin 0009F8F1
01073 
01074 
01075     if (msgType == SAP){
01076       message.stctOutput.commandNumber = SGP;
01077     }else if (msgType == GAP) {
01078       message.stctOutput.commandNumber = GGP;
01079     } else {
01080       message.stctOutput.commandNumber = msgType;
01081     }
01082     message.stctOutput.moduleAddress = DRIVE;
01083     message.stctOutput.typeNumber = 90; //MotorControllerTimeout
01084     message.stctOutput.value = value.value() * 1000; //sec to milli sec
01085 
01086   // Bouml preserved body end 0009F8F1
01087 }
01088 
01089 void MotorControllerTimeout::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01090   // Bouml preserved body begin 0009F971
01091     this->value = ((double)message.stctInput.value)/1000.0 * seconds; //milli sec to sec
01092   // Bouml preserved body end 0009F971
01093 }
01094 
01095 MotorPoles::MotorPoles() {
01096   // Bouml preserved body begin 000719F1
01097     this->name = "MotorPoles";
01098     this->lowerLimit = 2;
01099     this->upperLimit = 254;
01100     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01101   // Bouml preserved body end 000719F1
01102 }
01103 
01104 MotorPoles::~MotorPoles() {
01105   // Bouml preserved body begin 00071A71
01106   // Bouml preserved body end 00071A71
01107 }
01108 
01109 void MotorPoles::getParameter(unsigned int& parameter) const {
01110   // Bouml preserved body begin 00071AF1
01111     parameter = this->value;
01112   // Bouml preserved body end 00071AF1
01113 }
01114 
01115 void MotorPoles::setParameter(const unsigned int parameter) {
01116   // Bouml preserved body begin 000937F1
01117     if (this->lowerLimit > parameter) {
01118       throw std::out_of_range("The parameter exceeds the lower limit");
01119     }
01120     if (this->upperLimit < parameter) {
01121       throw std::out_of_range("The parameter exceeds the upper limit");
01122     }
01123     this->value = parameter;
01124   // Bouml preserved body end 000937F1
01125 }
01126 
01127 void MotorPoles::toString(std::string& value) {
01128   // Bouml preserved body begin 0009EB71
01129   std::stringstream ss;
01130   ss << this->name << ": " << this->value;
01131   value  = ss.str();
01132   // Bouml preserved body end 0009EB71
01133 }
01134 
01135 void MotorPoles::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01136   // Bouml preserved body begin 00071B71
01137     message.stctOutput.commandNumber = msgType;
01138     message.stctOutput.moduleAddress = DRIVE;
01139     message.stctOutput.typeNumber = 253; //MotorPoles
01140     message.stctOutput.value = (uint32)value;
01141   // Bouml preserved body end 00071B71
01142 }
01143 
01144 void MotorPoles::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01145   // Bouml preserved body begin 00072471
01146     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
01147       this->value = (uint32)message.stctInput.value;
01148     }
01149   // Bouml preserved body end 00072471
01150 }
01151 
01152 OperationalTime::OperationalTime() {
01153   // Bouml preserved body begin 000A03F1
01154     this->name = "OperationalTime";
01155     this->lowerLimit = 0;
01156     this->upperLimit = INT_MAX * seconds;
01157     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01158   // Bouml preserved body end 000A03F1
01159 }
01160 
01161 OperationalTime::~OperationalTime() {
01162   // Bouml preserved body begin 000A0471
01163   // Bouml preserved body end 000A0471
01164 }
01165 
01166 void OperationalTime::getParameter(quantity<si::time>& parameter) const {
01167   // Bouml preserved body begin 000A04F1
01168     parameter = this->value;
01169   // Bouml preserved body end 000A04F1
01170 }
01171 
01172 void OperationalTime::setParameter(const quantity<si::time>& parameter) {
01173   // Bouml preserved body begin 000A0571
01174     if (this->lowerLimit > parameter) {
01175       throw std::out_of_range("The parameter exceeds the lower limit");
01176     }
01177     if (this->upperLimit < parameter) {
01178       throw std::out_of_range("The parameter exceeds the upper limit");
01179     }
01180 
01181     this->value = parameter;
01182   // Bouml preserved body end 000A0571
01183 }
01184 
01185 void OperationalTime::toString(std::string& value) {
01186   // Bouml preserved body begin 000A05F1
01187   std::stringstream ss;
01188   ss << this->name << ": " << this->value;
01189   value  = ss.str();
01190   // Bouml preserved body end 000A05F1
01191 }
01192 
01193 void OperationalTime::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01194   // Bouml preserved body begin 000A0671
01195     message.stctOutput.commandNumber = msgType;
01196     message.stctOutput.moduleAddress = DRIVE;
01197     message.stctOutput.typeNumber = 30; //OperationalTime
01198     message.stctOutput.value = value.value() / 60.0; //sec to min
01199 
01200   // Bouml preserved body end 000A0671
01201 }
01202 
01203 void OperationalTime::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01204   // Bouml preserved body begin 000A06F1
01205     this->value = ((double)message.stctInput.value) * 60.0 * seconds; //min to sec
01206   // Bouml preserved body end 000A06F1
01207 }
01208 
01209 PIDControlTime::PIDControlTime() {
01210   // Bouml preserved body begin 0006ADF1
01211     this->name = "PIDControlTime";
01212     this->lowerLimit = 0;
01213     this->upperLimit = INT_MAX * seconds;
01214     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01215   // Bouml preserved body end 0006ADF1
01216 }
01217 
01218 PIDControlTime::~PIDControlTime() {
01219   // Bouml preserved body begin 0006AE71
01220   // Bouml preserved body end 0006AE71
01221 }
01222 
01223 void PIDControlTime::getParameter(quantity<si::time>& parameter) const {
01224   // Bouml preserved body begin 0006AEF1
01225     parameter = this->value;
01226   // Bouml preserved body end 0006AEF1
01227 }
01228 
01229 void PIDControlTime::setParameter(const quantity<si::time>& parameter) {
01230   // Bouml preserved body begin 0006AF71
01231     if (this->lowerLimit > parameter) {
01232       throw std::out_of_range("The parameter exceeds the lower limit");
01233     }
01234     if (this->upperLimit < parameter) {
01235       throw std::out_of_range("The parameter exceeds the upper limit");
01236     }
01237 
01238     this->value = parameter;
01239   // Bouml preserved body end 0006AF71
01240 }
01241 
01242 void PIDControlTime::toString(std::string& value) {
01243   // Bouml preserved body begin 0009CF71
01244   std::stringstream ss;
01245   ss << this->name << ": " << this->value;
01246   value  = ss.str();
01247   // Bouml preserved body end 0009CF71
01248 }
01249 
01250 void PIDControlTime::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01251   // Bouml preserved body begin 0006AFF1
01252 
01253     message.stctOutput.commandNumber = msgType;
01254     message.stctOutput.moduleAddress = DRIVE;
01255     message.stctOutput.typeNumber = 133; //PIDControlTime
01256     message.stctOutput.value = value.value() * 1000; //sec to milli sec
01257 
01258   // Bouml preserved body end 0006AFF1
01259 }
01260 
01261 void PIDControlTime::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01262   // Bouml preserved body begin 0006B071
01263     this->value = ((double)message.stctInput.value)/1000 * seconds; //milli sec to sec
01264   // Bouml preserved body end 0006B071
01265 }
01266 
01267 ReversingEncoderDirection::ReversingEncoderDirection() {
01268   // Bouml preserved body begin 000716F1
01269     this->name = "ReversingEncoderDirection";
01270     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01271   // Bouml preserved body end 000716F1
01272 }
01273 
01274 ReversingEncoderDirection::~ReversingEncoderDirection() {
01275   // Bouml preserved body begin 00071771
01276   // Bouml preserved body end 00071771
01277 }
01278 
01279 bool ReversingEncoderDirection::getParameter(bool& parameter) const {
01280   // Bouml preserved body begin 000717F1
01281     parameter = this->value;
01282     return this->value;
01283   // Bouml preserved body end 000717F1
01284 }
01285 
01286 void ReversingEncoderDirection::setParameter(const bool parameter) {
01287   // Bouml preserved body begin 000936F1
01288     this->value = parameter;
01289   // Bouml preserved body end 000936F1
01290 }
01291 
01292 void ReversingEncoderDirection::toString(std::string& value) {
01293   // Bouml preserved body begin 0009EA71
01294   std::stringstream ss;
01295   ss << this->name << ": " << this->value;
01296   value  = ss.str();
01297   // Bouml preserved body end 0009EA71
01298 }
01299 
01300 void ReversingEncoderDirection::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01301   // Bouml preserved body begin 00071871
01302     message.stctOutput.commandNumber = msgType;
01303     message.stctOutput.moduleAddress = DRIVE;
01304     message.stctOutput.typeNumber = 251; //ReversingEncoderDirection
01305     message.stctOutput.value = value;
01306   // Bouml preserved body end 00071871
01307 }
01308 
01309 void ReversingEncoderDirection::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01310   // Bouml preserved body begin 000723F1
01311     if (message.stctOutput.commandNumber == message.stctInput.commandNumber && message.stctInput.status == NO_ERROR) {
01312       this->value = message.stctInput.value; 
01313     }
01314   // Bouml preserved body end 000723F1
01315 }
01316 
01317 SetEncoderCounterZeroAtNextNChannel::SetEncoderCounterZeroAtNextNChannel() {
01318   // Bouml preserved body begin 0007C871
01319     this->name = "SetEncoderCounterZeroAtNextNChannel";
01320     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01321   // Bouml preserved body end 0007C871
01322 }
01323 
01324 SetEncoderCounterZeroAtNextNChannel::~SetEncoderCounterZeroAtNextNChannel() {
01325   // Bouml preserved body begin 0007C8F1
01326   // Bouml preserved body end 0007C8F1
01327 }
01328 
01329 void SetEncoderCounterZeroAtNextNChannel::getParameter(bool& parameter) const {
01330   // Bouml preserved body begin 0007C971
01331     parameter = this->value;
01332   // Bouml preserved body end 0007C971
01333 }
01334 
01335 void SetEncoderCounterZeroAtNextNChannel::setParameter(const bool parameter) {
01336   // Bouml preserved body begin 0007C9F1
01337     this->value = parameter;
01338   // Bouml preserved body end 0007C9F1
01339 }
01340 
01341 void SetEncoderCounterZeroAtNextNChannel::toString(std::string& value) {
01342   // Bouml preserved body begin 0009D571
01343   std::stringstream ss;
01344   ss << this->name << ": " << this->value;
01345   value  = ss.str();
01346   // Bouml preserved body end 0009D571
01347 }
01348 
01349 void SetEncoderCounterZeroAtNextNChannel::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01350   // Bouml preserved body begin 0007CA71
01351 
01352     message.stctOutput.commandNumber = msgType;
01353     message.stctOutput.moduleAddress = DRIVE;
01354     message.stctOutput.typeNumber = 161; //SetEncoderCounterZeroAtNextNChannel
01355     message.stctOutput.value = value;
01356 
01357   // Bouml preserved body end 0007CA71
01358 }
01359 
01360 void SetEncoderCounterZeroAtNextNChannel::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01361   // Bouml preserved body begin 0007CAF1
01362     this->value = message.stctInput.value;
01363   // Bouml preserved body end 0007CAF1
01364 }
01365 
01366 SetEncoderCounterZeroAtNextSwitch::SetEncoderCounterZeroAtNextSwitch() {
01367   // Bouml preserved body begin 0007CC71
01368     this->name = "SetEncoderCounterZeroAtNextSwitch";
01369     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01370   // Bouml preserved body end 0007CC71
01371 }
01372 
01373 SetEncoderCounterZeroAtNextSwitch::~SetEncoderCounterZeroAtNextSwitch() {
01374   // Bouml preserved body begin 0007CCF1
01375   // Bouml preserved body end 0007CCF1
01376 }
01377 
01378 void SetEncoderCounterZeroAtNextSwitch::getParameter(bool& parameter) const {
01379   // Bouml preserved body begin 0007CD71
01380     parameter = this->value;
01381   // Bouml preserved body end 0007CD71
01382 }
01383 
01384 void SetEncoderCounterZeroAtNextSwitch::setParameter(const bool parameter) {
01385   // Bouml preserved body begin 0007CDF1
01386     this->value = parameter;
01387   // Bouml preserved body end 0007CDF1
01388 }
01389 
01390 void SetEncoderCounterZeroAtNextSwitch::toString(std::string& value) {
01391   // Bouml preserved body begin 0009D5F1
01392   std::stringstream ss;
01393   ss << this->name << ": " << this->value;
01394   value  = ss.str();
01395   // Bouml preserved body end 0009D5F1
01396 }
01397 
01398 void SetEncoderCounterZeroAtNextSwitch::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01399   // Bouml preserved body begin 0007CE71
01400 
01401     message.stctOutput.commandNumber = msgType;
01402     message.stctOutput.moduleAddress = DRIVE;
01403     message.stctOutput.typeNumber = 162; //SetEncoderCounterZeroAtNextSwitch
01404     message.stctOutput.value = value;
01405 
01406   // Bouml preserved body end 0007CE71
01407 }
01408 
01409 void SetEncoderCounterZeroAtNextSwitch::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01410   // Bouml preserved body begin 0007CEF1
01411     this->value = message.stctInput.value;
01412   // Bouml preserved body end 0007CEF1
01413 }
01414 
01415 SetEncoderCounterZeroOnlyOnce::SetEncoderCounterZeroOnlyOnce() {
01416   // Bouml preserved body begin 0007D071
01417     this->name = "SetEncoderCounterZeroOnlyOnce";
01418     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01419   // Bouml preserved body end 0007D071
01420 }
01421 
01422 SetEncoderCounterZeroOnlyOnce::~SetEncoderCounterZeroOnlyOnce() {
01423   // Bouml preserved body begin 0007D0F1
01424   // Bouml preserved body end 0007D0F1
01425 }
01426 
01427 void SetEncoderCounterZeroOnlyOnce::getParameter(bool& parameter) const {
01428   // Bouml preserved body begin 0007D171
01429     parameter = this->value;
01430   // Bouml preserved body end 0007D171
01431 }
01432 
01433 void SetEncoderCounterZeroOnlyOnce::setParameter(const bool parameter) {
01434   // Bouml preserved body begin 0007D1F1
01435     this->value = parameter;
01436   // Bouml preserved body end 0007D1F1
01437 }
01438 
01439 void SetEncoderCounterZeroOnlyOnce::toString(std::string& value) {
01440   // Bouml preserved body begin 0009D671
01441   std::stringstream ss;
01442   ss << this->name << ": " << this->value;
01443   value  = ss.str();
01444   // Bouml preserved body end 0009D671
01445 }
01446 
01447 void SetEncoderCounterZeroOnlyOnce::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01448   // Bouml preserved body begin 0007D271
01449 
01450     message.stctOutput.commandNumber = msgType;
01451     message.stctOutput.moduleAddress = DRIVE;
01452     message.stctOutput.typeNumber = 163; //SetEncoderCounterZeroOnlyOnce
01453     message.stctOutput.value = value;
01454 
01455   // Bouml preserved body end 0007D271
01456 }
01457 
01458 void SetEncoderCounterZeroOnlyOnce::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01459   // Bouml preserved body begin 0007D2F1
01460     this->value = message.stctInput.value;
01461   // Bouml preserved body end 0007D2F1
01462 }
01463 
01464 SineInitializationVelocity::SineInitializationVelocity() {
01465   // Bouml preserved body begin 0006EDF1
01466     this->name = "SineInitializationVelocity";
01467     this->lowerLimit = INT_MIN;
01468     this->upperLimit = INT_MAX;
01469     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01470   // Bouml preserved body end 0006EDF1
01471 }
01472 
01473 SineInitializationVelocity::~SineInitializationVelocity() {
01474   // Bouml preserved body begin 0006EE71
01475   // Bouml preserved body end 0006EE71
01476 }
01477 
01478 void SineInitializationVelocity::getParameter(int& parameter) const {
01479   // Bouml preserved body begin 0006EEF1
01480     parameter = this->value;
01481   // Bouml preserved body end 0006EEF1
01482 }
01483 
01484 void SineInitializationVelocity::setParameter(const int parameter) {
01485   // Bouml preserved body begin 0006EF71
01486     if (this->lowerLimit > parameter) {
01487       throw std::out_of_range("The parameter exceeds the lower limit");
01488     }
01489     if (this->upperLimit < parameter) {
01490       throw std::out_of_range("The parameter exceeds the upper limit");
01491     }
01492 
01493     this->value = parameter;
01494   // Bouml preserved body end 0006EF71
01495 }
01496 
01497 void SineInitializationVelocity::toString(std::string& value) {
01498   // Bouml preserved body begin 0009E271
01499   std::stringstream ss;
01500   ss << this->name << ": " << this->value;
01501   value  = ss.str();
01502   // Bouml preserved body end 0009E271
01503 }
01504 
01505 void SineInitializationVelocity::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01506   // Bouml preserved body begin 0006EFF1
01507 
01508     message.stctOutput.commandNumber = msgType;
01509     message.stctOutput.moduleAddress = DRIVE;
01510     message.stctOutput.typeNumber = 241; //SineInitializationVelocity
01511     message.stctOutput.value = (int32)value;
01512   // Bouml preserved body end 0006EFF1
01513 }
01514 
01515 void SineInitializationVelocity::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01516   // Bouml preserved body begin 0006F071
01517     this->value = (int32)message.stctInput.value;
01518   // Bouml preserved body end 0006F071
01519 }
01520 
01521 StopSwitchPolarity::StopSwitchPolarity() {
01522   // Bouml preserved body begin 0007DC71
01523     this->name = "StopSwitchPolarity";
01524     this->lowerLimit = 0;
01525     this->upperLimit = 3;
01526     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01527   // Bouml preserved body end 0007DC71
01528 }
01529 
01530 StopSwitchPolarity::~StopSwitchPolarity() {
01531   // Bouml preserved body begin 0007DCF1
01532   // Bouml preserved body end 0007DCF1
01533 }
01534 
01535 void StopSwitchPolarity::getParameter(unsigned int& parameter) const {
01536   // Bouml preserved body begin 0007DD71
01537     parameter = this->value;
01538   // Bouml preserved body end 0007DD71
01539 }
01540 
01541 void StopSwitchPolarity::setParameter(const unsigned int parameter) {
01542   // Bouml preserved body begin 0007DDF1
01543     if (this->lowerLimit > parameter) {
01544       throw std::out_of_range("The parameter exceeds the lower limit");
01545     }
01546     if (this->upperLimit < parameter) {
01547       throw std::out_of_range("The parameter exceeds the upper limit");
01548     }
01549 
01550     this->value = parameter;
01551   // Bouml preserved body end 0007DDF1
01552 }
01553 
01554 void StopSwitchPolarity::toString(std::string& value) {
01555   // Bouml preserved body begin 0009D7F1
01556   std::stringstream ss;
01557   ss << this->name << ": " << this->value;
01558   value  = ss.str();
01559   // Bouml preserved body end 0009D7F1
01560 }
01561 
01562 void StopSwitchPolarity::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01563   // Bouml preserved body begin 0007DE71
01564 
01565     message.stctOutput.commandNumber = msgType;
01566     message.stctOutput.moduleAddress = DRIVE;
01567     message.stctOutput.typeNumber = 166; //StopSwitchPolarity
01568     message.stctOutput.value = value; 
01569 
01570   // Bouml preserved body end 0007DE71
01571 }
01572 
01573 void StopSwitchPolarity::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01574   // Bouml preserved body begin 0007DEF1
01575     this->value = message.stctInput.value;
01576   // Bouml preserved body end 0007DEF1
01577 }
01578 
01579 ThermalWindingTimeConstant::ThermalWindingTimeConstant() {
01580   // Bouml preserved body begin 0009FF71
01581     this->name = "ThermalWindingTimeConstant";
01582     this->lowerLimit = 0;
01583     this->upperLimit = INT_MAX * seconds;
01584     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01585   // Bouml preserved body end 0009FF71
01586 }
01587 
01588 ThermalWindingTimeConstant::~ThermalWindingTimeConstant() {
01589   // Bouml preserved body begin 0009FFF1
01590   // Bouml preserved body end 0009FFF1
01591 }
01592 
01593 void ThermalWindingTimeConstant::getParameter(quantity<si::time>& parameter) const {
01594   // Bouml preserved body begin 000A0071
01595     parameter = this->value;
01596   // Bouml preserved body end 000A0071
01597 }
01598 
01599 void ThermalWindingTimeConstant::setParameter(const quantity<si::time>& parameter) {
01600   // Bouml preserved body begin 000A00F1
01601     if (this->lowerLimit > parameter) {
01602       throw std::out_of_range("The parameter exceeds the lower limit");
01603     }
01604     if (this->upperLimit < parameter) {
01605       throw std::out_of_range("The parameter exceeds the upper limit");
01606     }
01607 
01608     this->value = parameter;
01609   // Bouml preserved body end 000A00F1
01610 }
01611 
01612 void ThermalWindingTimeConstant::toString(std::string& value) {
01613   // Bouml preserved body begin 000A0171
01614   std::stringstream ss;
01615   ss << this->name << ": " << this->value;
01616   value  = ss.str();
01617   // Bouml preserved body end 000A0171
01618 }
01619 
01620 void ThermalWindingTimeConstant::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01621   // Bouml preserved body begin 000A01F1
01622     message.stctOutput.commandNumber = msgType;
01623     message.stctOutput.moduleAddress = DRIVE;
01624     message.stctOutput.typeNumber = 25; //ThermalWindingTimeConstant
01625     message.stctOutput.value = value.value() * 1000; //sec to milli sec
01626 
01627   // Bouml preserved body end 000A01F1
01628 }
01629 
01630 void ThermalWindingTimeConstant::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01631   // Bouml preserved body begin 000A0271
01632     this->value = ((double)message.stctInput.value)/1000.0 * seconds; //milli sec to sec
01633   // Bouml preserved body end 000A0271
01634 }
01635 
01636 MotorHaltedVelocity::MotorHaltedVelocity() {
01637   // Bouml preserved body begin 000CB871
01638     this->name = "MotorHaltedVelocity";
01639     this->lowerLimit = INT_MIN;
01640     this->upperLimit = INT_MAX;
01641     this->parameterType = MOTOR_CONTOLLER_PARAMETER;
01642   // Bouml preserved body end 000CB871
01643 }
01644 
01645 MotorHaltedVelocity::~MotorHaltedVelocity() {
01646   // Bouml preserved body begin 000CB8F1
01647   // Bouml preserved body end 000CB8F1
01648 }
01649 
01650 void MotorHaltedVelocity::getParameter(int& parameter) const {
01651   // Bouml preserved body begin 000CB971
01652     parameter = this->value;
01653   // Bouml preserved body end 000CB971
01654 }
01655 
01656 void MotorHaltedVelocity::setParameter(const int parameter) {
01657   // Bouml preserved body begin 000CB9F1
01658     if (this->lowerLimit > parameter) {
01659       throw std::out_of_range("The parameter exceeds the lower limit");
01660     }
01661     if (this->upperLimit < parameter) {
01662       throw std::out_of_range("The parameter exceeds the upper limit");
01663     }
01664 
01665     this->value = parameter;
01666   // Bouml preserved body end 000CB9F1
01667 }
01668 
01669 void MotorHaltedVelocity::toString(std::string& value) {
01670   // Bouml preserved body begin 000CBA71
01671   std::stringstream ss;
01672   ss << this->name << ": " << this->value;
01673   value  = ss.str();
01674   // Bouml preserved body end 000CBA71
01675 }
01676 
01677 void MotorHaltedVelocity::getYouBotMailboxMsg(YouBotSlaveMailboxMsg& message, TMCLCommandNumber msgType, const YouBotJointStorage& storage) const {
01678   // Bouml preserved body begin 000CBAF1
01679 
01680     message.stctOutput.commandNumber = msgType;
01681     message.stctOutput.moduleAddress = DRIVE;
01682     message.stctOutput.typeNumber = 9; //MotorHaltedVelocity
01683     message.stctOutput.value = (int32)value;
01684   // Bouml preserved body end 000CBAF1
01685 }
01686 
01687 void MotorHaltedVelocity::setYouBotMailboxMsg(const YouBotSlaveMailboxMsg& message, const YouBotJointStorage& storage) {
01688   // Bouml preserved body begin 000CBB71
01689     this->value = (int32)message.stctInput.value;
01690   // Bouml preserved body end 000CBB71
01691 }
01692 
01693 
01694 } // namespace youbot
Generated by  doxygen 1.6.3