22 using TechnosoftIposBase::TechnosoftIposBase;
26 bool open(yarp::os::Searchable & config)
override;
27 bool close()
override;
35 bool getControlModeRaw(
int j,
int * mode)
override;
36 bool setControlModeRaw(
int j,
int mode)
override;
40 bool positionMoveRaw(
int j,
double ref)
override;
41 bool relativeMoveRaw(
int j,
double delta)
override;
42 bool checkMotionDoneRaw(
int j,
bool * flag)
override;
43 bool setRefSpeedRaw(
int j,
double sp)
override;
44 bool setRefAccelerationRaw(
int j,
double acc)
override;
45 bool getRefSpeedRaw(
int j,
double * ref)
override;
46 bool getRefAccelerationRaw(
int j,
double * acc)
override;
47 bool stopRaw(
int j)
override;
48 bool getTargetPositionRaw(
int joint,
double * ref)
override;
52 bool setPositionRaw(
int j,
double ref)
override;
53 bool getRefPositionRaw(
int joint,
double * ref)
override;
57 bool getRemoteVariableRaw(std::string key, yarp::os::Bottle & val)
override;
58 bool setRemoteVariableRaw(std::string key,
const yarp::os::Bottle & val)
override;
59 bool getRemoteVariablesListRaw(yarp::os::Bottle * listOfKeys)
override;
63 bool velocityMoveRaw(
int j,
double sp)
override;
64 bool getRefVelocityRaw(
int joint,
double * vel)
override;
67 void interpretModesOfOperation(std::int8_t modesOfOperation)
override;
68 void interpretIpStatus(std::uint16_t ipStatus)
override;
69 void onPositionLimitTriggered()
override;
70 void reset()
override;
76 std::bitset<16> ipStatus;
78 std::atomic<bool> ipMotionStarted {
false};
79 std::atomic<bool> ipBufferFilled {
false};
80 std::atomic<bool> ipBufferEnabled {
false};
82 std::atomic<bool> enableSync {
false};
83 std::atomic<bool> enableCsv {
false};
85 std::atomic<double> targetPosition {0.0};
86 std::atomic<double> targetVelocity {0.0};