View Single Post
  #3   Spotlight this post!  
Unread 03-08-2015, 17:03
CodeYeti's Avatar
CodeYeti CodeYeti is offline
FRC Addict
AKA: Matt Coffin
FRC #0662 (Rocky Mountain Robotics)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Colorado
Posts: 81
CodeYeti is an unknown quantity at this point
Re: Custom roboRIO HAL: Where to find C library for roboRIO fpga?

Quote:
Originally Posted by Thad House View Post
You can get a link to clone the repository here. In there, in the HAL folder, there are already C bindings for the HAL. Both the python and the .NET teams use those directly to interface with the HAL. It's actually fairly easy to do.
Thanks for the quick reply! I've actually already gotten that working (and will probably be using that for any actual code I'll write). What I want to do is do a proof-of-concept for writing my own HAL (i.e. interfacing directly with the NI fpga code, manipulating registers myself). The version of THIS that wpilib seems to use is here as far as I can see. What I'm seeing here is a C++ api to the actual FPGA stuff.

Now, with a little more searching on the ni site, I was able to find what appears to be the c support files that the user manual mentioned. They're VERY different from the C++ api, and don't seem to be something that will be kept up to date in the future, but they might work for now.

It would still be great, however, to find where wpilib is getting it's "ChipObject" C++ version of the fpga code. From the HAL readme, it seems that they get it from http://github.com/first/ni-libraries, but I don't have access to that, so it's not incredibly helpful. I wonder if they have the C api in there as well as the C++ one? One will never know.

If you're curious about what I'm doing, I'm one of the developers of zinc, a bare-metal embedded stack written in pure Rust. I'm hoping to adapt some of the stuff I've written there to do a proof-of-concept of a completely wpilib-free frc development environment.
__________________
Team 662 - Student/Programming VP/Driver - (2011-2013) - 43-31-2
Team 662 - Mentor - (2015-present) - 0-0-0