View Full Version : Documentation on the RoboRIO HAL
Thad House
23-01-2015, 16:22
Is there any documentation on the new RoboRIO HAL interface. I would like to look into creating a .Net library, and documentation would make the task much easier.
Quantum Byte
23-01-2015, 17:55
Nope. I managed to get one working though.
Basically, you just create a PWM object. Then, call the get() function, and that will return a bool/boolean of if a magnet is detected.
fsilberberg
23-01-2015, 18:18
Is there any documentation on the new RoboRIO HAL interface. I would like to look into creating a .Net library, and documentation would make the task much easier.
We don't have any official documentation on the HAL. Your best bet is to take a look at the source for C++ and see how it interacts with the HAL. If you have questions, you can send me a message, I'd be happy to help. It can definitely be confusing to look at.
Thad House
23-01-2015, 18:33
We don't have any official documentation on the HAL. Your best bet is to take a look at the source for C++ and see how it interacts with the HAL. If you have questions, you can send me a message, I'd be happy to help. It can definitely be confusing to look at.
Thanks. I'll definitely take a look into that. It will most likely be a summer project, but figured I could get started work on it now. When the season is over ill probably borrow one of our RoboRIOs to see if mono will even run on it, and if it will run fast enough on it.
One thing I remember reading is that the OS on the RoboRIO is softFP. Is that true? Seems like that would cause performance issues, even with the current languages.
fsilberberg
24-01-2015, 12:06
Yes, it is softfp. We haven't noticed any performance issues with the libraries as of now.
byteit101
24-01-2015, 17:43
One thing I remember reading is that the OS on the RoboRIO is softFP. Is that true? Seems like that would cause performance issues, even with the current languages.
yes, but softfp != soft
softfp uses the hardware floating point unit, but is conformant with the software floating point abi (soft). While softfp and hard both use the hardware floating point unit, they are not abi compatible.
Thad House
24-01-2015, 18:24
yes, but softfp != soft
softfp uses the hardware floating point unit, but is conformant with the software floating point abi (soft). While softfp and hard both use the hardware floating point unit, they are not abi compatible.
Ok. I did find a precompiled Mono for armv7-vfp, so that should make doing this much easier. I was able to get the header files working in c#, and I'll have to ask the RobotPy people if I can use their precompiled HAL they use for python, but if possible this project shouldnt be too hard.
Peter Johnson
25-01-2015, 01:05
Ok. I did find a precompiled Mono for armv7-vfp, so that should make doing this much easier. I was able to get the header files working in c#, and I'll have to ask the RobotPy people if I can use their precompiled HAL they use for python, but if possible this project shouldnt be too hard.
Of course you can use our precompiled HAL! The shared library is actually compiled as part of the official wpilib source build (thanks to a patch I submitted), but it's not distributed/installed on the roborio by default, which is why we're hosting it ourselves for installation.
Thad House
25-01-2015, 01:40
Of course you can use our precompiled HAL! The shared library is actually compiled as part of the official wpilib source build (thanks to a patch I submitted), but it's not distributed/installed on the roborio by default, which is why we're hosting it ourselves for installation.
Thats great. I hope to have this up early summer. The only thing I need to figure out is how to get the few the custom structures to work. Everything else will most likely just take work and time (plus a RoboRIO for me to test this on that doesnt interfere with the team.)
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.