We’re trying to customize the dashboard by adding the numeric values for our encoders, and after reading the tutorials on feeding variables into the dashboard, we created variables for both encoders (Using ”Write“ blocks）and fed them into a dashboard project, using numeric indicators. The indicators show up on the dashboard panel but don’t change when the encoder readings change. Any suggestions for how to fix this? Thanks!
Did you add the “Read” blocks to your Dashboard project with the same name as the “Write” blocks in your robot project?
You’re using the SD Write function in your robot code, right?
In the Dashboard code, on which tab did you place the indicators? Unwired indicators in the Operation and Auto tabs are automatically bound to Smart Dashboard variables. If you want to use one elsewhere, you’ll have to do a SD Read yourself.
Make absolutely sure that you’ve spelled the name of the variable exactly the same way in both the robot and Dashboard code.
To lessen the impact on the cRIO performance, we have a separate loop that runs at about 250 ms which writes all values to the dashboard. This is slow enough for us mortal humans to read the changing values without bogging down the cRIO. We create a local variable that is read in the separate loop. It works very well for us.
Also in the dashboard application, we are explicitly calling the SD Read to get the value from the robot.
The default rate of transfer of the SD variables is 100ms. So updates faster than that will simply update storage on the robot and mark the items as dirty. The overhead to update values on the robot is about as small as I could get it.
If anyone wants the SD variables to update faster, you can change the update timeout or Flush.