View Single Post
  #4   Spotlight this post!  
Unread 26-06-2016, 02:24
balloman balloman is offline
Sophomore Programmer
AKA: Bernard
FRC #0034 (Rockets)
Team Role: Programmer
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Athens, AL
Posts: 14
balloman is on a distinguished road
Re: Network Tables with c++

Quote:
Originally Posted by euhlmann View Post
I'll assume your C++ project is not built with WPILib.

First, git clone the NetworkTables repository: https://github.com/wpilibsuite/ntcore
Then build it for whatever you're running this on (arm or native) with gradle. See the readme file for how.
Then, find the static library file for whatever you built it for. For example, a x64 native build would be located at ntcore\native\build\binaries\ntcoreStaticLibrary\x 64\ntcore.lib
Also find the includes folder at ntcore\include

Now you're ready to use it in your C++ project. Add the includes folder as an include path, the folder containing ntcore.lib as a library path, and tell the linker to use ntcore as a library (-lntcore on GCC)

Then in your cpp file add these includes
Code:
#include <ntcore.h>
#include <networktables/NetworkTable.h>
Documentation for NetworkTable is included in WPILib documentation here: http://first.wpi.edu/FRC/roborio/rel...workTable.html

For example, to publish a string value to the roboRIO's SmartDashboard you can do
Code:
#include <ntcore.h>
#include <networktables/NetworkTable.h>
using std::shared_ptr;
int main() {
    NetworkTable::SetClientMode();
    NetworkTable::SetIPAddress("10.te.am.2");
    NetworkTable::Initialize();
    shared_ptr<NetworkTable> myTable = NetworkTable::GetTable("SmartDashboard");
    myTable->PutString("ExampleString", "Sample Text");
    NetworkTable::Shutdown();
    return 0;
}
Thank you so much, this is exactly what I was looking for. I kept searching on google BEFORE I posted this, but couldn't find anything.
Reply With Quote