StartPlayback.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package RobotSkillTemplates::PlayMMMFile
17  * @author Philipp Schmidt ( ufedv at student dot kit dot edu )
18  * @date 2016
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 #include "StartPlayback.h"
24 
25 using namespace armarx;
26 using namespace PlayMMMFile;
27 
28 // DO NOT EDIT NEXT LINE
29 StartPlayback::SubClassRegistry StartPlayback::Registry(StartPlayback::GetName(),
31 
32 void
34 {
35  // put your user code for the enter-point here
36  // execution time should be short (<100ms)
37 }
38 
39 void
41 {
42  // put your user code for the execution-phase here
43  // runs in seperate thread, thus can do complex operations
44  // should check constantly whether isRunningTaskStopped() returns true
45 
46  //Go to initial pose
47  this->getTrajectoryPlayer()->resetTrajectoryPlayer(false);
48  this->getTrajectoryPlayer()->setIsVelocityControl(true);
49 
50  //Start
51  if (!this->getTrajectoryPlayer()->startTrajectoryPlayer())
52  {
53  this->emitFailure();
54  }
55 
56  // uncomment this if you need a continous run function. Make sure to use sleep or use blocking wait to reduce cpu load.
57  while (!isRunningTaskStopped()) // stop run function if returning true
58  {
59  if (this->getTrajectoryPlayer()->getCurrentTime() >=
60  this->getTrajectoryPlayer()->getEndTime())
61  {
62  ARMARX_LOG << "emitSuccess()";
63  this->emitSuccess();
64  return;
65  }
66  //Wait 50ms
67  usleep(50000);
68  }
69 }
70 
71 //void StartPlayback::onBreak()
72 //{
73 // // put your user code for the breaking point here
74 // // execution time should be short (<100ms)
75 //}
76 
77 void
79 {
80  // put your user code for the exit point here
81  // execution time should be short (<100ms)
82 }
83 
84 // DO NOT EDIT NEXT FUNCTION
87 {
88  return XMLStateFactoryBasePtr(new StartPlayback(stateData));
89 }
armarx::PlayMMMFile::StartPlayback::onExit
void onExit() override
Definition: StartPlayback.cpp:78
armarx::XMLStateConstructorParams
Definition: XMLState.h:49
armarx::XMLStateFactoryBasePtr
IceInternal::Handle< XMLStateFactoryBase > XMLStateFactoryBasePtr
Definition: XMLState.h:64
IceInternal::Handle
Definition: forward_declarations.h:8
armarx::PlayMMMFile::StartPlayback::CreateInstance
static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData)
Definition: StartPlayback.cpp:86
armarx::PlayMMMFile::StartPlayback::run
void run() override
Definition: StartPlayback.cpp:40
ARMARX_LOG
#define ARMARX_LOG
Definition: Logging.h:165
armarx::PlayMMMFile::StartPlayback::onEnter
void onEnter() override
Definition: StartPlayback.cpp:33
StartPlayback.h
armarx::PlayMMMFile::StartPlayback::Registry
static SubClassRegistry Registry
Definition: StartPlayback.h:46
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::PlayMMMFile::StartPlayback::StartPlayback
StartPlayback(const XMLStateConstructorParams &stateData)
Definition: StartPlayback.h:32