Log in

View Full Version : Weird networktables error?


clandry94
22-01-2013, 19:39
We are having trouble with a networktables issue that randomly showed up without changing any code.....


NetworkTable networktable;
networktable.getTable("robo");
networktable.getNumber("x");

We had a simple code like this. Robo is a table made from roborealm and x is a double value from roborealm. When we run the code and start the subsystem we get this error.

[cRIO] java.lang.ClassCastException: Expected object of type class java.lang.Double but got object of type class com.sun.squawk.StringOfBytes
[cRIO] at edu.wpi.first.wpilibj.networktables2.NetworkTableN ode.getDouble(NetworkTableNode.java:52)
[cRIO] at edu.wpi.first.wpilibj.networktables.NetworkTable.g etNumber(NetworkTable.java:294)

We know for sure that the number being sent is a double so what gives?

Arhowk
22-01-2013, 19:42
Are you sure the value your sending in RoboRealm is a double?

clandry94
22-01-2013, 19:44
It was working just two days ago with the same code and no modifications so I am fairly sure it is. Even if I wasn't, i'm using putnumber so it should still work even if it isn't.

clandry94
22-01-2013, 20:01
It seems it is an error with Roborealm not sending a double. Does anyone know how to get roborealm to send values as doubles?

Arhowk
22-01-2013, 20:24
It seems it is an error with Roborealm not sending a double. Does anyone know how to get roborealm to send values as doubles?

I just spent the last two hours working on roborealm and im incredibilly frustrated.

My main problem is that the variable [BOUNDING_COORDINATES] does not update! Im able to send a string that has the different values of the bounding rects but when i move the robot the variable doesnt update it unless i change it to a different variable than change it back to [BOUNDING_COORDINATES]

also, it seems that your unable to change the values of the keys. You have to get a new key but define it as a double before you use it

clandry94
22-01-2013, 20:26
I just spent the last two hours working on roborealm and im incredibilly frustrated.

My main problem is that the variable [BOUNDING_COORDINATES] does not update! Im able to send a string that has the different values of the bounding rects but when i move the robot the variable doesnt update it unless i change it to a different variable than change it back to [BOUNDING_COORDINATES]

also, it seems that your unable to change the values of the keys. You have to get a new key but define it as a double before you use it

How would I define it as a double? Also, in response to the problem you are having: make sure to restart roborealm after each time you upload code to the robot or else networktables won't update from the sent variable anymore!

Arhowk
22-01-2013, 21:04
How would I define it as a double? Also, in response to the problem you are having: make sure to restart roborealm after each time you upload code to the robot or else networktables won't update from the sent variable anymore!

i had that issue too, but updating from .17 > .18 fixed that.

to edfine it as a double, use


NetworkTable.getTable(?).remove(your key)
NetworkTable.getTable(?).putNumber(your key)