Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   Error on using network tables from smartdashboard. (http://www.chiefdelphi.com/forums/showthread.php?t=110805)

Stonemotmot 09-01-2013 09:32

Error on using network tables from smartdashboard.
 
Hello, I am trying to send some simple double values from the smart dashboard to the robot the problem is the data does not appear to be recieved and I get a flood of messages from the network tables such as the ones below.
Quote:

connection state: GOT_CONNECTION_FROM_CLIENT
edu.wpi.first.wpilibj.networktables2.server.Server ConnectionAdapter@14f entered
connection state: SERVER_ERROR: class
edu.wpi.first.wpilibj.networktables2.connection.Ba dMessageException: Unknown Network Table Message Type: 12
Close: edu.wpi.first.wpilibj.networktables2.server.Server ConnectionAdapter@14f
The Code I use is as follows
Code:

SmartDashboard Code
------------------------------
public static NetworkTable table;
public int network=0;
public WPIImage processImage (WPIColorImage image)
{
    if (network==0)
    {
    NetworkTable.setIPaddress("10.4.86.2");
    table = NetworkTable.getTable("camera");
    network=1
      }
      table.putDouble("AREA", 2);

}

Robot Code
------------------------------
public static NetworkTable cameraTable = NetworkTable.getTable("camera");

function()
{
System.out.println(cameraTable.getNumber("AREA",-1);
}

The above code displays the previous error and -1(the default output)
Any help is much appreciated.

MagiChau 09-01-2013 09:36

Re: Error on using network tables from smartdashboard.
 
I believe you have to actually create a table called camera before you can try to get anything from it. I don't have access to the javadocs for the NetworkTable right now.

Stonemotmot 09-01-2013 09:40

Re: Error on using network tables from smartdashboard.
 
Quote:

Originally Posted by MagiChau (Post 1211358)
I believe you have to actually create a table called camera before you can try to get anything from it. I don't have access to the javadocs for the NetworkTable right now.

The description in the java doc for getTable() is
Quote:

Gets the table with the specified key. If a table does not excist, a new table will be created. This will automatically initialize network tables if it has not been already.
to mean that means that no seprate creation is nessasary, but if im wrong how do i create one?

MagiChau 09-01-2013 09:54

Re: Error on using network tables from smartdashboard.
 
The actual error appears to be "Unknown Network Table Message Type: 12"

I actually was on the wrong track then. It is an issue with communicating using table "camera" probably when you are trying to retrieve a number or it could be when you put the number in.

Perhaps someone else more experienced can help you, I am trying to guess the most likely errors.

Stonemotmot 09-01-2013 10:15

Re: Error on using network tables from smartdashboard.
 
I have been trying to find a solution using what you said but I still cant figure out what is wrong.

MagiChau 09-01-2013 10:48

Re: Error on using network tables from smartdashboard.
 
You put in a number under the key of "area" but you try to retrieve with the key "RED_AREA" try changing "RED_AREA" to "area" when you use getNumber()

Stonemotmot 09-01-2013 11:03

Re: Error on using network tables from smartdashboard.
 
Quote:

Originally Posted by MagiChau (Post 1211396)
You put in a number under the key of "area" but you try to retrieve with the key "RED_AREA" try changing "RED_AREA" to "area" when you use getNumber()

Oh sorry that was a miss type in the post. In my actual code they are the same. Sorry for the confusion.

Joe Ross 09-01-2013 11:55

Re: Error on using network tables from smartdashboard.
 
If I had to guess, I'd say your smartdashboard code is using Network Tables Version 1, while the cRIO is running a Network Tables 2 server.

F22Rapture 09-01-2013 12:30

Re: Error on using network tables from smartdashboard.
 
Quote:

Originally Posted by Joe Ross (Post 1211425)
If I had to guess, I'd say your smartdashboard code is using Network Tables Version 1, while the cRIO is running a Network Tables 2 server.

Is there any documentation specifically for using NetworkTables2 yet? I noticed the documents for NT on screensteps are still empty.

mitchellweb1 09-01-2013 16:02

Re: Error on using network tables from smartdashboard.
 
Yes I believe this is the error which you will get if the smart dashboard is running the old version of Network Tables.
You can go here to get the latest version of SmartDashboard which uses NetworkTables2
http://wpilib.screenstepslive.com/s/...sion-installer

Stonemotmot 09-01-2013 19:26

Re: Error on using network tables from smartdashboard.
 
Thanks for everyones' input. I have re-installed the dashboard and no longer get the error. However the data is still not sent from the dashboard to the network tables. I have used the NetworkTable Viewer to determine that the Robot communicates with the Network Tables just fine, but the dashboard seems unable to. I used the code below on the robot to put and retrieve values and this works just fine.
Code:

NetworkTable.getTable("MyTable").putDouble("AREA", 5);
System.out.println(NetworkTable.getTable("MyTable").getNumber("AREA",-1));

I have had no success repeating this on the dashboard however. If someone could post some SmartDashboard network table code from this season using the new crio image and new SmartDashboard I would very much appreciate it. :D

mitchellweb1 09-01-2013 19:48

Re: Error on using network tables from smartdashboard.
 
You have to put values using the SmartDashboard class
For example http://wpilib.screenstepslive.com/s/...-robot-program
SmartDashboard only looks at a single table in networktables so that you can use other tables to send data to other programs but not have it show up on the SmartDashboard

You can also find more info on the SmartDashboard here http://wpilib.screenstepslive.com/s/3120/m/7932

Stonemotmot 09-01-2013 20:00

Re: Error on using network tables from smartdashboard.
 
I might be wrong, but I thought the SmartDashboard class could only be used on the robot not in the dashboard itself(don't have it in front of me at the moment)
I am trying to send data from the dashboard to the robot not the other way around. Should I use a table called "SmartDashboard" would that work?

mitchellweb1 10-01-2013 14:46

Re: Error on using network tables from smartdashboard.
 
Sorry I misunderstood your question. You should be able to do Robot.getTable() to get the SmartDashboard table from the plugin.

Stonemotmot 10-01-2013 15:23

Re: Error on using network tables from smartdashboard.
 
Quote:

Originally Posted by mitchellweb1 (Post 1212402)
Sorry I misunderstood your question. You should be able to do Robot.getTable() to get the SmartDashboard table from the plugin.

Thank you! that did it.


All times are GMT -5. The time now is 09:49.

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