* Auto reconnect to unconnected cameras
* Refactor vision source manager to not suck
* Filter allowed video modes
* Run spotless
* Fix filtering
* Update VisionSourceManager.java
* Remove debug stuff
* Add unit tests, rebase
* run spotless
* Fix config test
* Fix settings not being saved
* run spotless
* oop
* kil debug prints if we have no usb cams to match
* whoooops
* add braudcast
* Actually save pipeline settings
* fix memes
* get right coeffs
* Run spotless
* run spotless
* rebase and add some prints
* Sorry min
* Oops reimpl matching
* Oops
* Don't start metrics thread if not on linux
* Add statusLED support
* [Hardware] Add status LED support
* [Hardware] Invalid LED port checks
* [Hardware] Check if statusLED exists in config
This makes it so that settings are written to disk 1 second after settings have stopped being changed. This means that while dragging sliders in the UI, settings won't be written repeatedly. This reduces wear on system storage and improves performance, as saving is expensive.
* Add camera config for calibration to test mode
* Add 3D capabilities to test mode
* Add resources to main for jar testmode
* Refactor path utilities for test mode
* Apply spotless
* Rework settings page; touch up contour, output, and 3D tabs; font sizing
No stream placeholder; driver mode refined; cameras page
Make settings snackbar work
Lint fix
Fix settings page padding
Actually hide settings fields if unsupported
* Make toggle buttons less confusing; fix driver toggle; form validation
* Make eyedropper work and make input/select styling more consistent
* Fix color picker and tabbing bugs
* Set up camera and settings pages to talk to the backend
* Add auto reconnect
* Add lots of tooltips and improve related thematic consistency
* Only show output stream while color picking
* Unbreak robot offset
* Increase tooltip delay and refactor tooltip label into a component
* Remove toggle button switching behavior
* Fix PnP tab and add a flag to disable FOV configuration
* Move FPS indicator
* Make GPU acceleration status use one value in the store
* Only allow IPv4 static IPs and remove accidentally committed index
* [Server] Hardware Management
* [Server] Hardware Management
* [Server] Hardware Management
* [Server] Hardware Management
* [Server] Hardware Management
* [Server] Hardware Management
* Added metricsPublisher
* [Server] Hardware Management
* [Server] Hardware Management
* Fill in HardwareConfig, allow JSON Comments
* Use hardware config
* [Hardware Management] Use Hardware Config
* [Hardware Management] Use softPWM for dimming
* [Hardware] Added HardwareConfig Test
* [Hardware] Started HardwareManager
* Start metrics thread in hardwareManager
* [Hardware] Added Hardware Manager Test
* [Hardware] Spotless
* [Hardware] Added logging, cleaned up HardwareConfig
* [Hardware] Added logging to PWM class
* [Hardware] Rebase off master, fix merge conflicts
* [Hardware] Ignore metrics commands if on pi
* [Hardware] Remove GPIO provision after shutdown
* [Hardware] Switch over to diozero
* [Hardware] Use broadcom pins
* [Hardware] Fix PWM port
* [Hardware] Use jpi instead of pigpio
* [Hardware] Use dizero-core
* [Hardware] No need to close LED
* [Hardware] Switch to jpigpio
* [Hardware] Initalize JPiGPIO in unit tests
* [Hardware] Use dutyCycle for LED dimming
* [Hardware] Add blink test to HardwareManager
* [Hardware] Fix PWM port
* [Hardware] Fix HardwareManagerTest
* [Hardware] Fix HardwareManagerTest
* [Hardware] Use waves for LED blinking
* [Hardware] Make blinking part of PWM
* [Hardware] Add API methods to hardware Manager
* [Hardware] Only start pigpio if on pi
* [Hardware] Merge PWM classes into GPIO
* [Hardware] Add Hardware stuff to VisionModules
* [Hardware] Remove random semicolon
Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
* Add overload to logger.error() for Throwable to print stack trace
* Replaced all e.printStackTrace() with logger.error()
* Log level dependent on dev or release
* Add TimedTaskManager
* Remove LoopingRunnable, refactor ScriptManager
Refactored ScriptRunner as a runnable to be used with TimedTaskManager
* Add task cancellation
* Apply Spotless
* Fix scriptmanager call
* Selectively send pipeline changes
* Make input and output both rotated
* Notify UI of driver mode change over NT
* Fix "show multiple"
* Rename extent to fullness, fix area filtering
This is a breaking change to docs (make sure we note area is out of 100 and is percentage)
* Apply stream divisor to both streams
Co-authored-by: Banks T <btrout.dhrs@gmail.com>