Go to Post In the real world nothing is ever to spec. Just another part of the challenge. - Koko Ed [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 13-02-2013, 10:18
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Question Driverstation referencing

Id like to be able to get values from our driver station into my code so I can quickly change code through my driver station in Labview. I have tried using the new driver station blocks that we got this year in the update that sends code to the driver station but it won't send values back to the code. Anyone have any ideas on how I can get values from the driver station to the code?

The picture below shows the values I want to use in my code.
Attached Thumbnails
Click image for larger version

Name:	driver.PNG
Views:	83
Size:	47.0 KB
ID:	13967  

Last edited by CooneyTech : 13-02-2013 at 11:03.
Reply With Quote
  #2   Spotlight this post!  
Unread 13-02-2013, 21:26
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Driverstation referencing

You've made a number of additional tabs. In order to add the controls to the binding list, duplicate the dashboard code that is attached, but create the constant from your new tab datatype and append the arrays together before binding.

That will be enough to create variables on the robot that you can read from wherever you need them.

It would be a good idea to make the variable names unique. having eight Holder controls will likely be confusing.

Greg McKaskle
Attached Thumbnails
Click image for larger version

Name:	Clipboard 1.png
Views:	40
Size:	22.5 KB
ID:	13997  
Reply With Quote
  #3   Spotlight this post!  
Unread 13-02-2013, 21:38
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Talking Re: Driverstation referencing

Quote:
Originally Posted by Greg McKaskle View Post
You've made a number of additional tabs. In order to add the controls to the binding list, duplicate the dashboard code that is attached, but create the constant from your new tab datatype and append the arrays together before binding.

That will be enough to create variables on the robot that you can read from wherever you need them.

It would be a good idea to make the variable names unique. having eight Holder controls will likely be confusing.

Greg McKaskle
The holder dags are just place holders and will be changed or deleted before competition. Thanks for the help.
Reply With Quote
  #4   Spotlight this post!  
Unread 13-02-2013, 22:05
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

How do I append the arrays?
Reply With Quote
  #5   Spotlight this post!  
Unread 13-02-2013, 22:25
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

I an posting all I have so far so you can look at it. After it's bundled and binded do I reference it in my code through some sort of SD Read?
Attached Files
File Type: zip 2013 Dashboard Project.zip (255.6 KB, 5 views)
Reply With Quote
  #6   Spotlight this post!  
Unread 14-02-2013, 08:35
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Driverstation referencing

The attached image collects references to the controls in Operation and in your tab. It combines them into a single array using the array builder, and those will then be bound to variables of the same name. In order to write this code, you will need to right-click and tell the array builder whether the 2 one dimensional arrays should be built into a longer 1-D array or a 2-D array. It default to 2-D, so right click and tell it to concatenate.

The other code you were writing outside of the loops will only run once. So the D Shifter Invert doesn't do what you probably intended. If it is to be read each iteration of the loop, the terminal needs to be in the loop. I suspect that most of the other terminals won't be used on the dashboard except for display, and simply need to be stacked on the side, where the Slider 1 and Checkboxes are.

Greg McKaskle
Attached Thumbnails
Click image for larger version

Name:	Clipboard 1.png
Views:	30
Size:	46.0 KB
ID:	14003  
Reply With Quote
  #7   Spotlight this post!  
Unread 14-02-2013, 10:27
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

Ok I put everything where it should be and it should all be binded. When I reference it it my crio code do I side a SD write in the dashboard and a SD read in the crio code?

Last edited by CooneyTech : 14-02-2013 at 12:34.
Reply With Quote
  #8   Spotlight this post!  
Unread 14-02-2013, 20:40
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Driverstation referencing

You can both read and write to the variable on the cRIO. You can both read and write to the variable on the dashboard.

Interactive edits to the value of the control will propagate to the variable.

The one case that will not propagate is if you write to a terminal or local of the control and want it to affect the variable. This is to avoid race conditions.

Greg McKaskle
Reply With Quote
  #9   Spotlight this post!  
Unread 14-02-2013, 20:51
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

Quote:
Originally Posted by Greg McKaskle View Post
You can both read and write to the variable on the cRIO. You can both read and write to the variable on the dashboard.

Interactive edits to the value of the control will propagate to the variable.

The one case that will not propagate is if you write to a terminal or local of the control and want it to affect the variable. This is to avoid race conditions.

Greg McKaskle
Is their a read and write for clusters?
Reply With Quote
  #10   Spotlight this post!  
Unread 14-02-2013, 23:08
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Driverstation referencing

Quote:
Originally Posted by CooneyTech View Post
Is their a read and write for clusters?
There isn't one built in that I've found. You'll need to unbundle the cluster and write each element separately, and you can bundle them back together at the other end if you want to. If you get fancy, I think you can use a name hierarchy, adding the cluster name and a slash in front of the element name, and get things to "cluster" together in the variable viewer.
Reply With Quote
  #11   Spotlight this post!  
Unread 14-02-2013, 23:22
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

Thank you Mr. McKaskle and Mr. Anderson for the help. This will make editing code at competition much fast.
Reply With Quote
  #12   Spotlight this post!  
Unread 15-02-2013, 08:15
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Driverstation referencing

As mentioned, SmartDashboard is very simple and doesn't have clusters. It does have arrays, so if you look at how the motors and joysticks are done, the elements are put into an array of numbers and an array of Booleans and are broken apart when accessed. This trick isn't something you have to do though. If you do it, you may find that converting from array to cluster and back is handy. But you can also do this by dropping and growing the Array Index node and the Build Array node.

Greg McKaskle
Reply With Quote
  #13   Spotlight this post!  
Unread 15-02-2013, 16:07
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

I have it so it gets binded, but when I try referencing the values it only gives me zero. Am I doing something wrong?

On the left is teleop on the right is the dashboard reference.
Attached Thumbnails
Click image for larger version

Name:	telop reference.PNG
Views:	18
Size:	6.5 KB
ID:	14023  Click image for larger version

Name:	Dashboard.PNG
Views:	16
Size:	4.8 KB
ID:	14024  
Reply With Quote
  #14   Spotlight this post!  
Unread 15-02-2013, 22:18
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Driverstation referencing

Have you tried to look at the variables tab to see if the writes are working? On the dashboard, you can click to the tab and scroll to see all variables and their current value.

Greg McKaskle
Reply With Quote
  #15   Spotlight this post!  
Unread 16-02-2013, 12:25
CooneyTech CooneyTech is offline
Registered User
FRC #0269
 
Join Date: Jan 2013
Location: Oconomowoc
Posts: 32
CooneyTech is an unknown quantity at this point
Re: Driverstation referencing

The variables tab works correctly yes but that's getting variables from the code not sending variables to the code. Right?

Last edited by CooneyTech : 16-02-2013 at 17:41.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 22:52.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi