subsurface/core
Linus Torvalds e91c252093 BLE: add list of known good/bad BLE GATT services
We've tried to do this "automagic" service discovery, and it mostly
works, but then occasionally it doesn't.

Making things worse, I think different platforms end up enumerating
services differently, so our "pick the first service that looks like it
might be a serial service" ends up working on some platforms, but not
necessarily on others.  Because "first" might be different.

So start a list of known good/bad services - and fall back to the old
logic when you can't decide reliably.

This fills in juat a few cases that I can easily check myself, and the
"details" field for them may be incomplete.  For example, I know Nordic
Semiconductor has their vendor-specific UUIDs, and they can be found in
different devices, so calling them "Nordic UART" and "Nordic Flash"
services makes sense.

But the "Scubapro i770R" service? It might indeed be specific to the
Scubapro i770R.  Or it might be a general service UUID that Pelagic
uses.  Or it might be the service UUID of a particular chip, and found
in dive computers from other designs too (and not necessarily in all
i770R's either).

So this is a preliminary first stab at this, and I'm sure we'll extend
the list and possibly improve on the explanations.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-05-17 09:29:07 -07:00
..
settings desktop: remove user survey 2020-04-19 14:27:54 -07:00
subsurface-qt cleanup: invert control-flow when resetting the core structures 2020-05-07 08:43:27 -07:00
android.cpp build-system/android: remove libusb at QTest 2020-04-25 13:18:41 -07:00
applicationstate.cpp Turn application state into enum 2019-05-12 12:33:55 -07:00
applicationstate.h Turn application state into enum 2019-05-12 12:33:55 -07:00
btdiscovery.cpp core/bt: always add bt name for devices 2020-05-15 04:05:06 +03:00
btdiscovery.h Revert the singleton PR 2019-09-27 16:26:58 -07:00
checkcloudconnection.cpp Cloud storage: remove outdated certificate hack 2019-10-09 22:38:29 +03:00
checkcloudconnection.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.cpp core: correct cloudstorage.cpp to use static qPrefCloudStorage functions. 2019-12-05 11:48:26 -08:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
cochran.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
cochran.h
color.cpp Cleanup: silence clang missing braces warning in core/color.cpp 2018-09-01 11:31:18 -07:00
color.h Indicate negative cylider pressure 2019-08-08 08:56:44 -07:00
compressibility.r
configuredivecomputer.cpp Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
configuredivecomputer.h Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
configuredivecomputerthreads.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
configuredivecomputerthreads.h
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c cleanup: move the inertgas enum from qthelper.hpp to deco.c 2020-05-06 00:22:31 +02:00
deco.h Parser: remove global state 2019-08-08 16:26:31 -07:00
device.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
device.h cleanup: move clearing of device nodes to clear_dive_file_data() 2020-04-24 10:40:12 -07:00
devicedetails.cpp
devicedetails.h
display.h cleanup: make enumerate_devices of external linkage 2020-05-01 08:53:45 -07:00
dive.c undo: make adding of pictures undoable 2020-05-06 13:58:09 -07:00
dive.h undo: make adding of pictures undoable 2020-05-06 13:58:09 -07:00
divecomputer.cpp cleanup: move clearing of device nodes to clear_dive_file_data() 2020-04-24 10:40:12 -07:00
divecomputer.h cleanup: move get_dc_nickname from qthelper.cpp to divecomputer.cpp 2020-04-24 10:40:12 -07:00
divefilter.cpp filter: properly search for tags 2020-05-16 12:40:08 -07:00
divefilter.h filter: add a week to maximum default date time 2020-04-24 10:05:27 -07:00
divelist.c cleanup: invert control-flow when resetting the core structures 2020-05-07 08:43:27 -07:00
divelist.h cleanup: remove unused function append_dive() 2020-05-02 14:52:51 +02:00
divelogexportlogic.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite-helper.cpp Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
divesite.c mobile/edit: don't add dive site twice to table 2020-03-17 14:05:24 -07:00
divesite.h cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
divesitehelpers.cpp cleanup: split uiLanguage() in two functions 2020-03-22 12:01:09 -07:00
divesitehelpers.h Geo lookup: don't pass arguments / result via global object 2018-10-11 16:25:02 -07:00
downloadfromdcthread.cpp core/bt: match DC descriptor in lower case 2020-05-15 02:49:46 +03:00
downloadfromdcthread.h android/usb: better memory management 2020-03-16 07:58:20 -07:00
equipment.c media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
equipment.h cleanup: move copy_cylinders from dive.c to equipment.c 2020-05-06 13:58:09 -07:00
errorhelper.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
file.c git: don't check for git sha in parse_file() 2020-04-07 07:46:27 -07:00
file.h cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
format.cpp Cleanup: Slightly shorten code in vqasprintf_loc() 2018-04-09 11:29:43 -07:00
format.h Cleanup: Move *_loc formatting functions into new format.cpp file 2018-04-09 11:29:43 -07:00
fulltext.cpp filter: include tags in fulltext search 2020-05-16 12:40:08 -07:00
fulltext.h fulltext: rename fulltext_reload() to fulltext_populate() 2020-04-08 08:08:19 -07:00
gas-model.c Cleanup: replace macro by inline function in gas-model.c 2019-08-08 15:22:09 -07:00
gas.c Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gas.h Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gaspressures.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
gaspressures.h Cleanup: Make gaspressures.h a regular include file 2019-06-19 13:11:10 -07:00
gettext.h
gettextfromc.cpp Localization: make cache thread safe and robust against use-after-free 2018-06-24 20:31:14 +02:00
gettextfromc.h Localization: remove gettextFromC::instance() 2018-06-24 20:31:14 +02:00
git-access.c core: debug cert calls 2020-04-18 09:00:21 -07:00
git-access.h cloud-storage: create consistent commit message for merges 2020-04-10 09:53:24 -07:00
gpslocation.cpp cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
gpslocation.h mobile: use undo-command to apply gps fixes 2020-03-09 12:41:57 -07:00
imagedownloader.cpp code cleanup: consistently initialize zero duration_t 2020-01-10 02:37:03 +09:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c Cleanup: return cylinder from cylinder_start() in parser 2019-11-09 19:19:04 +01:00
import-csv.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
import-csv.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-divinglog.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
import-shearwater.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
import-suunto.c Cleanup: return cylinder from cylinder_start() in parser 2019-11-09 19:19:04 +01:00
ios.cpp cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
libdivecomputer.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
libdivecomputer.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
liquivision.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
load-git.c Remove 'string marker after running out of strings' warning 2020-05-12 11:36:59 -07:00
macos.c cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
membuffer.c cleanup: move FRACTION macro from dive.h to units.h 2020-05-01 09:42:31 -07:00
membuffer.h Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
metadata.cpp code cleanup: replace created() with birthTime() for Qt >= 5.10 2020-01-10 02:37:03 +09:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp
metrics.h
ostctools.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
parse-gpx.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
parse-gpx.h cleanup: only include QString in desktop-widgets/importgps.h 2020-05-01 09:42:31 -07:00
parse-xml.c media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
parse.c media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
parse.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
picture.c core: move picture-related function from dive.c to picture.c 2020-05-06 13:58:09 -07:00
picture.h core: move picture-related function from dive.c to picture.c 2020-05-06 13:58:09 -07:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
planner.h cleanup: move DECOTIMESTEP from dive.h to planner.h 2020-05-01 09:42:31 -07:00
plannernotes.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
pref.h mobile: remove filter settings 2020-03-01 10:21:44 -08:00
profile.c cleanup: make analyze_plot_info local to profile.c 2020-05-01 08:53:45 -07:00
profile.h cleanup: make analyze_plot_info local to profile.c 2020-05-01 08:53:45 -07:00
qt-ble.cpp BLE: add list of known good/bad BLE GATT services 2020-05-17 09:29:07 -07:00
qt-ble.h Update to new libdivecomputer version 2020-01-27 09:51:31 -08:00
qt-gui.h core,tests: change qml register function 2018-09-11 17:22:58 -07:00
qt-init.cpp translations: use German translation for non-Swiss German locales 2020-03-22 12:02:48 -07:00
qthelper.cpp cleanup: invert control-flow when resetting the core structures 2020-05-07 08:43:27 -07:00
qthelper.h cleanup: invert control-flow when resetting the core structures 2020-05-07 08:43:27 -07:00
qtserialbluetooth.cpp iostream: fix incorrect rfcomm error case when writing 2020-03-14 11:34:46 -07:00
save-git.c media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
save-html.c media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Fix CSV for profile export 2020-04-18 13:41:29 +02:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c Save SAC, OTU and CNS in the XML export 2020-05-14 13:27:07 -07:00
selection.cpp selection: create global single_selected_trip() function 2020-05-03 15:02:21 -07:00
selection.h selection: create global single_selected_trip() function 2020-05-03 15:02:21 -07:00
serial_ftdi.c Fix Cressi interface ftdi opening bug 2018-11-18 20:01:28 +02:00
serial_usb_android.cpp android/usb: remove "autoselect driver" option for unknown VID/PIDs 2020-03-16 07:58:20 -07:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.c
sha1.h
ssrf.h core: remove LOG_STP from mobile 2019-12-13 07:04:00 -05:00
statistics.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
statistics.h Core: dynamically allocate the result of get_gas_used() 2019-11-09 19:19:04 +01:00
strndup.h
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
structured_list.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurface-time.h cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
subsurfacestartup.c desktop: remove user survey 2020-04-19 14:27:54 -07:00
subsurfacestartup.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
subsurfacesysinfo.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
subsurfacesysinfo.h drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
table.h media: create sort_picture_table function via macro 2020-05-06 13:58:09 -07:00
tag.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
taxonomy.h Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
time.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
timer.c Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
timer.h Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
trip.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
trip.h selection: add selection flag for trips 2020-05-03 15:02:21 -07:00
uemis-downloader.c cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
uemis.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
units.h cleanup: Change Salty to Brackish 2020-05-05 08:25:21 -07:00
unix.c cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
uploadDiveLogsDE.cpp core: fix incorrect changes in divelogs.de export 2020-02-17 10:50:51 -08:00
uploadDiveLogsDE.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
uploadDiveShare.cpp core: divehare avoid race problem. 2019-12-12 10:10:01 -05:00
uploadDiveShare.h core: divehare change slot names 2019-12-12 10:10:01 -05:00
version.c
version.h
videoframeextractor.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h
windows.c cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
windowtitleupdate.cpp Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
windowtitleupdate.h Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
worldmap-options.h
worldmap-save.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
worldmap-save.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00