<div dir="ltr">First of all, thanks for the feedback and for the patch.<div><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
UI seems to work, I see my local device, I see the OSTC Sport, I can pair<br>
it and then it shows that it's paired and allows me to save things.</blockquote><div><br></div><div>Your OSTC Sport device doesn't require a PIN code for pairing? I ask this </div><div>because mine requires one and in parallel I have to open the keyboard </div><div>agent from <b>bluetoothctl</b> tool to prompt for the pin code. Anyway, if it says </div><div>that the devices are paired it is good.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
But then when I click download it shows "initializing" and everything<br>
hangs. Or at other attempts it shows "0%" and hangs.<br>
Can't close the dialog, have to kill Subsurface.<br>
<br>
Running this under the debugger it seems to be hanging in qt_serial_open<br>
on the loop.exec() call (in the Download thread).  We definitely need to<br>
start a timer and connect it to the quit slot of that connection as well.<br>
<br>
I tried a few different things but I can't seem to make it past that<br>
loop.exec() call. Not quite sure where to take this, next.</blockquote><div><br></div><div>This is strange. I didn't reproduce this problem. On my environment </div><div>when the connection fails it raises an error and I can try again. I didn't </div><div>use a timer because if something goes wrong I expect to catch a </div><div><i>BluetoothSocket</i> error and to unblock the QEventLoop. So I was</div><div>counting on the internal timeout used for the connect operation. </div><div><br></div><div>I would be useful if you can start the <b>hcidump </b>tool in order to catch</div><div>the HCI events. Also you can enable the QtBluetooth logging using the</div><div>following call in the main function:</div><div><br></div><div><i>QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true"));</i><br></div><div><br></div><div>If there is nothing interesting in the logs, please give me some details </div><div>about the environment you use and I will try to reproduce it.</div></div></div></div></div>