Romi Network Table data not showing in Simulator

The NodeJS application running on the Romi’s RaspberryPi creates a Network Table instance named Romi containing Information and Status subtables. However, these tables do not show up on either the Simulator or Shuffleboard. The log console output on the Romi webpage shows that it successfully creates a connection:
[NTCORE] info: Socket connected to 192.168.0.105:1735
However, the no data is display in the Simulator. I’ve tried this with Romi connected with a Static IP and in Bridge mode, but no data is showing. I’ve tried restarting the Romi background service but it disconnects its WebSocket from the Simulator and never reconnects. I have to restart the Simulator. The camera server Network Tables connect successfully. I’ve been working on this for several hours now and I’m out of ideas.
Does anyone know what I can try next?
Thank you.

Can you try (temporarily) disabling any firewall you have running and see if that helps?

Disabling the firewall has no effect. Data is still not showing. Here’s the log output: It connects successfully.
2021-05-27T00:02:18.671Z [ROMI] info: New WS Connection from 192.168.0.105
2021-05-27T00:02:18.673Z [SVC-DS] info: Advertised NT Server address updated to: 192.168.0.105
2021-05-27T00:02:18.674Z [MAIN] info: Starting NT Client
2021-05-27T00:02:18.675Z [NTCORE] info: Creating new NT client
2021-05-27T00:02:18.777Z [ROMI] info: DS Packet Heartbeat Acquired
2021-05-27T00:02:18.778Z [ROMI] info: Robot DISABLED
2021-05-27T00:02:19.726Z [NTCORE] info: Socket connected to 192.168.0.105:1735

The robot program running on the laptop also shows a connection. There’s just no data table displayed in the Simulator for Romi. I also have the color sensor connected and configured via the /boot/romi.json but there’s no data from that either.

I have a question though you all are more knowledgeable than I am about troubleshooting this.
I wonder, are you able to get data out of the camera server correctly? I have found that on our school-issued machines, everything works well with the Romi and Network Tables until we try connecting to the Romi’s Network Table. So, we can get all the simulator data from the Romi in both the simulator and shuffleboard (gyro, encoder, etc), but the vision does not work. Changing nothing other than the computer (same Romi, same Code), vision works fine if we use the team machines.

I see all of the data from the camera server which works consistently. However, your comment was very interesting and lead me to conduct following test:

  1. Stop the camera server uploads by setting the Vision Settings to Server.
  2. Start the Simulator at which point the Romi table showed up in the Simulator.
  3. Switch the camera server back to Client.
  4. Now I have both Romi and Camera server tables in the Simulator. Success!
    But wait!
  5. Restart the Simulator and the Romi table is gone even though the Romi’s NT successfully reconnects.

Seems like the camera server tables somehow block the Romi tables from displaying.
Does anyone have an idea on what may be causing that?

That is interesting. Though I have no idea why the two cannot coexist, is a temporary hack to just add either the camera data to your new network table or the new data to the cameraserver table?

This might also be a bug in the JS implementation of network tables that the Romi is using. I can take a look and see if I can find anything

So I gave that a go by modifying the index.js and the custom-devices.js on the Romi to point to the camera server Network Tables. It did not show up in those tables on the Simulator. I then followed the procedure that I described above and the data did show up in the camera server tables. That didn’t really gain me anything although it was a good experiment to try.

The camera server NT connection & display in the Simulator works really well. I can Terminate it, take it Up and Down and it consistently reconnects to the Simulator. However, for the Romi once you recycle it, the connection to the Simulator is permanently lost.

2 Likes

I just want to chime in and say, first of all, thank you, because this thread helped me figure out how to do the gyro calibration, and also to let you all know that I too am noticing this behavior.

I tried this with both Photon and the normal vision (multi-camera stream), and am seeing the same results. This is true when I am pushing data from the simulator to the Romi as well (to calibrate the Gyro).

Hi zeequeue, Did you get a chance to look into this issue of Romi NT info not showing in the Simulator. Thank you.

Whoops sorry, missed this. I think I know where the bug is, just need to put in a fix. Sorry for the delay! This day job thing is infringing on my FRC time!

2 Likes