bluerobotics / bluerobotics/BlueOS

Make serial device selector API-accessible

Open
#1,797 0 comments 2 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.