Ryan Blue
d3159c2554
[glass] Fix server mode ( #8508 )
2025-12-31 09:41:26 -08:00
Thad House
e2d492ac3f
[ntcore] Add ability to announce mDNS for server ( #8373 )
...
We can use this as a new way of resolving addresses.
2025-12-16 22:26:56 -08:00
Peter Johnson
dacded37e5
[hal, wpilib] Add OpMode support ( #7744 )
...
User code:
- OpModeRobot used as the robot base class
- LinearOpMode and PeriodicOpMode are provided opmode base classes
- In Java, annotations can be used to automatically register opmode classes
Additional user code functionality:
- OpMode (string) is available in addition to the overall
auto/teleop/test robot mode
- OpMode does not indicate enable (enable/disable is still separate)
- The HAL API uses integer UIDs; these are exposed at the user API level
as well for faster checks
- User code creates opmodes on startup (these have name, category,
description, etc).
DS:
- DS will present opmode selection lists for auto and teleop for
match/practice. During a match, the DS will automatically activate the
selected opmode in the corresponding match period.
- For testing, an overall mode is selected (e.g. teleop/auto/test) and a
single opmode is selected
Future work:
- Command framework support/integration
- Python annotation support
- Unit tests (needs race-free DS sim updates)
- Porting of examples
Co-authored-by: Joseph Eng <91924258+KangarooKoala@users.noreply.github.com >
2025-12-12 20:25:57 -08:00
Tyler Veness
1705b2d61c
Upgrade wpiformat and use clang-format's include sorting ( #8350 )
...
This PR also uses the newly added -default-branch flag to generate the list of changed files with respect to the correct branch (2027).
2025-11-11 18:05:12 -08:00
PJ Reiniger
2109161534
SCRIPT: wpiformat
2025-11-07 23:09:21 -08:00
PJ Reiniger
9aca8e0fd6
SCRIPT namespace replacements
2025-11-07 23:09:21 -08:00
PJ Reiniger
1e7604f81c
SCRIPT: wpiformat
2025-11-07 23:09:21 -08:00
PJ Reiniger
7c6efa41ae
SCRIPT Run cc include replacements
2025-11-07 23:09:21 -08:00
PJ Reiniger
7ca1be9bae
SCRIPT Move cc files
2025-11-07 23:09:21 -08:00
Peter Johnson
7ff312bb69
Merge branch 'main' into 2027
2025-10-06 19:43:02 -07:00
Peter Johnson
ca7718cb08
[glass] FMS: Fix reading past end of GSM buffer ( #8268 )
2025-10-02 17:35:50 -07:00
Jonah Bonner
e364087e99
[glass] Fix color order for sim GUI LEDs ( #8264 )
2025-09-29 11:44:27 -07:00
Peter Johnson
ef676aca70
Merge branch 'main' into 2027
2025-09-25 22:17:00 -07:00
Tyler Veness
ab53d51c6f
Fix or suppress clang-tidy warnings ( #8254 )
2025-09-25 21:28:04 -07:00
Gold856
d59f1732bb
[glass] Fix handling for optionals and empty arrays ( #8227 )
2025-09-14 07:46:51 -07:00
Peter Johnson
d5d67d874b
[glass] NetworkTables: Show struct enum values ( #8224 )
...
Also change the format for both proto and struct enums to show other values as <N>, and not put quotes around the value.
2025-09-12 13:01:50 -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
f3af50fc8e
[hal, wpilib] Update Addressable LED support ( #8100 )
2025-07-21 21:52:10 -07:00
Peter Johnson
82ce317083
Merge branch 'main' into 2027
2025-06-30 20:21:11 -07:00
Peter Johnson
ccc9740d56
[glass] Fix NT int64 value display ( #8038 )
2025-06-27 06:33:31 -07:00
Tyler Veness
057f5ddf81
[glass] Fix compilation errors from C++23 clang ( #8008 )
2025-06-16 19:01:00 -07:00
Peter Johnson
6c16e846fa
Merge branch 'main' into 2027
2025-05-29 21:41:50 -07: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
bd78215b43
[glass] Fix compilation error with protobuf 30.1 ( #7890 )
...
```
/home/tav/frc/wpilib/allwpilib/glass/src/libnt/native/cpp/NetworkTables.cpp: In function ‘void UpdateProtobufValueSource(glass::NetworkTablesModel&, glass::NetworkTablesModel::ValueSource*, const google::protobuf::Message&, std::string_view, int64_t)’:
/home/tav/frc/wpilib/allwpilib/glass/src/libnt/native/cpp/NetworkTables.cpp:363:27: error: no match for ‘operator+’ (operand types are ‘const char [7]’ and ‘google::protobuf::internal::DescriptorStringView’ {aka ‘std::basic_string_view<char>’})
363 | out->typeStr = "proto:" + desc->full_name();
| ~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
| | |
| const char [7] google::protobuf::internal::DescriptorStringView {aka std::basic_string_view<char>}
```
2025-04-07 07:31:31 -06:00
Thad House
52b353fe57
[hal, wpilib] Remove power rails that don't exist on systemcore ( #7861 )
2025-03-14 10:16:08 -07:00
Rain Heuer
b0e588fd49
[glass] Update Field2D default field to 2025 ( #7820 )
2025-02-25 19:04:16 -08:00
Gold856
b39744b562
[wpimath] Remove PathWeaver support ( #7813 )
...
Also rename file load type in glass to "Field Image JSON".
2025-02-21 07:43:45 -07:00
DeltaDizzy
da47f06d70
[datalog] Move all DataLog functionality to new datalog library ( #7641 )
...
Currently the major DataLog backend API (reading and writing) is split between wpiutil and glass. In the interest of allowing code that wants to use these APIs to not need to link to glass and declutter wpiutil, all of those APIs are moved to a new library named "datalog".
Signed-off-by: Jade Turner <spacey-sooty@proton.me >
Co-authored-by: Jade Turner <spacey-sooty@proton.me >
Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com >
2025-02-19 21:08:17 -08:00
Thad House
5a6c895b87
[hal, wpilib] Remove built in accelerometer ( #7702 )
2025-01-17 14:06:09 -08:00
Thad House
f80874dd4b
[hal, wpilib] Remove analog accumulator and analog gyro ( #7697 )
...
The 2 high level classes were temporarily kept to keep the examples compiling. We will remove those when we have the interface into the built in IMU.
2025-01-17 12:58:31 -08:00
Thad House
ff1b2a205e
[hal, wpilib] Remove analog output ( #7696 )
2025-01-16 23:20:44 -08:00
Thad House
5017393b3a
[hal, wpilib] Remove relay ( #7695 )
2025-01-16 23:20:07 -08:00
Peter Johnson
d9f8fded09
Merge branch 'main' into 2027
2025-01-16 23:17:59 -08:00
Ryan Heuer
8e459a4f2a
[glass] Field2d: Fix custom image padding to maintain aspect ratio ( #7648 )
2025-01-06 21:16:14 -08:00
sciencewhiz
7032de3d5d
[glass] Field2D: Change field picker to show JSONs first ( #7643 )
...
Too many people don't realize that glass/simgui field2d can load
pathweaver JSON field files since it's hidden.
2025-01-05 22:36:14 -08:00
Peter Johnson
03d9e96877
[wpiutil] Change StringExtras split() to template ( #7636 )
...
It now calls back a function for each part rather than creating a SmallVector.
2025-01-05 20:53:43 -08:00
Peter Johnson
0f6693594c
[glass] Split DataSource into type-specific variants ( #7588 )
2025-01-03 13:36:40 -08:00
Peter Johnson
1240ee1bf4
[ntcore] Remove NT3 support ( #7625 )
...
- Remove StartClient3
- Rename StartClient4 to StartClient
- Remove port3 parameter from StartServer
- Remove 3-suffix constants
- Remove 4 suffix from constants
Also remove Shuffleboard build from CI.
2025-01-02 23:05:13 -08:00
Wispy
17a03514ba
[glass, simgui] Fix minimum widths of windows ( #7604 )
2025-01-01 15:20:35 -08:00
Peter Johnson
b6de7acbdb
[sim] GUI: Don't show Window menu if it has no contents ( #7432 )
2024-11-25 17:25:55 -08:00
Ryan Blue
8588b5e520
[glass] Revert "Storage: Store Value by value" ( #7333 )
...
This reverts commit 309b370223 .
Storage::GetChildArray never initializes the child array when the entry is new, so it returns invalid references.
2024-11-04 23:34:18 -07:00
Peter Johnson
e49d452e46
[glass] Context: Store storageRoots by value
2024-10-31 22:04:13 -07:00
Peter Johnson
5c0edc2410
[glass] Field2D: Store field objects by value
2024-10-31 22:04:13 -07:00
Peter Johnson
309b370223
[glass] Storage: Store Value by value
...
This is possible because std::map has stable value pointers.
2024-10-31 22:04:13 -07:00
Peter Johnson
f620141e0d
[wpiutil] Replace LLVM StringMap impl with std::map
...
As string_view operations on std::map<std::string> won't be integrated
until C++26, placeholder implementations are used which are less efficient
in a couple of situations (e.g. insert with hint).
2024-10-31 22:04:13 -07:00
Ryan Heuer
f7dddb8014
[glass] Add Alerts widget ( #7219 )
2024-10-16 13:45:56 -06:00
Tyler Veness
fad06ae1e7
Merge .inc files into headers ( #7215 )
2024-10-15 23:42:57 -07:00
Ryan Heuer
40caabea23
[glass] Align Field2d border and image padding ( #7214 )
2024-10-15 22:02:08 -07:00
Peter Johnson
2d6f02d15b
[glass] Check for struct descriptor size 0 ( #7192 )
...
This avoids a potential divide by 0.
2024-10-11 16:09:32 -07:00