robotdotnet / NetworkTablesCore

Depreciated - Use NetworkTables repository instead
Other
1 stars 1 forks source link

Differentiate between x86 linux and arm linux #15

Closed ThadHouse closed 8 years ago

ThadHouse commented 8 years ago

Currently there is a fairly reliable way to detect the RoboRIO, but there is not currently a reliable way to detect if we are running on something like a raspberry pi. Getting the build to compile on raspberry pi should be easy, and I've seen enough teams do this where it would be nice to support it.

jkoritzinsky commented 8 years ago

Just so you know, a raspberry pi is also ARM Linux, just like the roboRIO.

ThadHouse commented 8 years ago

I know, and it should be, but it might not run off of the same library. It should, but you never know.

And the method to detect the RIO currently would not work for detecting anything other then the RoboRIO. I should be able to get to this this weekend.

jkoritzinsky commented 8 years ago

I just wanted to clarify since the title of the issue didn't truly match the content of the text.

ThadHouse commented 8 years ago

The the libraries are not compatable. This makes sense, considering that the Pi is Hard Float and the RoboRIO is Soft Float. Working on compiling ntcore on my pi to get a working library.

ThadHouse commented 8 years ago

Looking like its going to be harder to compile then we thought. The way gradle works, it has an override that forces it to use the custom RoboRIO compiler it it detects arm. Need to figure out how to use cmake on the raspi to build at least one library. I'll have to try the current build on my BeagleboneBlack, which is Armv7 and should work.

ThadHouse commented 8 years ago

Got this basically done. If we want arm support other then the roborio, we will need 3 total builds. We will need an Armv6 Hard Float for things like a Raspberry Pi Model A or B, Armv7 Hard Float for things like a Pi2 and a BeagleBoneBlack, and then the RoboRIO needs Armv7 Soft Float.

ThadHouse commented 8 years ago

Done