Update WPILib, roborio compilers, and CTRE Phoenix libraries
This borrows heavily from work that Ravago did to initially get this
stuff working.
Tested rudimentary functionality on a test bench, ensured that we could:
* Enable the robot.
* Read joystick and button values.
* Switch between auto and teleop modes.
* Read sensor values (encoder, absolute encoder, potentiometer).
* Read PDP values.
* Drive PWM motors.
* Drive CANivore motors.
Non-WPILib changes are made to accommodate the upgrade roborio
compiler's improved pickiness.
Merge commit '125aac16d9bf03c833ffa18de2f113a33758a4b8' into HEAD
Change-Id: I8648956fb7517b2d784bf58e0a236742af7a306a
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/debian/boringssl.patch b/debian/boringssl.patch
index ceae8bc..d12a7db 100644
--- a/debian/boringssl.patch
+++ b/debian/boringssl.patch
@@ -1,8 +1,16 @@
diff --git a/BUILD b/BUILD
-index cba9ccb1d..7890c88e6 100644
+index cba9ccb1d..37fab16a7 100644
--- a/BUILD
+++ b/BUILD
-@@ -25,6 +25,8 @@ load(
+@@ -16,6 +16,7 @@ licenses(["notice"])
+
+ exports_files(["LICENSE"])
+
++load("@//tools/build_rules:select.bzl", "compiler_select")
+ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
+
+ load(
+@@ -25,6 +26,8 @@ load(
"crypto_sources",
"crypto_sources_linux_x86_64",
"crypto_sources_linux_ppc64le",
@@ -11,7 +19,7 @@
"crypto_sources_mac_x86_64",
"fips_fragments",
"ssl_headers",
-@@ -36,7 +38,17 @@ load(
+@@ -36,7 +39,17 @@ load(
config_setting(
name = "linux_x86_64",
@@ -30,17 +38,18 @@
)
config_setting(
-@@ -76,6 +88,9 @@ posix_copts = [
+@@ -76,6 +89,10 @@ posix_copts = [
"-Wwrite-strings",
"-Wshadow",
"-fno-common",
+ "-Wno-cast-qual",
+ "-Wno-cast-align",
+ "-Wno-unused-parameter",
++ "-Wno-cast-function-type",
# Modern build environments should be able to set this to use atomic
# operations for reference counting rather than locks. However, it's
-@@ -86,6 +101,8 @@ posix_copts = [
+@@ -86,17 +103,26 @@ posix_copts = [
boringssl_copts = select({
":linux_x86_64": posix_copts,
":linux_ppc64le": posix_copts,
@@ -49,7 +58,16 @@
":mac_x86_64": posix_copts,
":windows_x86_64": [
"-DWIN32_LEAN_AND_MEAN",
-@@ -97,6 +114,8 @@ boringssl_copts = select({
+ "-DOPENSSL_NO_ASM",
+ ],
+ "//conditions:default": ["-DOPENSSL_NO_ASM"],
++}) + compiler_select({
++ "clang": [],
++ "gcc": [
++ "-Wno-array-parameter",
++ ],
+ })
+
crypto_sources_asm = select({
":linux_x86_64": crypto_sources_linux_x86_64,
":linux_ppc64le": crypto_sources_linux_ppc64le,
@@ -58,7 +76,7 @@
":mac_x86_64": crypto_sources_mac_x86_64,
"//conditions:default": [],
})
-@@ -112,6 +131,8 @@ posix_copts_c11 = [
+@@ -112,6 +138,8 @@ posix_copts_c11 = [
boringssl_copts_c11 = boringssl_copts + select({
":linux_x86_64": posix_copts_c11,
":linux_ppc64le": posix_copts_c11,
@@ -67,7 +85,7 @@
":mac_x86_64": posix_copts_c11,
"//conditions:default": [],
})
-@@ -125,6 +146,8 @@ posix_copts_cxx = [
+@@ -125,6 +153,8 @@ posix_copts_cxx = [
boringssl_copts_cxx = boringssl_copts + select({
":linux_x86_64": posix_copts_cxx,
":linux_ppc64le": posix_copts_cxx,
diff --git a/debian/fts.patch b/debian/fts.patch
index 7357940..ff0c8d6 100644
--- a/debian/fts.patch
+++ b/debian/fts.patch
@@ -1,5 +1,5 @@
---- arm-frc2020-linux-gnueabi/usr/include/fts.h
-+++ arm-frc2020-linux-gnueabi/usr/include/fts.h
+--- arm-nilrt-linux-gnueabi/usr/include/fts.h
++++ arm-nilrt-linux-gnueabi/sysroot/usr/include/fts.h
@@ -193,7 +193,7 @@ FTS *__REDIRECT (fts_open, (char * const *, int,
int (*)(const FTSENT **, const FTSENT **)),
fts64_open);
diff --git a/debian/ni-libraries.BUILD b/debian/ni-libraries.BUILD
index 571f80f..e93895c 100644
--- a/debian/ni-libraries.BUILD
+++ b/debian/ni-libraries.BUILD
@@ -21,9 +21,9 @@
srcs = [
"libNiFpgaLv.so.13",
"libnirio_emb_can.so.21",
- "src/lib/chipobject/libRoboRIO_FRC_ChipObject.so.22.0.0",
- "src/lib/netcomm/libFRC_NetworkCommunication.so.22.0.0",
- "src/lib/visa/libvisa.so.21.0.0",
+ "src/lib/chipobject/libRoboRIO_FRC_ChipObject.so.23.0.0",
+ "src/lib/netcomm/libFRC_NetworkCommunication.so.23.0.0",
+ "src/lib/visa/libvisa.so.22.5.0",
],
hdrs = glob(["src/include/**"]),
includes = [