Moderate Lag With Dashboard

Hello,
We use Labview and have created a custom dashboard at the beginning of the season that we use to get information such a some sensor readings and a few values that we think that our drivers could make use of. We noticed from the beginning that it takes a few seconds for these values to update, probably around 2-2.5 seconds. This has become more and more annoying as the more values we have added and I would like to know if there is a remedy to this or any way to lower the lag on the values updating.

There are no problems or lag whatsoever with controls or the camera that we have on our robot. Both of those update and communicate perfectly but its just the custom value readings on the Dashboard that seem to have a 2 second or so refresh rate.

Any advice or input would be greatly appreciated.

Thanks,
Ryan Saverko
Team 379, The RoboCats

Can we take a look at your dashboard code? That would really help!

Can you look in Resource Monitor and tell us the total bandwidth usage when you are connected to the robot, with the camera running?

How are the values being updated? What tab page are they on?

Greg McKaskle

Thank you guys for the responses and my apologies for not responding right away, had a busy couple of days but I will share the code along with the other information tomorrow afternoon as I don’t currently have the code with me.

They are in the Basic tab of the dashboard and in (i believe the first loop? can confirm tomorrow) in the block diagram with the other values such as joystick readings that display on the dashboard.

Several of the tabs are Bound to network variables and update bidirectionally at 10Hz or whatever the rate that the client is run at. The first loop, however, runs at whatever rate you determine, and variables placed there, could run much faster or much slower depending on if the loop has a large delay or a large amount of work to do.

The next thing I’d do is to probe the i terminal of the first loop and see if it goes up by 10 per second, 1 per second, or seconds per increment. You can drop timers and be more precise, but this is usually a good start.

You may have lots of stuff running in the top loop and you may want to separate some of your network variables out. If you have a simple binding other tabs may make sense. Otherwise, you can keep them and move the expensive/slow stuff out of the top loop.

Greg McKaskle

So i probed the iteration terminal with the code running but i couldn’t do it with it connected to the robot because the team was doing stuff with it and such but i observed that it runs every 4 or 5 milliseconds so it seems like its running pretty fast and i couldn’t actually find the wait so i think its just running as fast as it can. Would that be a problem?

I also noticed that while tethered via Ethernet to the robot that the dashboard values don’t actually lag; only when it is wireless is when it lags so maybe a bandwidth problem? i mean i don’t see how we would be using up too much bandwidth but i guess it could be possible?

I uploaded our code to google drive, this was my first time doing this so please let me know if i did it wrong.

https://drive.google.com/open?id=0B9C7HF5mAoZrb0p2TUtXV3RKVVk

https://drive.google.com/open?id=0B9...0p2TUtXV3RKVVk
This is just our dashboard code. the values being called are just numbers or Booleans.

Sorry, i wasn’t able to do that before we packed up the robot for worlds.

Thanks to both of you, please let me know if you have any ideas!