BTHRM issue depending on the firmware version.

Posted on
  • With the latest firmwares v14.12 and v14.14, I have issues with my external BTHRM. Technically, the bthrm app sees the polar device when I scan (in settings), but then, when I start the bthrm app, there's nothing coming out from BTHRM, I don't get any data out of it, only the wrist HRM. I was thinking that my external device is dead, but I flashed the firmware V13 and the data reached the watch. V14 also works fine.
    I'm an early backer and I flashed almost every latest firmware as soon as it was available. This issue disappeared and reappeared on a regular basis. I have no technical knowledge, but from my perspective, some versions of the firmware break the transmission of the BTHRM data to the watch.

  • Hmm, that's interesting - thanks! 2v14.12ish did add the framework to allow multiple bluetooth connections out of the Espruino device which is quite a big change, and I wonder if something got broken there. I'll have a look today and see if I can spot anything.

  • Ok, just fixed! Looks like bthrm was doing some fancy stuff trying to cache characteristics to get it to connect faster, and with the newer firmwares that are capable of connecting to multiple devices, the BluetoothRemoteGATTCharacteristic now needs to reference the device it's for.

  • Yees ! It works with your oh-so-quick fixes !

  • Hi,
    Exactly the same problem with 2v14.59 and 2v14.63. I went back to 2v14 and it works like a charm.

  • Argh, sorry about that - I've been doing a lot of low-level bluetooth improvements recently and it looks like I messed this up. I've just put a fix in so it should be sorted in 2v14.65

  • Ah, 2v14.79 doesn't work either, but I come back with a potentially useful feedback (at last !). The bthrm app shows 2 sentences:"resetting trying time" and "set timeout for device as 100" they alternate at high speed and it took me a while to decypher these.
    Now 2v14.80 is being uploaded. More news soon.

  • 2v14.80 doesn't work either. Actually there are more alternated sentences that blink in the bottom of the screen, I could get "resetting retry time".

  • This could be related to http://forum.espruino.com/conversations/­377841/#comment16618202 - I'll have a look

  • I've just put fix in, and it should be in espruino_2v14.91_banglejs2.zip

  • 2v14.89 ,2v14.92 and 2v14.94 didn't work for the bthrm. I didn't try the 2v14.91 nor the latest ones

  • When/where did you download 2v14.94? I've just checked and there was never a 2v14.94 cutting edge build at https://www.espruino.com/binaries/travis­/master

  • Then I got it wrong. I only went into the edge apploader. I'm sure I tried v...89 and v...92. I thought I tried another version, but it seems I have lost track at some point. Sorry for the misunderstanding.

  • I'm delighted to confirm that 2v14.125 works with my bthrm.

  • -I went for a run today after 7 weeks without any sport. I'm on 2v15.140, and the latest run app couldn't get the input from BTHRM.
    Unexpectedly, the BTHRM app finds my device and displays its input.
    -On a different note, the BTHRM app could have a little improvement in terms of UX. When modifying the settings of this app, usually, the next action is to go back the clock, then back to menu, then to the BTHRM app to check if settings work as expected. Maybe an option to check devices' inputs from the settings, or direct accesss to the app would be useful.

  • What are your settings for BTHRM? Are you using recording during run? It seems to work fine on 2v15.140 for me (Default Mode, Debug->Bonding, Recording HRM in Run). Since the last couple updates 0 bpm events are filtered, so coming out of the fallback internal HRM takes a little longer if the BT belt delivers 0 bpm events at the start. My Tickr X2 needs about 15-20 seconds after connect before sending usable heartrate data after a cold start.
    As for UX I had thought about creating an optional widget for showing current connection state to be able to see problems while using another app. Since apps are usually not aware of the BTHRM and just use HRM events that could be helpful.

  • Thanks for your reply
    I can't get BTHRM to give me inputs from my device anymore. I'll check it again later. I have little spare time for now.

  • I just fixed a bug with BTHRM 0.16 where turning the HRM off has prevented the BTHRM from reconnecting properly on the next power on.

  • I updated and ran a quick test with BTHRM, it worked, well done @halemmerich !

  • Hi there !
    The BTHRM stopped to work with 2 or 3 last firmwares. Well, it kinda works. The BTHRM app sees the device, and when displaying data, but it doesn't show anything under BT, there's a message in the bottom saying: set retry to 100. I tried increasing the fallback time to the max, and rewriting settings, but it didn't help. Flashing the 2v19 makes it work.

  • That's odd - so you're saying 2v19 works, but the cutting edge firmwares don't?

  • @Gordon . Yes, exactly. I just tried 2v19.122 . It doesn't work. 2v19 works fine.

  • Ok, thanks - just fixed if you update your firmware.

    Turns out BTHRMLite worked all along though: https://banglejs.com/apps/?id=bthrmlite

    BTHRM sets custom connection parameters (to allow slower bluetooth HRM devices) - I'm not sure if that's needed or not (seems unlikely) but the bluetooth stack started rejecting it after I increased slave_latency to make connections more stable, because conn_sup_timeout had to change too

  • Btw, for those reading this thread, bthrm has worked most of the time apart from a few blips with some firmware updates, that have all been super quickly fixed.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

BTHRM issue depending on the firmware version.

Posted by Avatar for Fteacher @Fteacher

Actions