arduino / arduino/ArduinoCore-arc32
iOS doesn't see changes to Bluetooth services and characteristics between sketches
- Dominant language
- C
- Stars
- 330
- Forks
- 281
- PR merge metrics
- No merged PRs in 30d
Description
iOS doesn't see changes to Bluetooth services and characteristics between sketches
**To duplicate**
1) Run example CurieBle -> LED
2) Use [LightBlue](https://itunes.apple.com/us/app/lightblue-explorer-bluetooth/id557428110?mt=8) from iPhone to connect to LED
3) Run example CurieBle -> ButtonLED
4) Use LightBlue from iPhone to connect to ButtonLED (the old LED name will be show)
**Problem: The old LED characteristics are also shown**
5) Turn Bluetooth off and on on the iPhone
6) Use LightBlue from iPhone to connect to ButtonLED
The correct service and characteristics should now be shown
**Background**
The original problem was that descriptors (0x2901) added to existing sketches were not showing up in LightBlue. This has not been a problem when using other libraries such as [BLEPeripheral](https://github.com/sandeepmistry/arduino-BLEPeripheral) or [bleno](https://github.com/sandeepmistry/bleno). The steps above are an easier way to duplicate the issue without adding descriptors.
**Software/Hardware**
Arduino 101
Arduino IDE 1.6.7 on OS 10.10.5
iOS 9.2 (13C75) on iPhone 6s
**Possible solution**
iOS is expecting Service Changed 0x2a05 to be implemented on the Generic Attribute Service 0x1801.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the issue with the CurieBle -> LED and CurieBle -> ButtonLED examples using LightBlue on iPhone. Start by tracing the BLE implementation used by those examples and the Generic Attribute Service 0x1801, then verify that switching sketches exposes the current service and characteristics without toggling Bluetooth.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, ios
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100