diff --git a/alica_engine/src/engine/RunnableObject.cpp b/alica_engine/src/engine/RunnableObject.cpp index e7e45df0c..079e3ce95 100644 --- a/alica_engine/src/engine/RunnableObject.cpp +++ b/alica_engine/src/engine/RunnableObject.cpp @@ -55,8 +55,8 @@ void RunnableObject::stop() stopRunCalls(); doTerminate(); - cleanupBlackboard(); _runnableObjectTracer.cleanupTraceContext(); + cleanupBlackboard(); _started = false; } @@ -70,9 +70,10 @@ void RunnableObject::start(RunningPlan* rp) _runningplanContext = rp; + setupBlackboard(); + // setup the trace context after setting up the blackboard so that the blackboard can be used for setting up custom tracing // TODO cleanup: pass trace factory in constructor. can't do now as _engine isn't available _runnableObjectTracer.setupTraceContext(_name, _runningplanContext, _engine->getTraceFactory()); - setupBlackboard(); doInit(); scheduleRunCalls(); } diff --git a/supplementary/alica_ros_proxy/test/alica_ros_timer_tests.cpp b/supplementary/alica_ros_proxy/test/alica_ros_timer_tests.cpp index cb9999f7a..ffb516f07 100644 --- a/supplementary/alica_ros_proxy/test/alica_ros_timer_tests.cpp +++ b/supplementary/alica_ros_proxy/test/alica_ros_timer_tests.cpp @@ -63,7 +63,7 @@ TEST(SyncStopTimerRosTest, CbFrequencyCheck) double period = i / 1000.0, totDuration = 1.1, sleepBuffer = 0.1 * totDuration; int expCbCnt = totDuration / period; expCbCnt = expCbCnt - 0.2 * expCbCnt; - double periodUpperLimit = 0.3 * period + period, periodLowerLimit = period - 0.1 * period; + double periodUpperLimit = 0.3 * period + period, periodLowerLimit = period - 0.2 * period; ros::Time lastCbTime; bool freqLess = false, freqMore = false;