39 public yarp::dev::WrapperSingle,
40 public yarp::os::PeriodicThread,
48 bool open(yarp::os::Searchable & config)
override;
49 bool close()
override;
52 bool attach(yarp::dev::PolyDriver * poly)
override;
53 bool detach()
override;
59 yarp::os::RpcServer rpcServer, rpcTransformServer;
60 yarp::os::BufferedPort<yarp::os::Bottle> fkOutPort, commandPort;
86 { iCartesianControl = _iCartesianControl; }
89 { iCartesianControl =
nullptr; }
91 bool respond(
const yarp::os::Bottle & in, yarp::os::Bottle & out)
override;
95 virtual bool transformIncomingData(std::vector<double> & vin)
98 virtual bool transformOutgoingData(std::vector<double> & vout)
104 using FunctionFun = bool (
ICartesianControl::*)(
const std::vector<double> &, std::vector<double> &);
106 bool handleStatMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
107 bool handleWaitMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
108 bool handleActMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
110 bool handleRunnableCmdMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out, RunnableFun cmd);
111 bool handleConsumerCmdMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out, ConsumerFun cmd);
112 bool handleFunctionCmdMsg(
const yarp::os::Bottle & in, yarp::os::Bottle & out, FunctionFun cmd);
114 bool handleParameterSetter(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
115 bool handleParameterGetter(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
117 bool handleParameterSetterGroup(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
118 bool handleParameterGetterGroup(
const yarp::os::Bottle & in, yarp::os::Bottle & out);
155 { iCartesianControl = _iCartesianControl;}
158 { iCartesianControl =
nullptr; }
160 void onRead(yarp::os::Bottle & b)
override;
164 using BiConsumerFun = void (
ICartesianControl::*)(
const std::vector<double> &,
double);
166 void handleConsumerCmdMsg(
const yarp::os::Bottle & in, ConsumerFun cmd);
167 void handleBiConsumerCmdMsg(
const yarp::os::Bottle & in, BiConsumerFun cmd);