39 public yarp::dev::WrapperSingle,
40 public yarp::os::PeriodicThread
47 bool open(yarp::os::Searchable & config)
override;
48 bool close()
override;
51 bool attach(yarp::dev::PolyDriver * poly)
override;
52 bool detach()
override;
58 bool configureHandle();
60 yarp::dev::PolyDriver cartesianControlDevice;
62 yarp::os::RpcServer rpcServer, rpcTransformServer;
63 yarp::os::BufferedPort<yarp::os::Bottle> fkOutPort, commandPort;
86 { iCartesianControl = _iCartesianControl; }
88 bool respond(
const yarp::os::Bottle & in, yarp::os::Bottle & out)
override;
92 virtual bool transformIncomingData(std::vector<double> & vin)
95 virtual bool transformOutgoingData(std::vector<double> & vout)
101 using FunctionFun = bool (
ICartesianControl::*)(
const std::vector<double> &, std::vector<double> &);
103 bool handleStatMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
104 bool handleWaitMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
105 bool handleActMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
107 bool handleRunnableCmdMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out, RunnableFun cmd);
108 bool handleConsumerCmdMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out, ConsumerFun cmd);
109 bool handleFunctionCmdMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out, FunctionFun cmd);
111 bool handleParameterSetter(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
112 bool handleParameterGetter(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
114 bool handleParameterSetterGroup(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
115 bool handleParameterGetterGroup(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
152 { iCartesianControl = _iCartesianControl;}
154 void onRead(yarp::os::Bottle & b)
override;
158 using BiConsumerFun = void (
ICartesianControl::*)(
const std::vector<double> &,
double);
160 void handleConsumerCmdMsg(
const yarp::os::Bottle & in, ConsumerFun cmd);
161 void handleBiConsumerCmdMsg(
const yarp::os::Bottle & in, BiConsumerFun cmd);