* Added input and output frame file save routines
* First pass at review items
* Revised logic to not crash on start and pass tests
* Updated build.gradle to force line endings. Spotless passes now.
* Reverted lineEndings to not force Unix.
Gerth needs to fix up his dev pc.
Co-authored-by: Banks T <btrout.dhrs@gmail.com>
* Rename MJPEG streams when camera name changes
* Change camera name to HTTP request
This allows us to wait for it to for sure be done
* Fix reload logic
* whee lnt
* Reload on backend connect too
* Update CameraAndPipelineSelect.vue
* Change chessboard size to be squares not interior corners
This reduces ambiguity
* Force users to select resolution
This forces the correct video mode index to be selected. Otherwise the 0th camera videomode index will be used, as it's zero-inited. This is undesirable.
* Make target model an enum
This will allow the UI to remember the currently selected target.
* Fix DriverMode settings
* Update FileVisionSource.java
* Sort modes by resolution
* Filter duplicated modes
* run spotless
* Fix calibration bug
* run format
* aaaaa
* Add hardware and platform support
* decrease timing sensitivity
* Better handle jvm exitg
* Make reboot happen immediately
* Cleanup restart
* Remove debug print
* Fix Jackson exploding when deserializing old versions of configs
* Add unit test for old config versions
* Run format
* Add a comment
* remove isvendorcam from pipeline manager
* oops
* Update QuirkyCamera to do name-based matching
* Add pi-cam exposure set
* Refactor QuirkyCamera
* Add PiCam quirk test, fix tests for no-name quirky cameras
* Apply Spotless
* Add pinhole model unit test
* 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
* [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