polarofficial / polar-ble-sdk

Repository includes SDK and code examples. More info https://polar.com/en/developers
Other
447 stars 147 forks source link

Error: 200 : UNIDENTIFIED_DEVICE_ERROR when trying to download historical data #416

Open itsymbal opened 7 months ago

itsymbal commented 7 months ago

I'm getting multiple errors with a particular H10 strap.

How to Reproduce If you know how the bug may be reproduced please add the steps here

Expected behavior Description of what you expected to happen.

Screenshots and logs Log error 1:

java.lang.Exception: com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpUtils$PftpOperationTimeout: Air packet was not received in required timeline at com.polar.sdk.impl.BDBleApiImpl.handleError(BDBleApiImpl.java:1094) at com.polar.sdk.impl.BDBleApiImpl.lambda$fetchExercise$22$com-polar-sdk-impl-BDBleApiImpl(BDBleApiImpl.java:604) at com.polar.sdk.impl.BDBleApiImpl$$ExternalSyntheticLambda51.apply(Unknown Source:4) at io.reactivex.rxjava3.internal.operators.single.SingleResumeNext$ResumeMainSingleObserver.onError(SingleResumeNext.java:73) at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70) at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onError(SingleSubscribeOn.java:73) at io.reactivex.rxjava3.internal.operators.single.SingleDoFinally$DoFinallyObserver.onError(SingleDoFinally.java:79) at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSubscribe$DoOnSubscribeSingleObserver.onError(SingleDoOnSubscribe.java:86) at io.reactivex.rxjava3.internal.operators.single.SingleCreate$Emitter.tryOnError(SingleCreate.java:95) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.lambda$request$0$com-polar-androidcommunications-api-ble-model-gatt-client-psftp-BlePsFtpClient(BlePsFtpClient.java:241) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient$$ExternalSyntheticLambda0.subscribe(Unknown Source:4) at io.reactivex.rxjava3.internal.operators.single.SingleCreate.subscribeActual(SingleCreate.java:40) at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855) at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSubscribe.subscribeActual(SingleDoOnSubscribe.java:41) at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855) at io.reactivex.rxjava3.internal.operators.single.SingleDoFinally.subscribeActual(SingleDoFinally.java:44) at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855) at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644) at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65) at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920) Caused by: com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpUtils$PftpOperationTimeout: Air packet was not received in required timeline at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.handlePacketError(BlePsFtpClient.java:652) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.readResponse(BlePsFtpClient.java:641) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.lambda$request$0$com-polar-androidcommunications-api-ble-model-gatt-client-psftp-BlePsFtpClient(BlePsFtpClient.java:229) ... 16 more

Log error 2: java.lang.Exception: com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpUtils$PftpResponseError: Protocol error stream is out of sync Error: 200 : UNIDENTIFIED_DEVICE_ERROR at com.polar.sdk.impl.BDBleApiImpl.handleError(BDBleApiImpl.java:1094) at com.polar.sdk.impl.BDBleApiImpl.lambda$listExercises$20$com-polar-sdk-impl-BDBleApiImpl(BDBleApiImpl.java:559) at com.polar.sdk.impl.BDBleApiImpl$$ExternalSyntheticLambda64.apply(Unknown Source:4) at io.reactivex.rxjava3.internal.operators.flowable.FlowableOnErrorNext$OnErrorNextSubscriber.onError(FlowableOnErrorNext.java:94) at io.reactivex.rxjava3.internal.subscribers.BasicFuseableSubscriber.onError(BasicFuseableSubscriber.java:101) at io.reactivex.rxjava3.internal.util.AtomicThrowable.tryTerminateConsumer(AtomicThrowable.java:94) at io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMap$MergeSubscriber.checkTerminate(FlowableFlatMap.java:540) at io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMap$MergeSubscriber.drainLoop(FlowableFlatMap.java:365) at io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMap$MergeSubscriber.drain(FlowableFlatMap.java:357) at io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMap$MergeSubscriber.onError(FlowableFlatMap.java:318) at io.reactivex.rxjava3.internal.operators.single.SingleToFlowable$SingleToFlowableObserver.onError(SingleToFlowable.java:68) at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onError(SingleSubscribeOn.java:73) at io.reactivex.rxjava3.internal.operators.single.SingleDoFinally$DoFinallyObserver.onError(SingleDoFinally.java:79) at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSubscribe$DoOnSubscribeSingleObserver.onError(SingleDoOnSubscribe.java:86) at io.reactivex.rxjava3.internal.operators.single.SingleCreate$Emitter.tryOnError(SingleCreate.java:95) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.lambda$request$0$com-polar-androidcommunications-api-ble-model-gatt-client-psftp-BlePsFtpClient(BlePsFtpClient.java:241) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient$$ExternalSyntheticLambda0.subscribe(Unknown Source:4) at io.reactivex.rxjava3.internal.operators.single.SingleCreate.subscribeActual(SingleCreate.java:40) at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855) at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSubscribe.subscribeActual(SingleDoOnSubscribe.java:41) at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855) at io.reactivex.rxjava3.internal.operators.single.SingleDoFinally.subscribeActual(SingleDoFinally.java:44) at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855) at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644) at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65) at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920) Caused by: com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpUtils$PftpResponseError: Protocol error stream is out of sync Error: 200 : UNIDENTIFIED_DEVICE_ERROR at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.readResponse(BlePsFtpClient.java:638) at com.polar.androidcommunications.api.ble.model.gatt.client.psftp.BlePsFtpClient.lambda$request$0$com-polar-androidcommunications-api-ble-model-gatt-client-psftp-BlePsFtpClient(BlePsFtpClient.java:229) ... 16 more