[ntcore] Don't update timestamp when value is unchanged (#5356)

This fixes an issue with commands run/cancel.
This commit is contained in:
Carl Hauser
2023-07-23 17:36:26 -07:00
committed by GitHub
parent 5ec7f18bdc
commit c3fab7f1f2
4 changed files with 121 additions and 30 deletions

View File

@@ -13,6 +13,8 @@ import edu.wpi.first.networktables.GenericEntry;
import edu.wpi.first.networktables.NetworkTableEntry;
import edu.wpi.first.networktables.NetworkTableEvent.Kind;
import edu.wpi.first.networktables.NetworkTableInstance;
import edu.wpi.first.networktables.PubSubOption;
import edu.wpi.first.networktables.StringSubscriber;
import java.util.EnumSet;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.jupiter.api.AfterEach;
@@ -129,10 +131,13 @@ class ShuffleboardInstanceTest {
void testDuplicateSelectTabs() {
int listener = 0;
AtomicInteger counter = new AtomicInteger();
try {
try (StringSubscriber subscriber =
m_ntInstance
.getStringTopic("/Shuffleboard/.metadata/Selected")
.subscribe("", PubSubOption.keepDuplicates(true)); ) {
listener =
m_ntInstance.addListener(
m_ntInstance.getStringTopic("/Shuffleboard/.metadata/Selected"),
subscriber,
EnumSet.of(Kind.kValueAll, Kind.kImmediate),
event -> counter.incrementAndGet());