View Single Post
  #2   Spotlight this post!  
Unread 25-01-2016, 07:06
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,751
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: NetworkTable Client Questions

Sorry for the naming confusion.

In previous years, the SmartDashboard VIs prepended /SmartDashboard/ to the variable name and were promoted as the main VIs that you'd use for robot<->dashboard communication. We decided to simplify and combine the functions.

In 2016, a variable name that doesn't start with / will be prepended with /SmartDashboard. If you are writing lower level stuff, just use absolute paths. So then, which name to use since they are now merged? We decided to go with NetworkTables for the overall name.

To your question about the client. NT Client is the root VI for a client. Bind wraps it with some messaging hooks for the control binding. A given LV context only needs one client running. We could put in some prevention code to keep a second instance from doing any harm, but that doesn't exist. The reason why only one client is allowed to run is that the network table storage is implemented with functional globals that aren't instanced to the client. Architecturally, we only expected one server and one client per process.

Happy to answer other questions or confirm other spelunking observations.
Greg McKaskle
Reply With Quote