Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   NetworkTables Issues (http://www.chiefdelphi.com/forums/showthread.php?t=134287)

Ozuru 10-02-2015 11:10

NetworkTables Issues
 
Hello,

I'm currently having some issues with NetworkTables. I've created a standalone-application for vision processing and would like to send data to the RoboRIO. I keep getting an exception saying that the key is not defined/it can't access it -- I fear it is not being created and am unsure if I'm doing something wrong. Here's what I'm doing.

Vision Processing Application:
Code:

public static NetworkTable outputTable;

---
//main thread of program
public void run() {
NetworkTable.setClientMode();
NetworkTable.setIPAddress("10.25.59.2");
outputTable = NetworkTable.getTable("vision");
}
---
// semi-pseudocode, if it finds the tote it invokes that function with those parameters
if(foundTote) {
outputTable.putBoolean("found_tote", true);
}

Robot Code:
Code:

public static NetworkTable visionTable;

---
// robotInit in Robot.java
public void robotInit() {
visionTable = NetworkTable.getTable("vision");
}

---
// SmartDashboard syncer/setter function
public void sendSensorData() {
try{
SmartDashboard.putBoolean("Found Tote", visionTable.getBoolean("found_tote"));
} catch(Exception e) {System.out.println(e);}
}

I have a feeling that I may need to do something else but, due to the limited documentation, I cannot find out what I'm doing wrong. I'd love to hear your ideas.

Thanks.

amreuland 10-02-2015 14:22

Re: NetworkTables Issues
 
You should have a default value with that getBoolean. Also, if the rio starts up before your program, its going to get an error, because your client has not set the value yet.

Code:

getBoolean("found_tote", false);
Use that to keep from getting error, and make sure your client is actually connecting.

Ozuru 11-02-2015 16:30

Re: NetworkTables Issues
 
Quote:

Originally Posted by amreuland (Post 1441326)
You should have a default value with that getBoolean. Also, if the rio starts up before your program, its going to get an error, because your client has not set the value yet.

Code:

getBoolean("found_tote", false);
Use that to keep from getting error, and make sure your client is actually connecting.

Thank you. I've added that default case now and I'm still having this error -- they're simply not communicating. Any ideas?


All times are GMT -5. The time now is 10:53.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi