Peter Johnson
4b94a64b06
[glass] Fix FMS game data display and editing ( #6381 )
...
Also don't require Enter for editing game data or match time.
2024-02-18 16:29:58 -08:00
Chris Gerth
a70e83ae2e
[glass] Update field size defaults in Field2D.cpp ( #6298 )
...
Looks like the field length is longer in 2024. Used the onshape model to measure the size.
2024-01-23 21:28:17 -08:00
Peter Johnson
3928ed5647
[sim] Sim GUI DS: Add "Disconnected" state and start in it ( #6218 )
...
The default state for the DS in the simulated HAL is changed to disconnected.
The FMS view is now only editable in DS disconnected state.
This enables more robot and field-like testing of robot code, as the
alliance color and other parameters start in invalid states and are
only set when the DS connects.
2024-01-20 21:10:02 -08:00
Peter Johnson
4d109309c9
[glass] Reduce NT log level
2024-01-20 07:24:16 -08:00
Peter Johnson
ecf1755e3e
[glass] Default to 2024 field image ( #6225 )
...
Also relax field scale check a bit so 2024 field image passes.
2024-01-14 14:47:54 -08:00
Peter Johnson
7e3678b0a4
[glass] Fix Field2d position and scaling ( #6222 )
...
Also adds some border padding for the non-image case.
2024-01-13 21:09:02 -08:00
Peter Johnson
7c26bc70ab
[sysid] Load DataLog files directly for analysis ( #6103 )
...
Co-authored-by: Oblarg <emichaelbrnett@gmail.com >
2024-01-05 16:24:31 -08:00
Tyler Veness
f29a7d2e50
[docs] Add missing JavaDocs ( #6146 )
2024-01-04 08:38:06 -08:00
Peter Johnson
73c7d87db7
[glass] NTStringChooser: Properly set retained ( #6144 )
2024-01-03 09:38:10 -08:00
m10653
8aca706217
[glass] Add type information to SmartDashboard menu ( #6117 )
2024-01-01 11:58:13 -08:00
truher
ab309e34ef
[glass] Fix order of loading window settings ( #6056 )
2023-12-23 13:12:09 -08:00
m10653
43fb6e9f87
[glass] Add Profiled PID controller support & IZone Support ( #5959 )
2023-12-22 11:29:25 -08:00
Peter Johnson
f02984159f
[glass] Check for null entries when updating struct/proto ( #6059 )
2023-12-18 11:31:08 -08:00
Peter Johnson
14dcd0d26f
Use char instead of uint8_t for json::parse ( #5877 )
...
The uint8_t usage causes warnings on newer clang versions.
Add GetCharBuffer() to MemoryBuffer classes to make this easy.
2023-11-04 22:18:42 -07:00
Peter Johnson
83a7d33c47
[glass] Improve display of protobuf/struct type strings ( #5850 )
2023-10-30 20:29:29 -07:00
Oliver
cdf981abba
[glass] Fix position of data type in NT view ( #5840 )
2023-10-27 17:41:42 -07:00
Zhiquan Yeo
8a8e220792
[simgui] Add 'Invalid' option for AllianceStation ( #5820 )
2023-10-24 11:51:39 -07:00
Peter Johnson
23ea188e60
[glass] Add protobuf decode error log message ( #5812 )
2023-10-23 23:36:23 -07:00
Peter Johnson
cf54d9ccb7
[wpiutil, ntcore] Add structured data support ( #5391 )
...
This adds support for two serialization formats for complex data types:
- Protobuf for complex objects with variable length internals that need forward and backward wire compatibility (lower speed, more flexible)
- Raw struct (ByteBuffer-style) for fixed-length objects (higher speed, less flexible)
Deserialization can be done either by creating a new object (for immutable objects) or overwriting the contents of an existing object (for mutable objects).
Implementing classes should provide inner classes that implement the Protobuf or Struct interface (in Java) or specialize the wpi::Protobuf or wpi::Struct struct (in C++). It is possible for classes to implement both. If the class itself does not implement serialization, it's possible for third parties/users to provide an implementation instead.
Uses the Google protobuf implementation for C++ and the QuickBuffers alternative protobuf implementation for Java.
2023-10-19 21:41:47 -07:00
PJ Reiniger
210255bfff
[wpiutil] Update json to 3.11.2 ( #5680 )
2023-10-14 21:53:56 -07:00
Peter Johnson
741d166457
[glass] NT view: enhance array support ( #5732 )
...
- Break out array elements; this makes it easier to see array contents and
allows plotting individual array elements
- Provide array editor
2023-10-10 00:28:54 -07:00
Tyler Veness
66358d103e
Add menu items for online docs to GUI tools ( #5689 )
2023-09-29 17:25:28 -07:00
PJ Reiniger
dd5612fbee
[json] Add forward definition header ( #5676 )
2023-09-22 13:01:27 -07:00
Tyler Veness
5ab54ff760
Replace wpi::raw_istream with wpi::MemoryBuffer ( #5675 )
...
Instances of wpi::raw_istream were left that are reading incrementally
from file descriptors like USB devices.
2023-09-21 23:20:09 -07:00
Tyler Veness
97021f074a
[build] Upgrade imgui and implot ( #5668 )
...
Upgrade implot to fix deprecation warning for sprintf(), and upgrade
imgui docking branch to match.
2023-09-19 23:38:17 -07:00
Tyler Veness
17f1062885
Replace std::snprintf() with wpi::format_to_n_c_str() ( #5645 )
...
fmtlib uses consteval format string processing, which makes it more
efficient than std::snprintf().
snprintf()s in libuv, mpack, processstarter, and wpigui were left alone.
processstarter uses stdlib only, and wpigui only depends on imgui.
fmt::format_to_n() is analogous to std::format_to_n()
(https://en.cppreference.com/w/cpp/utility/format/format_to_n )
wpi::format_to_n_c_str() is a wrapper which adds the trailing NUL.
2023-09-17 20:00:16 -07:00
Peter Johnson
b542e01a0b
[glass] Fix array crash when clearing existing workspace ( #5535 )
2023-08-12 15:17:43 -07:00
Ryan Blue
75cbd9d6d0
[glass] Add background color selector to glass plots ( #5506 )
2023-08-05 14:16:04 -07:00
Ryan Blue
0552c8621d
[glass,ov] Improve Glass and OutlineViewer title bar message ( #5502 )
...
Detect changes to mode and update based on mode change and connection events.
2023-08-03 23:43:03 -07:00
Ryan Blue
e9858c10e9
[glass] Add tooltips for NT settings ( #5476 )
2023-07-28 16:32:07 -07:00
Tyler Veness
652d1c44e3
[wpiutil] Upgrade to macOS 12 to remove concept shims ( #5379 )
...
The macOS deployment target has been upgraded from 10.15 to 11. Also, a
deprecation warning for sprintf() in libuv was suppressed.
2023-06-08 19:59:54 -07:00
Tyler Veness
91cbcea841
Replace SFINAE with concepts ( #5361 )
...
Concepts are cleaner to use and result in much better error messages for incorrect template use.
2023-06-07 09:50:09 -07:00
Tyler Veness
fd294bdd71
[build] Fix compilation with GCC 13 ( #5322 )
2023-05-16 13:31:58 -07:00
Peter Johnson
27fb47ab10
[glass] Field2D: Embed standard field images ( #5159 )
2023-05-12 21:31:38 -07:00
Peter Johnson
0d462a4561
[glass] NT view: Change string/string array to quoted ( #5111 )
2023-02-17 18:01:54 -08:00
Peter Johnson
25ab9cda92
[glass,ov] Provide menu item to create topic from root ( #5110 )
2023-02-17 16:46:02 -08:00
Peter Johnson
2f6251d4a6
[glass] Set default value when publishing new topic ( #5109 )
2023-02-17 16:45:38 -08:00
Peter Johnson
fe5d226a19
[glass] Fix option for debug-level NT logging ( #5049 )
2023-02-03 22:03:45 -08:00
Peter Johnson
193a10d020
[wpigui] Limit frame rate to 120 fps by default ( #5030 )
...
Limiting with vsync is apparently unreliable on a number of systems;
this resulted in high CPU/GPU usage.
Also add current actual frame rate to about dialog of GUI tools.
2023-02-03 15:21:52 -08:00
Peter Johnson
fa7c01b598
[glass] Add option for debug-level NT logging ( #5007 )
2023-02-03 15:20:03 -08:00
ohowe
b0c6724eed
[glass] Add hamburger menu icon to titlebars ( #4874 )
...
This does the same thing as right clicking, but provides a visual indicator.
The icon disappears if the window is too small or docked (right click keeps working).
2023-01-01 20:05:09 -08:00
Peter Johnson
1562eae74a
[ntcore] Refactor meta-topic decoding from glass ( #4809 )
2022-12-31 12:01:51 -08:00
Peter Johnson
40a22d69bc
[glass] Add support for alternate NT ports ( #4848 )
2022-12-24 20:17:45 -06:00
Peter Johnson
967b30de3a
[glass] Fix NT view UpdateClients() bug ( #4808 )
...
If UpdateClients() was called in the same update batch as an entry
removal, it could crash in GetEntry() due to a null entry caused by
deletion before a removal erase pass was made.
2022-12-12 23:38:36 -08:00
Peter Johnson
a865f48e96
[ntcore] Pass pub/sub options as a unified PubSubOptions struct ( #4794 )
...
In Java, PubSubOption is still used for passing options, but this
simplifies C++ use substantially, as it allows aggregate construction.
2022-12-12 19:28:15 -08:00
Ryan Blue
bde383f763
[hal] Replace const char* with std::string_view in Driver Station sim functions ( #4532 )
2022-12-09 13:10:23 -08:00
Peter Johnson
2d0faecf4f
[glass] DataSource: Add spinlock to protect value ( #4771 )
...
A lock is needed here due to HAL async callbacks.
2022-12-06 21:09:14 -08:00
Jordan McMichael
8618dd4160
[glass, wpilib] Replace remaining references to Speed Controller with Motor Controller ( #4769 )
2022-12-05 20:06:43 -08:00
Peter Johnson
e9bd50ff9b
[glass] NT view: clear meta-topic info on disconnect ( #4732 )
2022-11-29 21:57:48 -08:00
Peter Johnson
e43e2fbc84
[wpiutil] StringExtras: Add UnescapeCString ( #4707 )
...
Based on implementation in glass but enhanced for generic use.
2022-11-26 18:21:45 -08:00