Wait.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::ObjectLocalization
17
* @author Markus Grotz ( markus dot grotz at kit dot edu )
18
* @date 2018
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#include "
Wait.h
"
24
25
#include <
ArmarXCore/core/time/TimeUtil.h
>
26
//#include <ArmarXCore/observers/variant/DatafieldRef.h>
27
28
using namespace
armarx
;
29
using namespace
ObjectLocalization;
30
31
// DO NOT EDIT NEXT LINE
32
Wait::SubClassRegistry
Wait::Registry
(Wait::GetName(), &
Wait::CreateInstance
);
33
34
35
36
void
Wait::onEnter
()
37
{
38
if
((
TimeUtil::GetTime
() - in.getStartTime()->toTime()).toSecondsDouble() > in.getTimeout())
39
{
40
emitTimeout();
41
return
;
42
}
43
44
ARMARX_DEBUG
<<
"sleeping for "
<< in.getSleepTime() <<
" seconds"
;
45
}
46
47
void
Wait::run
()
48
{
49
TimeUtil::Sleep
(in.getSleepTime());
50
51
emitSuccess();
52
}
53
54
//void Wait::onBreak()
55
//{
56
// // put your user code for the breaking point here
57
// // execution time should be short (<100ms)
58
//}
59
60
void
Wait::onExit
()
61
{
62
// put your user code for the exit point here
63
// execution time should be short (<100ms)
64
}
65
66
67
// DO NOT EDIT NEXT FUNCTION
68
XMLStateFactoryBasePtr
Wait::CreateInstance
(
XMLStateConstructorParams
stateData)
69
{
70
return
XMLStateFactoryBasePtr
(
new
Wait
(stateData));
71
}
72
armarx::ObjectLocalization::Wait::onExit
void onExit() override
Definition:
Wait.cpp:60
armarx::XMLStateConstructorParams
Definition:
XMLState.h:50
armarx::ObjectLocalization::Wait::CreateInstance
static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData)
Definition:
Wait.cpp:68
armarx::ObjectLocalization::Wait::run
void run() override
Definition:
Wait.cpp:47
IceInternal::Handle
Definition:
forward_declarations.h:8
ARMARX_DEBUG
#define ARMARX_DEBUG
Definition:
Logging.h:177
armarx::ObjectLocalization::Wait::Registry
static SubClassRegistry Registry
Definition:
Wait.h:45
armarx::ObjectLocalization::Wait::onEnter
void onEnter() override
Definition:
Wait.cpp:36
armarx::TimeUtil::Sleep
static void Sleep(IceUtil::Time duration)
lock the calling thread for a given duration (like usleep(...) but using Timeserver time)
Definition:
TimeUtil.cpp:76
armarx::ObjectLocalization::Wait::Wait
Wait(const XMLStateConstructorParams &stateData)
Definition:
Wait.h:32
armarx::TimeUtil::GetTime
static IceUtil::Time GetTime(TimeMode timeMode=TimeMode::VirtualTime)
Get the current time.
Definition:
TimeUtil.cpp:42
armarx::XMLStateFactoryBasePtr
IceInternal::Handle< XMLStateFactoryBase > XMLStateFactoryBasePtr
Definition:
XMLState.h:65
TimeUtil.h
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition:
ArmarXTimeserver.cpp:28
Wait.h
RobotSkillTemplates
statecharts
ObjectLocalization
substates
Wait.cpp
Generated on Sat Oct 12 2024 09:14:13 for armarx_documentation by
1.8.17