Skip to content

Commit 26eea02

Browse files
committed
setting and configuration during constructure needs to surppress the
event, which will create a new ling infinitly
1 parent 2030a93 commit 26eea02

File tree

4 files changed

+34
-17
lines changed

4 files changed

+34
-17
lines changed

src/main/java/com/neuronrobotics/sdk/addons/kinematics/LinkConfiguration.java

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
*/
2525
public class LinkConfiguration implements ITransformNRChangeListener {
2626
private ArrayList<ILinkConfigurationChangeListener> listeners = null;
27+
private boolean pauseEvents=false;
2728
/** The name. */
2829
private String name = "newLink";// = getTagValue("name",eElement);
2930

@@ -351,23 +352,23 @@ public LinkConfiguration(LinkConfiguration from) {
351352
}
352353
setName(from.getName());
353354

354-
setTypeString(getTypeString());
355-
setHardwareIndex(getHardwareIndex());
356-
setScale(getScale());
357-
setUpperLimit(getUpperLimit());
358-
setLowerLimit(getLowerLimit());
359-
setUpperVelocity(getUpperVelocity());
360-
setStaticOffset(getStaticOffset());
361-
setDeviceTheoreticalMax(getDeviceTheoreticalMax());
362-
setDeviceTheoreticalMin(getDeviceTheoreticalMin());
363-
setLatch(isLatch());
364-
setIndexLatch(getIndexLatch());
365-
setStopOnLatch(isStopOnLatch());
366-
setHomingTicksPerSecond(getHomingTicksPerSecond());
367-
setPassive(isPassive());
368-
setMassKg(getMassKg());
369-
setCenterOfMassFromCentroid(getCenterOfMassFromCentroid());
370-
setimuFromCentroid(getimuFromCentroid());
355+
setTypeString(from.getTypeString());
356+
setHardwareIndex(from.getHardwareIndex());
357+
setScale(from.getScale());
358+
setUpperLimit(from.getUpperLimit());
359+
setLowerLimit(from.getLowerLimit());
360+
setUpperVelocity(from.getUpperVelocity());
361+
setStaticOffset(from.getStaticOffset());
362+
setDeviceTheoreticalMax(from.getDeviceTheoreticalMax());
363+
setDeviceTheoreticalMin(from.getDeviceTheoreticalMin());
364+
setLatch(from.isLatch());
365+
setIndexLatch(from.getIndexLatch());
366+
setStopOnLatch(from.isStopOnLatch());
367+
setHomingTicksPerSecond(from.getHomingTicksPerSecond());
368+
setPassive(from.isPassive());
369+
setMassKg(from.getMassKg());
370+
setCenterOfMassFromCentroid(from.getCenterOfMassFromCentroid());
371+
setimuFromCentroid(from.getimuFromCentroid());
371372

372373
}
373374

@@ -1112,6 +1113,8 @@ public ArrayList<ILinkConfigurationChangeListener> getListeners() {
11121113
}
11131114

11141115
void fireChangeEvent() {
1116+
if(pauseEvents)
1117+
return;
11151118
if (listeners != null) {
11161119
for (int i = 0; i < listeners.size(); i++) {
11171120
try {
@@ -1128,4 +1131,12 @@ public void event(TransformNR changed) {
11281131
fireChangeEvent();
11291132
}
11301133

1134+
public boolean isPauseEvents() {
1135+
return pauseEvents;
1136+
}
1137+
1138+
public void setPauseEvents(boolean pauseEvents) {
1139+
this.pauseEvents = pauseEvents;
1140+
}
1141+
11311142
}

src/main/java/com/neuronrobotics/sdk/addons/kinematics/MockRotoryLink.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ public MockRotoryLink(LinkConfiguration conf) {
2121
setUpperLimit(355);
2222
setScale(Math.PI/180);
2323
setTargetValue(35);
24+
conf.setPauseEvents(true);
2425
conf.setDeviceTheoreticalMax(Integer.MAX_VALUE);
2526
conf.setDeviceTheoreticalMin(Integer.MIN_VALUE);
27+
conf.setPauseEvents(false);
2628
}
2729

2830
/* (non-Javadoc)

src/main/java/com/neuronrobotics/sdk/addons/kinematics/PidPrismaticLink.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ public class PidPrismaticLink extends AbstractPrismaticLink{
2424
public PidPrismaticLink(PIDChannel c,LinkConfiguration conf, boolean b) {
2525
super(conf);
2626
if(!b) {
27+
conf.setPauseEvents(true);
2728
conf.setDeviceTheoreticalMax(Integer.MAX_VALUE);
2829
conf.setDeviceTheoreticalMin(Integer.MIN_VALUE);
30+
conf.setPauseEvents(false);
2931
}else {
3032
// conf.setDeviceTheoreticalMax(conf.getUpperLimit());
3133
// conf.setDeviceTheoreticalMin(conf.getLowerLimit());

src/main/java/com/neuronrobotics/sdk/addons/kinematics/PidRotoryLink.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ public class PidRotoryLink extends AbstractRotoryLink{
2424
public PidRotoryLink(PIDChannel c,LinkConfiguration conf, boolean b) {
2525
super(conf);
2626
if(!b) {
27+
conf.setPauseEvents(true);
2728
conf.setDeviceTheoreticalMax(Integer.MAX_VALUE);
2829
conf.setDeviceTheoreticalMin(Integer.MIN_VALUE);
30+
conf.setPauseEvents(false);
2931
}else {
3032
// conf.setDeviceTheoreticalMax(conf.getUpperLimit());
3133
// conf.setDeviceTheoreticalMin(conf.getLowerLimit());

0 commit comments

Comments
 (0)