From f006bb0bb1681c9bfc42e4db03c61ce6035067c2 Mon Sep 17 00:00:00 2001 From: jgvictores Date: Tue, 21 Jan 2020 19:00:39 +0100 Subject: [PATCH] use explicit prefix+suffix on ports --- .../DeviceDriverImpl.cpp | 24 ++++++++++--------- .../RealToSimControlboard/README.md | 4 ++-- .../RealToSimControlboard/lacqueyFetch.ini | 14 ++++++----- .../RealToSimControlboard/leftDextra.ini | 22 +++++++++-------- 4 files changed, 35 insertions(+), 29 deletions(-) diff --git a/libraries/YarpPlugins/RealToSimControlboard/DeviceDriverImpl.cpp b/libraries/YarpPlugins/RealToSimControlboard/DeviceDriverImpl.cpp index ae5d502..10f4692 100644 --- a/libraries/YarpPlugins/RealToSimControlboard/DeviceDriverImpl.cpp +++ b/libraries/YarpPlugins/RealToSimControlboard/DeviceDriverImpl.cpp @@ -26,7 +26,11 @@ bool RealToSimControlboard::open(yarp::os::Searchable& config) } CD_DEBUG("%s\n", controlledDeviceList->toString().c_str()); - std::string name = config.find("name").asString(); + std::string remotePrefix; + if(config.check("remotePrefix", "global prefix to remote ports")) + { + remotePrefix = config.find("remotePrefix").asString(); + } std::map controlledDeviceNameToIdx; for(size_t controlledDeviceIdx=0; controlledDeviceIdx< controlledDeviceList->size(); controlledDeviceIdx++) @@ -43,18 +47,16 @@ bool RealToSimControlboard::open(yarp::os::Searchable& config) yarp::os::Property controlledDeviceOptions; controlledDeviceOptions.fromString(controlledDeviceGroup.toString()); - if(controlledDeviceOptions.check("remote")) + if(controlledDeviceOptions.check("remoteSuffix", "suffix used for local and remote of each remote_controlboard")) { - std::string remote(name); - remote += controlledDeviceOptions.find("remote").asString(); - controlledDeviceOptions.unput("remote"); + std::string remote(remotePrefix); + remote += controlledDeviceOptions.find("remoteSuffix").asString(); + controlledDeviceOptions.unput("remoteSuffix"); controlledDeviceOptions.put("remote",remote); - } - if(controlledDeviceOptions.check("local")) - { - std::string local(name); - local += controlledDeviceOptions.find("local").asString(); - controlledDeviceOptions.unput("local"); + + std::string local(remotePrefix); + local += controlledDeviceOptions.find("localSuffix").asString(); + controlledDeviceOptions.unput("localSuffix"); controlledDeviceOptions.put("local",local); } diff --git a/libraries/YarpPlugins/RealToSimControlboard/README.md b/libraries/YarpPlugins/RealToSimControlboard/README.md index 14a68ca..bcc7fbe 100644 --- a/libraries/YarpPlugins/RealToSimControlboard/README.md +++ b/libraries/YarpPlugins/RealToSimControlboard/README.md @@ -19,7 +19,7 @@ teoSim dextra ``` ```bash -yarpdev --device RealToSimControlboard --context RealToSimControlboard --from leftDextra.ini --name /teoSim/leftDextra +yarpdev --device RealToSimControlboard --context RealToSimControlboard --from leftDextra.ini --name /teoSim/leftHand --remotePrefix /teoSim/leftDextra ``` ## Example with Lacquey Fetch @@ -37,5 +37,5 @@ teoSim ``` ```bash -yarpdev --device RealToSimControlboard --context RealToSimControlboard --from lacqueyFetch.ini --name /teoSim/leftLacqueyFetch +yarpdev --device RealToSimControlboard --context RealToSimControlboard --from lacqueyFetch.ini --name /teoSim/leftHand --remotePrefix /teoSim/leftLacqueyFetch ``` diff --git a/share/contexts/RealToSimControlboard/lacqueyFetch.ini b/share/contexts/RealToSimControlboard/lacqueyFetch.ini index 4532d64..adb97de 100644 --- a/share/contexts/RealToSimControlboard/lacqueyFetch.ini +++ b/share/contexts/RealToSimControlboard/lacqueyFetch.ini @@ -3,22 +3,24 @@ name /lacqueyFetch period 60 +remotePrefix /lacqueyFetch + remotes (externalFinger internalFinger thumb) [externalFinger] device remote_controlboard -local /realToSimControlboard/externalFinger -remote /externalFinger +localSuffix /realToSimControlboard/externalFinger +remoteSuffix /externalFinger [internalFinger] device remote_controlboard -local /realToSimControlboard/internalFinger -remote /internalFinger +localSuffix /realToSimControlboard/internalFinger +remoteSuffix /internalFinger [thumb] device remote_controlboard -local /realToSimControlboard/thumb -remote /thumb +localSuffix /realToSimControlboard/thumb +remoteSuffix /thumb [exposed_joint_0] externalFinger (joint 0 transformation linear m 1 b 0) diff --git a/share/contexts/RealToSimControlboard/leftDextra.ini b/share/contexts/RealToSimControlboard/leftDextra.ini index addad74..2166dbd 100644 --- a/share/contexts/RealToSimControlboard/leftDextra.ini +++ b/share/contexts/RealToSimControlboard/leftDextra.ini @@ -3,32 +3,34 @@ name /leftDextra period 60 +remotePrefix /leftDextra + remotes (thumb index middle ring pinky) [thumb] device remote_controlboard -local /realToSimControlboard/thumb -remote /thumb +localSuffix /realToSimControlboard/thumb +remoteSuffix /thumb [index] device remote_controlboard -local /realToSimControlboard/index -remote /index +localSuffix /realToSimControlboard/index +remoteSuffix /index [middle] device remote_controlboard -local /realToSimControlboard/middle -remote /middle +localSuffix /realToSimControlboard/middle +remoteSuffix /middle [ring] device remote_controlboard -local /realToSimControlboard/ring -remote /ring +localSuffix /realToSimControlboard/ring +remoteSuffix /ring [pinky] device remote_controlboard -local /realToSimControlboard/pinky -remote /pinky +localSuffix /realToSimControlboard/pinky +remoteSuffix /pinky [exposed_joint_0] thumb (joint 0 transformation linear m 1 b 0)