Skip to content

CoreTemp: refactor BLE runtime and added ANT+ HRM configurator - #4255

Open
zyf0717 wants to merge 2 commits into
espruino:masterfrom
zyf0717:split/coretemp-ble-hrm-configurator
Open

CoreTemp: refactor BLE runtime and added ANT+ HRM configurator#4255
zyf0717 wants to merge 2 commits into
espruino:masterfrom
zyf0717:split/coretemp-ble-hrm-configurator

Conversation

@zyf0717

@zyf0717 zyf0717 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Rework CoreTemp BLE lifecycle handling to support explicit pair/disconnect, reconnect backoff, cache rebuilds, pause/resume ownership, and status events.
  • Add CORE Control Point support for ANT+ HRM scan, pair, status, and clear workflows.
  • Add App Loader custom settings for background connection, widget visibility, debug logging, custom-profile mode, scan window, and default ANT+ HRM ID.
  • Add CoreTemp regression and emulator app-test coverage for BLE lifecycle, Control Point, HRM workflows, settings, and package manifest behavior.
  • Package coretemp.hrm.json, add deployable runtime modules, and bump CoreTemp to 0.10.

Validation

  • npm test
  • node apps/coretemp/tests/run.js
  • Verified branch contains only CoreTemp changes.
  • Tested on multiple Bangle.js 2 devices, multiple CORE and HEATSENSE devices, and PowerLabs Chest HRM, Polar H10, and Verity Sense ANT+ HRMs.
screenshot (1)

@zyf0717 zyf0717 changed the title CoreTemp: add BLE runtime and ANT+ HRM configurator CoreTemp: refactor BLE runtime and added ANT+ HRM configurator Jun 19, 2026
@zyf0717
zyf0717 marked this pull request as ready for review June 19, 2026 07:59
@zyf0717

zyf0717 commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

@ihewitt looping you in as the original CoreTemp author. This PR substantially refactors CoreTemp’s BLE lifecycle and adds ANT+ HRM configuration/control-point support. I’d appreciate your review, especially around whether the new runtime ownership model, reconnect/cache behavior, and settings UX still fit the app’s intended design.

For detailed docs please see README.md.

@zyf0717
zyf0717 force-pushed the split/coretemp-ble-hrm-configurator branch from d77a674 to 2124ae7 Compare June 22, 2026 07:21
@ihewitt

ihewitt commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

@ihewitt looping you in as the original CoreTemp author.

Apologies haven't had time to look through yet! And I didn't have my "authenticator" to hand to login to GitHub!!! 🤦‍♂️ I'll try to find the time tonight. 👍

@zyf0717

zyf0717 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

@ihewitt looping you in as the original CoreTemp author.

Apologies haven't had time to look through yet! And I didn't have my "authenticator" to hand to login to GitHub!!! 🤦‍♂️ I'll try to find the time tonight. 👍

No worries, and thanks for taking a look when you can.

I made these changes for a deployment use case on my side and thought they might be useful upstream. Since this significantly changes the CoreTemp runtime/connection model, I’d value your thoughts on whether this fits as an update to the existing app or should be split out.

Happy to adjust or split the PR as needed!

@zyf0717

zyf0717 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

Hi @ihewitt, just a gentle follow-up when you have a moment.

I now have downstream HeatSuite changes that depend on this CoreTemp work, and I’d ideally like to formalise the integration rather than end up with a fragmented deployment setup.

I’m mainly looking for a high-level steer on whether this direction is acceptable for the existing CoreTemp app, or whether you’d prefer it split out separately. Happy to make any changes needed from there — thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants