diff --git a/hal/src/main/native/cpp/mrclib/MrcLibDs.cpp b/hal/src/main/native/cpp/mrclib/MrcLibDs.cpp index 2ec23c4791..39612177ee 100644 --- a/hal/src/main/native/cpp/mrclib/MrcLibDs.cpp +++ b/hal/src/main/native/cpp/mrclib/MrcLibDs.cpp @@ -315,8 +315,23 @@ MrcLibDsImpl::MrcLibDsImpl() { std::terminate(); } + // Initialize control first, making sure its properly checked for errors + MRC_Status controlInitStatus = MRC_DsCommsControl_Initialize(); + if (controlInitStatus == MRC_STATUS_MULTIPLE_USER_PROGRAMS) { + fmt::print(stderr, + "Warning: Multiple user programs detected. Restarting app and " + "retrying...\n"); + std::terminate(); + } + if (controlInitStatus != MRC_STATUS_SUCCESS) { + fmt::print(stderr, + "Error: MRC_DsCommsControl_Initialize failed with status {}. " + "Restarting app and retrying...\n", + controlInitStatus); + std::terminate(); + } MRC_DsComms_Initialize(); - MRC_DsCommsControl_Initialize(); + MRC_Console_Initialize(); // Wait for 10 seconds for the system server to be ready. diff --git a/shared/bazel/thirdparty/integrity_helper.py b/shared/bazel/thirdparty/integrity_helper.py index d7cd571270..765bbb6fa2 100644 --- a/shared/bazel/thirdparty/integrity_helper.py +++ b/shared/bazel/thirdparty/integrity_helper.py @@ -157,7 +157,7 @@ def update_libssh(): def update_mrclib(): # Keep in sync with shared/libmrclib.gradle - version = "2027.1.0-alpha-1-65-g21f308e" + version = "2027.1.0-alpha-1-69-gc4dd18d" has_headers = True classifiers = [ diff --git a/shared/bazel/thirdparty/mrclib/mrclib.MODULE.bazel b/shared/bazel/thirdparty/mrclib/mrclib.MODULE.bazel index 2fee9519a8..0adb95be30 100644 --- a/shared/bazel/thirdparty/mrclib/mrclib.MODULE.bazel +++ b/shared/bazel/thirdparty/mrclib/mrclib.MODULE.bazel @@ -2,17 +2,17 @@ http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "ht ################################################################################ # Generated by shared/bazel/thirdparty/integrity_helper.py -url_pattern = "https://frcmaven.wpi.edu/artifactory/development-2027/org/wpilib/mrclib/mrclib-cpp/2027.1.0-alpha-1-65-g21f308e/mrclib-cpp-2027.1.0-alpha-1-65-g21f308e-%s.zip" +url_pattern = "https://frcmaven.wpi.edu/artifactory/development-2027/org/wpilib/mrclib/mrclib-cpp/2027.1.0-alpha-1-69-gc4dd18d/mrclib-cpp-2027.1.0-alpha-1-69-gc4dd18d-%s.zip" -headers_integrity = "a8b38a00d584b50c3bb84800121df1022ac1500f59e4ecac85068adca7c0ac49" +headers_integrity = "7e0d3efa8d0264c3dcd7088a94180986555a97860db512c516a4d8a228585169" _LIB_ARTIFACTS = { - "linuxarm64": ("linux", "**/*.so*", "38009110f0deeaeaec08b59fe37ce7e87d3ee4f3d86bd70a7003b22a75bcb43e"), - "linuxx86-64": ("linux", "**/*.so*", "503b3107febd35d32d28e5a3135c48fbd8c09d49d0b1f404182bc9b3c6877d12"), - "osxuniversal": ("osx", "**/*.dylib", "422a52e4b5f859ef3afb7a97e66ba72572894a73abd88126e09647929b1701c1"), - "linuxsystemcore": ("linux", "**/*.so*", "f84d4a6852d52da5535c054944b45f6f0c3d98271756ebfa28103a6f45e073e5"), - "windowsarm64": ("windows", "**/*.dll", "8fd028fa1144c1c18adf9facf4dd690f6d888565c73498bfae01849d0400dad0"), - "windowsx86-64": ("windows", "**/*.dll", "6e905f298fd261e68abb2bfcad7d47334d57f8b6dd14046bf2b98f55c7a657d7"), + "linuxarm64": ("linux", "**/*.so*", "b87f7187afc1780422526d010f2b195f2f160175dcfbba2834eda8f27c647304"), + "linuxx86-64": ("linux", "**/*.so*", "510088cbb2b7ca3fbd47691debbe89d5d2dd022cd5472a723c95a6e1db1b9cd8"), + "osxuniversal": ("osx", "**/*.dylib", "35d6df2d76165b099d9592bb29e84b8edd365382d926a818bfe97902919d0d63"), + "linuxsystemcore": ("linux", "**/*.so*", "40a2f1e641bec88ea21794dacf6212e99cdf19c0e7dbcb777159b6134d2ee390"), + "windowsarm64": ("windows", "**/*.dll", "6bcc645f5af742613401e4e3a162cf72193c6fd67d1dd32a5cefad899013d13b"), + "windowsx86-64": ("windows", "**/*.dll", "b69c8567586d7b5499fe602758259435c79a4ee9e311669baaff0f9878028b14"), } # End auto-gen ################################################################################ diff --git a/shared/libmrclib.gradle b/shared/libmrclib.gradle index b3b59a2d3a..f6b014d962 100644 --- a/shared/libmrclib.gradle +++ b/shared/libmrclib.gradle @@ -5,7 +5,7 @@ nativeUtils { artifactId = "mrclib-cpp" headerClassifier = "headers" ext = "zip" - version = '2027.1.0-alpha-1-65-g21f308e' + version = '2027.1.0-alpha-1-69-gc4dd18d' skipAtRuntimePlatforms.add(nativeUtils.wpi.platforms.systemcore) targetPlatforms.addAll(nativeUtils.wpi.platforms.allPlatforms) noDebugSplit = true