Elastic v2024.2.0-beta
Added
- Basic application logging
- Missing widgets from Shuffleboard and SmartDashboard
- 3-Axis Accelerometer
- Accelerometer
- Encoder
- Motor Controller
- Nidec Brushless
- Profiled PID Controller
- Relay
- Ultrasonic
- Text displaying network latency
- RTT network tables protocol
- Only uses if the server is running NT4.1, still works with WPILib 2023
- Ability to automatically resize the height of the window to fit the Driver Station on screen (same thing the LabVIEW dashboard does)
- Better looking context menus
- Ability to change widget type from the context menu, even if not connected to network tables
- Option to change the default update rate and graph rate
- Option to hide metadata topics in the add widget dialog
- Ability to drag a table and auto create a list layout
Changes/Fixes
- Widgets are only rebuilt if subscription values change - significantly better performance
- Widgets ignore the mouse pointer when dragging
- Prevents the tooltip from showing on dropdown choosers
- Default tabs get correctly created on initial startup
- Team number doesn't display "null" if it's not set
- Camera stream widget will no longer choose invalid stream URLs
- Camera stream no longer breaks when switching tabs
- Widgets correctly rebuild themselves when changing subscription settings
- Differential drive vector arrow now points in the correct direction at the correct location
- List layout label locations properly load on startup
- List layout widget types and NT properties can now be edited without having to restart the app (oops)
- Shuffleboard API won't add widgets if disconnected from Network Tables
- Match time widget rounds down instead of up
- NaN numbers don't crash the Field widget
- Field trajectories draw a solid line instead of multiple dots
- Drivetrain widgets are scaled to the size of the widget
- Graph widgets use NT timestamps to update data - significantly higher accuracy
- Array editing properly works in text display widgets
Internal Code Changes
- Upgraded Flutter version to 3.16.5
- NT widgets inherit an abstract class instead of using a mixin
- All widgets are built using the NTWidgetBuilder so all constructors can be defined in one spot
- Everything with NT4 related has been renamed to have NT, except for classes specific to NT4 (subscriptions and topics)
- State management has been completely rebuilt, data is no longer stored in the draggable container classes themselves
Full Changelog: v2024.1.1-beta...v2024.2.0-beta