Add keyed NT Data and listeners (#27)

* Add most of the missing NT data to NTDataConsumer

* Clean up unused data classes, refactor DataConsumer to CVPipelineResultConsumer

* Fix root table name and reference

* Update NTDataPublisher and VisionModule for listeners

* NPE fix, attempt to remove old NT Table on name change

* Fix NT connected log spam

* Apply spotless

* Move NT flush, fix raw data name
This commit is contained in:
Banks T
2020-07-12 12:29:30 -04:00
committed by GitHub
parent afc52815e7
commit 30b4b8d111
14 changed files with 234 additions and 268 deletions

View File

@@ -22,7 +22,7 @@ import java.util.HashMap;
import java.util.List;
import org.junit.jupiter.api.*;
import org.photonvision.common.configuration.CameraConfiguration;
import org.photonvision.common.datatransfer.DataConsumer;
import org.photonvision.common.dataflow.CVPipelineResultConsumer;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.frame.FrameProvider;
import org.photonvision.vision.frame.FrameStaticProperties;
@@ -105,16 +105,12 @@ public class VisionModuleManagerTest {
}
}
private static class TestDataConsumer implements DataConsumer {
private Data data;
private static class TestDataConsumer implements CVPipelineResultConsumer {
private CVPipelineResult result;
@Override
public void accept(Data data) {
this.data = data;
}
public Data getData() {
return data;
public void accept(CVPipelineResult result) {
this.result = result;
}
}
@@ -131,15 +127,14 @@ public class VisionModuleManagerTest {
VisionModuleManager.getInstance().addSources(sources);
var module0DataConsumer = new TestDataConsumer();
VisionModuleManager.getInstance().visionModules.get(0).addDataConsumer(module0DataConsumer);
VisionModuleManager.getInstance().visionModules.get(0).addResultConsumer(module0DataConsumer);
VisionModuleManager.getInstance().startModules();
sleep(500);
Assertions.assertNotNull(module0DataConsumer.data);
Assertions.assertNotNull(module0DataConsumer.data.result);
printTestResults(module0DataConsumer.data.result);
Assertions.assertNotNull(module0DataConsumer.result);
printTestResults(module0DataConsumer.result);
}
private static void printTestResults(CVPipelineResult pipelineResult) {