Java for robot programming.
2.50.24 for RoboRealm version (just updated this morning).
We have been using RoboRealm and the SocketCommunication module to get the variables down to the robot (so we had a server thread running on the bot). I wanted to move to NetworkTables … in part to free up the port for something else.
However, when I added the NetworkTables module to RoboRealm according to the instructions (see the attached picture of the settings, which seem to be right based on what I read), I get exceptions thrown on the robot (pasted in at the end of this post). I took a quick look through the NetworkTables code, and nothing jumpted out at me.
It appears to be ‘connecting’, as it offers up all the rest of the variables we have in the table from the robot as something to read. And, when playing around with it, during a reboot and a power cycle, I get messages in RoboRealm about “Write Failure! Disconnected from server”.
At this point I have no code in the robot trying to read them. But if I run the TableViewer application, the variables from RoboRealm never show up in it - which I am assuming they would if it were working.
I’m assuming it is something really simple …
edu.wpi.first.wpilibj.networktables2.server.ServerConnectionAdapter@1e entered connection state: GOT_CONNECTION_FROM_CLIENT
[frcrun] [cRIO] edu.wpi.first.wpilibj.networktables2.server.ServerConnectionAdapter@1e entered connection state: CONNECTED_TO_CLIENT
[frcrun] [cRIO] Uncaught exception in Thread.run():
[frcrun] [cRIO] on thread Server Connection Reader Thread
[frcrun] [cRIO] java.lang.IllegalStateException: Cannot set the Id of a table entry that already has a valid id
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.NetworkTableEntry.setId(NetworkTableEntry.java:147)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.server.ServerNetworkTableEntryStore.addEntry(ServerNetworkTableEntryStore.java:32)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.AbstractNetworkTableEntryStore.offerIncomingAssignment(AbstractNetworkTableEntryStore.java:146)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.server.ServerConnectionAdapter.offerIncomingAssignment(ServerConnectionAdapter.java:106)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.connection.NetworkTableConnection.read(NetworkTableConnection.java:147)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.connection.ConnectionMonitorThread.run(ConnectionMonitorThread.java:30)
[frcrun] [cRIO] at edu.wpi.first.wpilibj.networktables2.thread.DefaultThreadManager$PeriodicNTThread$1.run(DefaultThreadManager.java:18)
[frcrun] [cRIO] at java.lang.Thread.run(231)
[frcrun] [cRIO] in virtual method #47 of com.sun.squawk.VMThread(bci=42)
[frcrun] [cRIO] in static method #3 of com.sun.squawk.VM(bci=6)