-
next I'm going to test connecting watch to current time device and sending current time via that connection with 1 ms accuracy (custom format).
That may be easier and more predictable after all.
Strangely this seems to be much worse. Connecting to get few bytes can take several seconds and
BluetoothRemoteGATTCharacteristic.readValue()
part of that takes at least 90 ms but sometimes up to 300 ms - much worse than using advertisements.
There is still scan response. I will try the hack with SoftDevice >=6.1 with updating timestamp in scan response static buffer on the fly (there is even BLE_GAP_EVT_SCAN_REQ_REPORT event you get when someone requests scan response, see e.g. this) and see whether it breaks or softdevice will pick up the changes.
That may be easier and more predictable after all.