Go to Post This is a solemn reminder of how fast time goes by with the blink of an eye, that if you don't run to catch up with it, it will catch up with you and sweep you away. - Ken Leung [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 26-01-2016, 08:55
Guyde Guyde is offline
Registered User
FRC #4590
 
Join Date: Jan 2016
Location: Israel
Posts: 1
Guyde is an unknown quantity at this point
Using C++ network tables on Jetson TK1/TX1 (preferably tx1)

We are trying to use Network Tables in C++ on our Jetson board (which has the Nvidia modified Ubuntu 14.04 ARM OS). We built ntcore's (the Network Tables' library name) source code from GitHub and it did not work. Upon building a bunch of resolving errors in the headers of the network tables code, which most of relate to things scoped in std, which leads us to suspect that the ntcore code on GitHub only works on the Windows OS.

We would be happy if anyone could help us finding an implementation of Network Tables for C++ for the Jetson TK1 and TX1.
  #2   Spotlight this post!  
Unread 26-01-2016, 12:03
fsilberberg fsilberberg is offline
WPILib Developer
AKA: Fred Silberberg
FRC #0190
Team Role: Alumni
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Redmond
Posts: 148
fsilberberg has a spectacular aura aboutfsilberberg has a spectacular aura aboutfsilberberg has a spectacular aura about
Re: Using C++ network tables on Jetson TK1/TX1 (preferably tx1)

I assume that you found Peter's mirror of the source on Github? If that's the case, that is the full ntcore implementation, and compiles on Windows, Mac, Linux, and for the roborio. I imagine it will compile for the Jetson as well, but might take a bit of build fiddling (nothing to the actual sources though). I have a few questions:
  #3   Spotlight this post!  
Unread 26-01-2016, 14:38
Peter Johnson Peter Johnson is offline
WPILib Developer
FRC #0294 (Beach Cities Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Redondo Beach, CA
Posts: 268
Peter Johnson has much to be proud ofPeter Johnson has much to be proud ofPeter Johnson has much to be proud ofPeter Johnson has much to be proud ofPeter Johnson has much to be proud ofPeter Johnson has much to be proud ofPeter Johnson has much to be proud ofPeter Johnson has much to be proud of
Re: Using C++ network tables on Jetson TK1/TX1 (preferably tx1)

If you're seeing errors in references to std::, the most likely culprit is the compiler version and/or compiler flags. The ntcore library extensively uses C++11 features, so you will need to use a fairly recent g++ (4.8.x or better) and also provide the -std=c++11 (or -std=c++1y) compiler flag.

However, the gradle and/or cmake build scripts should take care of this for you. As fsilverberg mentioned, ntcore is not Windows specific and is being built across multiple OS's and architectures, including Linux on both x86 and ARM.

Please feel free to file an issue on github (https://github.com/PeterJohnson/ntcore/) and we can move this discussion there.
__________________
Author of cscore - WPILib CameraServer for 2017+
Author of ntcore - WPILib NetworkTables for 2016+
Creator of RobotPy - Python for FRC

2010 FRC World Champions (294, 67, 177)
2007 FTC World Champions (30, 74, 23)
2001 FRC National Champions (71, 294, 125, 365, 279)
  #4   Spotlight this post!  
Unread 26-01-2016, 14:44
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,107
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: Using C++ network tables on Jetson TK1/TX1 (preferably tx1)

Quote:
Originally Posted by Guyde View Post
We are trying to use Network Tables in C++ on our Jetson board (which has the Nvidia modified Ubuntu 14.04 ARM OS). We built ntcore's (the Network Tables' library name) source code from GitHub and it did not work. Upon building a bunch of resolving errors in the headers of the network tables code, which most of relate to things scoped in std, which leads us to suspect that the ntcore code on GitHub only works on the Windows OS.

We would be happy if anyone could help us finding an implementation of Network Tables for C++ for the Jetson TK1 and TX1.
The build on GitHub definitely compiles for Arm. What version of GCC is on the device? GCC 4.9+ is known to work on Arm devices. GCC 4.8 should work to, but I'm not sure on that one. With gradle, trying to run a default build on arm devices does not currently work (it fails when it sees the -m32 argument for gcc). However you can run
Code:
./gradlew :arm:build -PcompilerPrefix=
and that should build correctly as long as you have the right GCC.

A group of us are working right now on getting Arm Builds for other devices. Right now the cross compiler we have that works on everything is GCC 5, but since most devices running debian based OS's don't have GCC 5, it requires loading a special libstdc++.so.6. If you want that, the latest build can be found here http://198.199.94.5/ntcore/cb4cc63/arm-linux-gnueabihf/. The special libstdc++.so.6 is located here http://198.199.94.5/ntcore/libstdc++.so.6. To run that, compile your program, and then when running your code, prepend your command with
Code:
env LD_LIBRARY_PATH=/path/to/downloaded/libstd/
.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.
  #5   Spotlight this post!  
Unread 26-01-2016, 17:28
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,188
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Using C++ network tables on Jetson TK1/TX1 (preferably tx1)

If you used jetpack to set up the jetson, you should have a valid cross compiler installed on the original host machine. I used this the other day to cross compile ntcore quite easily. ntcore's build system allows you to use a prefix on the compiler to specify any cross compiler.

If you want a pre-built solution, you can use this. Just run the build script on the Jetson. https://www.dropbox.com/s/8sz4synzkt...ables.zip?dl=0
Closed Thread


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 10:57.

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