* fix an issue where the fov isnt reset on error
* Fix issue with incorrectly reading fov on update
* Properly handle NPE in case of error
* Fix issue with vuetify comps not converting strings to numbers
* Formatting fixes
Fixes leftover bugs from #767 and #856
- Because new URLs aren't based on hash URL schemas, all the routes need to be updated to final paths instead of relative ones that were previously caught by the hash URL
- Fixed misc Vue warnings pointed out by @mcm001
Currently, there is a difficult-to-reproduce bug where the backend reports that camera calibration was successful in logs via the logger but then throws an exception causing the backend to return a 500 error code with no request body which causes the frontend to interpret this as a failed calibration attempt. This ultimately leads to the entire instance of photonvision crashing and requiring the entire pi to be restarted. It is believed this issue resides inside the ConfigManager's saving action following the calibration update but is not confirmed.
* Reordered ov video modes to be lowest-to-highest res
* Save off sensor model on init. Guard against low, crashy exposures.
* Pulled in matt's fixups from https://github.com/PhotonVision/photon-libcamera-gl-driver/suites/10144555465/artifacts/495489276
* Further autoexposure tweaks for picam v1
* Allow undercores in camera rename
* Additional guarding against output images being empty
* lock out auto-exposure on ov9281's
* Guarding stream pipelines against empty frames from cameras. Rearranged driver stream to resize first, then draw crosshairs (matchces with other pipelines now).
* NT Priority fixup - if client is sending commands on NT, its nt value should win over anything done from the UI
* Synchronous pipline adjustmet fix, method cleanup
* lint
* circle pipe and data publish bugfixes
* lint
* Pulled in matt's latest .so and re-enabled auto exposure on 9281's
* Reverted to front end using MJPEG streams. Added FPS limiting to the stream.
* formatting
* fixup - got handlers getting called on error to reload
* revised architecture to let a click open a new tab
Co-authored-by: Matt <matthew.morley.ca@gmail.com>
* wip support for a stats overlay
* WIP adding stream stats. But.... eeeh. Corporate.
* kbits over mbytes
* A ton more tweaks:
- Increased thread priority for streaming to reduce "stutter/slow" issues
- revised client side URL creation order to prevent the possibility of repeat-identical URL's
- Improved overlay to only be visible on mouseover, and fully centered in the screen
* wpiformat on js
* WIP adding second websocket handling for cameras
* just more WIP
* even more wip. Most java-side framework completed, but not yet debugged
* IT LIVES. Still needs lots of cleanup. But we're transferring and displaying data!
* moved down an architecture layer. Improved multiple-camera handling
* Additional WIP to help improve smoothness and performance, though not yet tested
* bugfixes galore
* tweak compression
* spotless
* more tweaks for handling slow/intermittent streams
* wpilibformat maybe?
* clang-format maybe?
* WIP - adding thinclient. I don't like it yet, it should be more auto-generated than it is.
* thinclient formatting fixups
* Reduced amount of empty send data by limiting to only one stream per client (which is all we really need). Framerate is up slightly, overhead is down.
* bugfixes, faster streaming, better mjpeg compression settings, thinclient working
* spotless and formatting
* cmon wpiformat....
* re-added mjpg streams
* added a loading GIF to imporve the feeling of responsiveness
* formatting
* urlparams and built-in thinclient
* wpiformat
* prevent wpiformat complaints
* Removed uint8 array and base64 conversion from client side
* Synced up js implementations for ws streaming
* formatting/spotless
* Add UI-side changes for invertable hue slider
* Add hue inverted range
* Add new slider backgrounds to threshold tab
* Run spotless
* Updated libpicam.so to artifact built from commit c458bab87740 in that repo on gerth2's pi.
* undo the java-side hack since isVCSMSupported is fixed
* Hook up hue inversion frontend to backend and UI tweaks
* Remove unused .flipped class
* Fix hueInverted name in Vue.js store
Co-authored-by: Declan Freeman-Gleason <declanfreemangleason@gmail.com>
Co-authored-by: Matt <matthew.morley.ca@gmail.com>
Co-authored-by: Chris Gerth <chrisgerth010592@gmail.com>
* Fixup colored shape backend code
* More colored shape stuff
* Start adding shape change to drawing
* Mostly works!
* Add powercell image for shape test mode
* Make super-duper-sure to release stuff
Fixes colored shape leak
* Move approx poly dp into Contour
* Adjust epsilon threshold
* Add dialog to change pipeline type
* Run spotless
* Make yes red :>
* Move "no" button
* Fix duplication/deletion name logic and switching
* Fix compilation errors from rebase
* Update VisionSourceManager.java
* Update type dialog, remove duplicate popup
The dropdown still switches even if the user says "no" tho
Co-authored-by: Banks Troutman <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
* 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
* Did some stuff
* Fix gradle, start implementing mjpeg frame consumer
* Did some stuff
* bade changes
* rename camera config to USBCameraConfiguration, add name
* unrename cameraconfiguration
* Add pub/sub framework
* Add setResolution to mjpeg frame consumer
* add NTDataConsumer
* Add some totally broken hsv hacks
* Start refactoring UI data
* Update index.js
* Commit and push, he says
* Fix up some errors
* Fix input tab
* Fix fps
* Update index.js
* Add pipeline field setting, update PipelineManager, fix nullpointers and USBCameraSettables
* Change v-model to point to data()
* update hsv to use mutations
* Work on saving, fix hsv
* Rename shouldErode/shouldDilate to erode and dilate
* Hook all the tabs up to the Store
* Change handleData to handlePipelineData
* camera quirk redo, add ICCSub to SocketHandler
* Fix some property names
* Fixed tons of naming in UI, fix backend for multi-val PSCs, fix PSC enums
* change pipeline type to an int in store
* Fix mutation naming
* Attempt threshold fix
* Update SocketHandler.java
* Add truthy data sending
* Start adding logging support
* [UI] Add delay to slider input boxes (#1)
* [UI] [Backend] potentially fix camera settings, various logging tweaks
* Don't release raw input mat
* add setVideoModeIndex to vision settables
* Implement pipeline index in socket handler, add framework for renaming/changing pipes
* (ish) get pipeline change working
* Create index.html
* Cleanups, fix pipeline index bug, fix stream res for MJPG, add dashboard stream (unused)
* Refactor UI to use mutatePipeline, send pipeline results
* Update NetworkConfig.java
* Change double to number
* Run spotless
* Fix reversal of large/small comparators
* Fix left/right
* Fix pitch/yaw calculation bug, fix area bug
* Use Vue.set instead of assignment
This fixes {{ }}
* Update App.vue
* run spotless
* Actually add pipelines and reassign indecies
* Delete old pipeline configs
Fixes duplication on renaming pipeline
* Start working on deleting pipes
* Fix camera nickname change
* run spotless
* Fix some test stuff
* Update VisionModuleManagerTest.java
* vision source manager test is still broken
* Fix VisionSourceManager test
* Apply spotless 2 electric boogaloo
Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
Co-authored-by: Declan Freeman-Gleason <declanfreemangleason@gmail.com>
Co-authored-by: Aaryan Agrawal <54345060+13Ducks@users.noreply.github.com>
* Rebrand UI and increase responsiveness
* Fix typo in PipelineViews and SettingsViews directory name
* Inset FPS indicator in stream preview
* Rebrand favicon