Задержки в отправке данных (RxAndroidBle) - PullRequest
0 голосов
/ 16 января 2020

В данный момент я пишу приложение android, которое будет контролировать цвет светодиодных полос RGB. Для управления я использую микроконтроллер ESP-32 со встроенным модулем Bluetooth Low Energy. Но сама проблема - большая задержка при отправке больших потоков данных. Например: у меня есть SeekBar для управления яркостью и ColorWheel для установки цвета. Если вы щелкнете по одному из этих элементов, то все будет отлично настроено, но когда вы начнете плавно устанавливать цвет или яркость, перемещая палец по одному из этих элементов, возникают большие задержки при установке цвета. Как бы я решил эту проблему? Может кто-нибудь поделиться примерами кода?

Теперь данные отправляются от меня так:

connectionObservable.flatMapSingle(rxBleConnection -> rxBleConnection.writeCharacteristic(uuid, message.getBytes(Charset.defaultCharset())))
   subscribe(bytes -> {
      Log.d(getClass().getSimpleName(), "sendMessage: Данные успешно отправлены: " + new String(bytes));
  }, throwable -> {
      Log.d(getClass().getSimpleName(), "sendMessage: Ошибка при отправке данных: " + throwable.getMessage());
  }
);
...