bluerobotics / bluerobotics/BlueOS
Make serial device selector API-accessible
- Dominant language
- Vue
- Stars
- 453
- Forks
- 151
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 174
Description
The Bridget and ArduPilot Manager services both have access to an intuitive dropdown that lists available serial devices with images of where the physical ports are located on the Onboard Computer / Navigator flight controller. Serial devices are common, and it's quite likely that device integration extensions for serial devices will want to allow the user to select a serial port instead of probing all available ports and hoping not to damage anything.
Accordingly, it'd be cool if there's some way for an extension to make use of the serial device dropdown that's already built into BlueOS, ideally without replicating the code for it[^1]. Conceptually the idea would be for the frontend to make some API call to BlueOS, and end up receiving the device path for the serial port selected by the user. Whether the API call returns something to be displayed (e.g. a list of devices and corresponding images), or handles the displaying (e.g. via a dialog or iframe or something) and just directly returns the device path is an implementation decision.
This could be useful for #1615, as well as upcoming extensions like the Cygnus Ultrasonic Thickness Gauge one @rjehangir is working on.
[^1]:This is important for maintenance, because services and extensions ideally shouldn't need to be kept up to date with improvements to the available serial device displays or options (e.g. as support for additional Onboard Computer types is added)
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are identified. Start by locating the existing serial-device dropdown used by the Bridget and ArduPilot Manager services and tracing how an extension could access it; done means an extension can invoke a shared selector and receive the chosen device path without duplicating its maintenance.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100