Tyler Veness
bd5141e254
[upstream_utils] Upgrade to fmt 12.0.0 ( #8263 )
2025-09-29 11:45:15 -07:00
Peter Johnson
ef676aca70
Merge branch 'main' into 2027
2025-09-25 22:17:00 -07:00
Tyler Veness
5003939b64
[upstream_utils] Recopy Eigen source ( #8251 )
...
Upstream slid the tag (again). Change to the SHA commit ID until things stabilize.
2025-09-24 09:03:16 -06:00
Tyler Veness
a7e7f6912a
[upstream_utils] Upgrade to Eigen 5.0.0 ( #8240 )
2025-09-20 15:49:23 -07:00
Tyler Veness
3dbdfa1839
[upstream_utils] Upgrade Sleipnir ( #8235 )
2025-09-20 11:21:06 -07:00
Peter Johnson
1ce2854a1e
Merge branch 'main' into 2027
2025-09-20 11:19:40 -07:00
Tyler Veness
ee3d55e848
[upstream_utils] Upgrade Eigen to latest ( #8228 )
2025-09-19 17:52:48 -06:00
Gold856
5cd97c6353
[upstream_utils] Add Catch2 ( #8203 )
2025-09-08 15:14:23 -06:00
Gold856
183328384b
[upstream_utils] Remove extra protobuf patch ( #8181 )
...
Missed in the rebase for #7988
2025-08-17 18:41:51 -07:00
Gold856
d4311d5a29
[wpiutil,glass,dlt] Replace libprotobuf with upb for dynamic decode ( #7988 )
...
libprotobuf is a very annoying dependency to deal with, and with the switch to nanopb for generated C++ code, libprotobuf is only used for dynamic decode in the GUI apps. libprotobuf has been swapped out with upb, a much smaller C-based library that supports reflection and can therefore do dynamic decode. This means we can remove the libprotobuf dependency and stop dealing with build issues because of it.
2025-08-16 22:56:32 -07:00
Peter Johnson
f89cf2e441
Merge branch 'main' into 2027
2025-08-09 00:55:56 -07:00
Iris
78fa67099e
[build] Small fixes to build on GCC 15 ( #8148 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2025-08-09 00:07:41 -07:00
Peter Johnson
ed7982563b
Merge branch 'main' into 2027
2025-08-03 11:51:25 -07:00
Gold856
2d11946d98
[wpical] Use updated thirdparty-ceres and move resource files ( #8151 )
2025-08-03 11:41:25 -07:00
Peter Johnson
8aa312fb6f
Merge branch 'main' into 2027
2025-07-21 18:38:43 -07:00
Joseph Eng
2fc86a155d
[benchmark] Add benchmark subproject ( #8042 )
2025-07-15 21:16:06 -07:00
Peter Johnson
7c1a22376b
Merge branch 'main' into 2027
2025-07-13 20:11:31 -07:00
Tyler Veness
69ecd02aec
[upstream_utils] Add timestamps to commit hashes ( #8078 )
2025-07-10 17:01:15 -05:00
Kevin-OConnor
72d7a07635
[upstream_utils] Update fmt to recent commit ( #8077 )
...
Fixes crash seen in SystemCore Java debugging.
2025-07-10 17:00:25 -05:00
Peter Johnson
82ce317083
Merge branch 'main' into 2027
2025-06-30 20:21:11 -07:00
Gold856
22b58c1853
[upstream_utils] Upgrade to LLVM 20.1.7 ( #8033 )
...
Also removes xxhash, Hashing, and MapVector to reduce the size of the patches and to speed up compile times by a smidge.
2025-06-24 22:36:22 -07:00
Tyler Veness
ddc5220ed4
[upstream_utils] Remove memory library ( #8035 )
...
We added this in 2022. If we haven't used it by now, we probably never
will and it's just wasting space.
2025-06-24 22:35:30 -07:00
Peter Johnson
6c16e846fa
Merge branch 'main' into 2027
2025-05-29 21:41:50 -07:00
Gold856
ca05ffa1b9
[upstream_utils] Use pathlib instead of os.path ( #7983 )
...
A noteworthy change is the replacement of the `dp.startswith(os.path.join(".", "subdir"))` pattern. pathlib doesn't offer something with similar semantics besides `match` and `full_match`, so there's now a helper function that replicates the behavior.
Other notable changes include the addition of type annotations to ensure code correctness, using == to check file names instead of `endswith` for clarity (`endswith` is still used to check extensions), manual walking and copying being refactored in googletest, json, memory, nanopb, protobuf, and sleipnir to use `walk_cwd_and_copy_if`, and matching functions being shortened to the point where they can just be inlined into the lambda.
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com >
2025-05-29 16:05:22 -06:00
Tyler Veness
de718f7ae5
[upstream_utils] Upgrade Sleipnir ( #7973 )
2025-05-27 08:24:15 -06:00
Tyler Veness
b4823569a4
[upstream_utils] Upgrade Eigen to latest ( #7982 )
2025-05-19 14:26:53 -06:00
Jade
631521a980
[thirdparty] Set IMGUI_DEFINE_MATH_OPERATORS ( #7899 )
...
This avoids the need to define it early in the include order everywhere else.
Signed-off-by: Jade Turner <spacey-sooty@proton.me >
2025-04-29 08:44:17 -06:00
Peter Johnson
36811211be
Merge branch 'main' into 2027
2025-04-25 23:45:43 -07:00
Tyler Veness
92010c175f
Fix more emscripten compiler errors ( #7895 )
...
I ran the CMake configure with:
```bash
emcmake cmake -B build-wasm -S . \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_SIMULATION_MODULES=OFF \
-DWITH_PROTOBUF=OFF \
-DWITH_GUI=OFF \
-DWITH_CSCORE=OFF
```
* Turned off simulation modules because they require shared libraries
* Turned off GUI because glfw requires libssh
* Turned off cscore because it requires OpenCV
I still get the following compiler errors:
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/linux.cpp:43:10: fatal error: 'sys/epoll.h' file not found
43 | #include <sys/epoll.h>
| ^~~~~~~~~~~~~
```
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/stream.cpp:991:56: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
991 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) {
| ^~~~~~~~~~~~~~~~~~~~~~
/home/tav/.cache/emscripten/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/core.cpp:748:56: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
748 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg))
| ^~~~~~~~~~~~~~~~~~~~~~
/home/tav/.cache/emscripten/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2025-04-25 21:56:26 -07:00
Tyler Veness
d3cc185382
[upstream_utils] Upgrade to fmt 11.1.4 ( #7852 )
2025-03-04 18:50:56 -08:00
Peter Johnson
98f933eca5
Merge branch 'main' into 2027
2025-02-20 00:26:23 -08:00
Tyler Veness
155b3d45e7
[wpiutil] Remove broken StackWalker library ( #7777 )
...
A Discord user reported that StackWalker gives blank stacktraces.
MSVC's C++23 support is unstable, so we can't use std::stacktrace yet.
In the meantime, we can just return an empty string and remove the
unmaintained StackWalker library and its hacky upstream_utils script.
2025-02-12 22:54:41 -08:00
Tyler Veness
7533b323d1
[upstream_utils] Upgrade to fmt 11.1.3 ( #7629 )
2025-01-30 13:35:33 -07:00
Tyler Veness
25e6549398
[wpimath] Fix various constexpr support bugs ( #7676 )
2025-01-13 14:44:55 -07:00
Elliot Scher
85507a6c65
[wpical] Add WPIcal: Field Calibration Tool ( #6915 )
...
Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com >
Co-authored-by: Jade <spacey-sooty@proton.me >
Co-authored-by: Matthew Morley <matthew.morley.ca@gmail.com >
2024-12-28 20:24:32 -08:00
Peter Johnson
b74f84f876
[upstream_utils] Add imgui_demo.cpp ( #7602 )
...
This has useful debugging functions; it was left out of the change
from the separate thirdparty repo.
2024-12-28 19:33:55 -08:00
Tyler Veness
0470e51569
[upstream_utils] Upgrade to fmt 11.1.0 ( #7593 )
...
Usage of FMT_STRING() was removed since it caused compilation failures,
and https://fmt.dev/11.1/api/#compile-time-checks says it's no longer
necessary for compile-time format strings.
Fixes #7592 .
2024-12-26 19:14:02 -06:00
Tyler Veness
939a9ceee1
[upstream_utils] Upgrade to LLVM 19.1.6 ( #7101 )
2024-12-24 17:40:31 -08:00
Brendan Raykoff
9b12ddb595
[upstream_utils] Patch protobuf to remove deprecated ATOMIC_VAR_INIT ( #7585 )
2024-12-23 16:14:15 -06:00
Tyler Veness
d5edb4060d
[upstream_utils] Upgrade Sleipnir ( #7512 )
...
It now uses SQP for problems without inequality constraints, which is
faster.
main:
```
[ RUN ] Ellipse2dTest.DistanceToPoint
0.203 ms
[ OK ] Ellipse2dTest.DistanceToPoint (0 ms)
[ RUN ] Ellipse2dTest.FindNearestPoint
0.019 ms
[ OK ] Ellipse2dTest.FindNearestPoint (0 ms)
```
upgrade:
```
[ RUN ] Ellipse2dTest.DistanceToPoint
0.197 ms
[ OK ] Ellipse2dTest.DistanceToPoint (0 ms)
[ RUN ] Ellipse2dTest.FindNearestPoint
0.015 ms
[ OK ] Ellipse2dTest.FindNearestPoint (0 ms)
```
2024-12-07 23:02:39 -08:00
Tyler Veness
278efa6384
[upstream_utils] Remove Sleipnir patches no longer needed with GCC 11 ( #7491 )
2024-12-07 12:36:25 -08:00
Tyler Veness
65f3345407
[upstream_utils] Suppress protobuf warnings on GCC 12 too ( #7451 )
2024-11-29 18:19:59 -08:00
Tyler Veness
b7eb9fb8f9
[upstream_utils] Add std::is_debugger_present() shim ( #7423 )
2024-11-22 09:17:23 -08:00
Tyler Veness
602c4caa02
[upstream_utils] Check patch files are up to date ( #7401 )
2024-11-17 20:27:53 -08:00
Peter Johnson
661c321fe2
[upstream_utils] Restore Eigen intellisense fix ( #7404 )
...
This reverts commit d1de7663d3 .
Intellisense is still broken on Windows Athena target with the error
`incomplete type "Eigen::Matrix<double, 3, 3, 0, 3, 3>" is not allowed`.
2024-11-17 19:11:25 -08:00
Tyler Veness
d1de7663d3
[upstream_utils] Remove Eigen intellisense fix ( #7397 )
...
FRC Code intellisense continued to work in developerRobot with a QR
decomposition.
2024-11-16 22:16:11 -08:00
Tyler Veness
aa7dd258c4
[wpimath] Replace constexpr coeff() and coeffRef() with operator() ( #7391 )
2024-11-16 07:44:20 -08:00
Thad House
8b8b634f65
[wpiutil] Change C++ protobuf to nanopb ( #7309 )
...
The Google C++ protobuf implementation has issues with dynamic linkage across DLL boundaries because it uses global variables. It also has a compile-time dependency because the protoc version must exactly match the libprotobuf version. Using nanopb with a customized generator fixes both of these issues.
Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com >
2024-11-07 22:42:50 -08:00
Tyler Veness
a48f3c35f4
Remove argv usage from Python scripts ( #7311 )
...
argparse will automatically read sys.argv, so we don't need to pass it
in manually. Furthermore, none of our scripts customize argv.
2024-11-02 19:09:32 -07:00
Tyler Veness
7c91b81906
[ci] Upgrade to wpiformat 2024.45 ( #7326 )
2024-11-02 17:56:55 -07:00