In order to avoid errors with peripheral processes on the next startup
(e.g. ANT Stick getting stuck) graceful explicit shutdown of these is
necessary on app termination.
Move the peripheral startup sequence to an async function to ensure
proper startup order and to avoid multiple simultaneous calls to the
ANT stick causing app crash.
Add boolean guard flag to fix potential crash when user clicks the
peripheral change buttons without waiting for the first request to
complete in the GUI (i.e. clicks too quickly).
- Implement an ANT+ profile manager similar to BLE
- Implement ANT+ Fitness Equipment profile to be able to broadcast data
- Add button to the UI to scroll through the ANT+ profiles
Add guard clauses to notifyMetric call if bleMode is off.
Set blePeripheral and hrmPeripheral to undefined to avoid repeated call
to destroy() (i.e. calling destroy() on an already destroyed peripheral)
Add button to the GUI so the user can switch between heart rate monitor
modes (BLE, ANT, OFF). Update peripheralManager to handle switching and
implement necessary changes to the structure of the peripheralManager.
Refactor ANT manager to be a central class managing the ANT stick state.
This state could be used for future implementation of other ANT profiles
and the peripheralManager should be responsible for creating once needed
- Create a new main folder to include ANT and BLE
- Move peripheralManager with other files with shared information
- Refactor static notify characteristics
- Refactor code to be more uniform across the different peripherals