[Datafield] requestWrite with WRITE_TYPE_DEFAULT: onCharacteristicWrite Not Triggering?

Hi,

I’m currently developing a Datafield app that communicates with a BLE device:

  • I’m using Characteristic.requestWrite() with WRITE_TYPE_DEFAULT.
  • After that, I wait for the BleDelegate.onCharacteristicWrite() callback to call Characteristic.requestWrite() again, repeating the process.

I’ve observed different behaviors depending on the device I’m testing on:

  • Simulator (CIQ 7.3.1) + nRF BLE Dongle:
    Everything works fine.

  • Fenix 5 Plus (v19.30):
    No issues here either.

  • Vivoactive 5 (v12.10):

    • First requestWrite() works as expected.
    • onCharacteristicWrite() is triggered.
    • Second requestWrite() is called, but onCharacteristicWrite() never triggers.

I tried changing the write type to WRITE_TYPE_WITH_RESPONSE, and it worked fine on the Vivoactive 5.

Has anyone else noticed this behavior? Am I doing something wrong?
Any advice would be appreciated!

Thanks!