25#include <SimoxUtility/json.h>
40 armem::MemoryID robotEntityId{
"RobotState",
"Proprioception",
"Armar7",
"Armar7"};
42 std::vector<std::string> jointNames{
44 "Neck_2_Hemisphere_A",
45 "Neck_3_Hemisphere_B",
48 for (
const std::string& jointName : jointNames)
50 std::vector<std::string> attributes{
60 for (
const std::string& attribute : attributes)
62 properties.memoryToDebugObserver.plottedValues.push_back({
63 .entityID = robotEntityId,
64 .aronPath = {{
"joints", attribute, jointName}},
66 properties.memoryToDebugObserver.plottedValues.push_back({
67 .entityID = robotEntityId,
68 .aronPath = {{
"extraLongs", jointName +
".absoluteEncoderTicks"}},
73 simox::json::json j = properties.memoryToDebugObserver;
74 properties.memoryToDebugObserverJson = j.dump();
76 defs->optional(properties.memoryToDebugObserverJson,
77 "p.memoryToDebugObserverJson",
78 "Configuration of MemoryToDebugObserver in JSON format.");
80 defs->optional(properties.pollFrequencyHz,
"p.pollFrequencyHz");
92 return "MemoryToDebugObserver";
101 simox::json::json j = simox::json::json::parse(properties.memoryToDebugObserverJson);
102 j.get_to(properties.memoryToDebugObserver);
136 properties.memoryToDebugObserver, services};
140 while (task and not task->isStopped())
142 memoryToDebugObserver.pollOnce();
153 tab.group.setLabel(
"Todo ...");
162 if (tab.rebuild.exchange(
false))
Default component property definition container.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
plugins::DebugObserverComponentPlugin & getDebugObserverComponentPlugin()
void setDebugObserverBatchModeEnabled(bool enable)
static Frequency Hertz(std::int64_t hertz)
std::string getName() const
Retrieve name of object.
MemoryNameSystem & memoryNameSystem()
Transfers data from memory servers to the DebugObserver.
Simple rate limiter for use in loops to maintain a certain frequency given a clock.
Duration waitForNextTick() const
Wait and block until the target period is met.
void onInitComponent() override
Pure virtual hook for the subclass.
void onDisconnectComponent() override
Hook for subclass.
void RemoteGui_update() override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onConnectComponent() override
Pure virtual hook for the subclass.
void onExitComponent() override
Hook for subclass.
void createRemoteGuiTab()
std::string getDefaultName() const override
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
void RemoteGui_startRunningTask()
void RemoteGui_createTab(std::string const &name, RemoteGui::Client::Widget const &rootWidget, RemoteGui::Client::Tab *tab)