I have vision code in c++ that I would like to send to the roborio with network tables. My only problem is that there are no tutorials on the wpilib website to do this in C++.
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
ative\build\binaries
tcoreStaticLibrary\x64
tcore.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
#include <ntcore.h>
#include <networktables/NetworkTable.h>
Documentation for NetworkTable is included in WPILib documentation here: http://first.wpi.edu/FRC/roborio/release/docs/cpp/classNetworkTable.html
For example, to publish a string value to the roboRIO’s SmartDashboard you can do
#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.