We are using C++ to program this year’s robot. When we download our program to the cRIO, it runs fine. However, if we pull up a Dashboard in Labview (just the default Dashboard), the only info that we get is voltage, despite the dashboard having items for much more information. Does anyone know what is wrong? We’re expecting to get PWM and camera info, too (we run the PCVideoServer in the code). Our IP address is correct (10.15.40.6). What could be going wrong?
Can you send dashboard.printf messages and have them displayed? My suspiscion is that since the dashboard is in labVIEW, the labVIEW system for the cRio includes options for sending back more data, or does it automatically
The dashboard packet needs to be packed explicitly in your C++ program in order for it to be transmitted to 10.xx.yy.6, and hence for the LabVIEW program to see it. You see the battery voltage because that is part of the control data in the packet that the DS uses (it’s also part of the DS display).
If you want to get the information from the robot to your dashboard, have a look at the Dashboard example project in WindRiver. Using a Dashboard object, and packing the dashboard as in the example, will allow you to supply the LabVIEW dashboard the information it needs for a full display.
-Jeff Erickson, FRC 41
As a side note, I’m pretty sure that streaming the camera images with the PCVideoServer does not work. I haven’t been able to get it to work (the default dashboard example with camera images that is) and I remember seeing someone else saying that it doesn’t work.
It’s starting to bother me that we’re two weeks into build and the control system is essentially still in beta though I guess this is just WPI being nice and helping us out so can’t complain.
We have gotten the camera to work fine and stream to the dashboard. Be sure to call StartCameraTask() first, in order to actually initialize the camera. If the camera is not initialized before PCVideoServer is used, PCVideoServer will not work.
We tested out the dashboard last night (default code on both robot and laptop side) and had a similar problem where the dashboard just wouldn’t connect. It took us a while to find it, but the problem ended up that we had Windows Firewall turned on. You may want to check your settings there to make sure that you’re not unintentionally blocking the communication.
check out my post on this thread… as long as you’re not having troubles with firewalls and have the correct updates installed, this should get you running with the dashboard and the video server:
note that the dashboard does not automatically connect to anything on the robot, you must manually set each field. (everything displayed on the DS is automatically connected though)
(note: the following post assumes C++ on board the robot, as is the case with the OP’s questions)
The dashboard is not like previous years; you will not get the values of all outputs on the robot automatically (even when you get all the IPs, firewalls, etc set up correctly).
The software on board the robot simply does not send out this information unless you write code to make it do so.
The Labview Dashboard application will present an application that, when sent the proper information from the robot, will show I/O information similar in spirit to the old IFI dashboard. This application expects the dashboard data in a specific format over the network.
The newly added Dashboard example template in the recent Windriver update provides classes to help you send the data in the proper format. However, the example does not actually send all the I/O data for you. You need to augment it to send the I/O data, or other data that your team may have an interest in.