lamemakes / pilot-drive

An open source vehicle headunit built in Python
https://pilot-drive.readthedocs.io/
GNU General Public License v3.0
114 stars 4 forks source link

Host machines that don't have bluetooth hardware aren't handled #15

Open lamemakes opened 1 year ago

lamemakes commented 1 year ago

Describe the bug

When PILOT Drive is installed on a host machine that doesn't have bluetooth capabilities, the Bluetooth service breaks with no indication to the user via the UI

To Reproduce

  1. Install PILOT Drive on a host that doesn't have Bluetooth capabilities (no physical Bluetooth adapters/hardware)
  2. Start PILOT Drive
  3. After the dasbus timeout (25000ms) an error will show that the service creation timed out

Expected behavior

A lack of Bluetooth hardware is gracefully handled, and in the UI the user is alerted that there will be limited functionality (Bluetooth media, ANCS, and rfcomm OBD communication are all disabled)

Actual behavior

An error occurs with no indication to the user

Screenshots

Screenshot-from-2023-05-15-12-05-27

Host information:

Additional context

While it may seem like this is nearly the full functionality of PILOT Drive now other media avenues such as local files and aux input are on the horizon, so it's important a lack of Bluetooth hardware is supported.