Frozen-Burrito / hydrate-app

Repositorio para la app de apoyo de la botella hydrate, desarrollada con Flutter.
2 stars 0 forks source link

[BUG] La lectura / escritura de atributos GATT produce excepciones poco predecibles #37

Closed Frozen-Burrito closed 2 years ago

Frozen-Burrito commented 2 years ago

Descripción del Error Los registros de hidratación pueden ser sincronizados correctamente desde la extensión para botellas, pero en ciertas condiciones todavía no identificadas, invocar los métodos characteristic.read() y characteristic.write(bytes) resulta en una Exception genérica no manejada.

Cómo Reproducir Pasos para reproducir el error:

  1. Iniciar la app de pruebas.
  2. Iniciar el dispositivo de la extensión para botellas, esperar a que inicialice su servidor GATT y entre en modo de anuncio.
  3. Emparejar la app con la extensión para botellas.
  4. Esperar a que suceda la excepción genérica no manejada.

Comportamiento Esperado Invocar los métodos characteristic.read() y characteristic.write(bytes) nunca debería producir un error mientras el dispositivo se encuentre conectado. Las invocaciones a estos métodos deberían ser sincronizadas correctamente.

Entorno

Contexto Adicional La salida por consola de la app:

(...)
V/InputMethodManager(23953): Starting input: tba=com.example.ble_prototype ic=null mNaviBarColor -16711423 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(23953): startInputInner - Id : 0
I/SurfaceControl(23953): nativeRelease nativeObject s[507572011936]
I/SurfaceControl(23953): nativeRelease nativeObject e[507572011936]
I/SurfaceControl(23953): nativeRelease nativeObject s[507572013088]
I/SurfaceControl(23953): nativeRelease nativeObject e[507572013088]
D/FlutterBluePlugin(23953): mDevices size: 0
D/FlutterBluePlugin(23953): mDevices size: 0
D/FlutterBluePlugin(23953): mDevices size: 0
(...)
D/FlutterBluePlugin(23953): mDevices size: 0
I/ViewRootImpl@87b963[MainActivity](23953): ViewPostIme pointer 0
I/ViewRootImpl@87b963[MainActivity](23953): ViewPostIme pointer 1
I/BluetoothAdapter(23953): STATE_ON
I/BluetoothAdapter(23953): STATE_ON
I/BluetoothAdapter(23953): STATE_ON
I/BluetoothAdapter(23953): STATE_ON
D/BluetoothLeScanner(23953): Start Scan with callback
D/BluetoothLeScanner(23953): onScannerRegistered() - status=0 scannerId=13 mScannerId=0
D/FlutterBluePlugin(23953): mDevices size: 0
D/FlutterBluePlugin(23953): mDevices size: 0
D/FlutterBluePlugin(23953): mDevices size: 0
I/BluetoothAdapter(23953): STATE_ON
I/BluetoothAdapter(23953): STATE_ON
D/BluetoothLeScanner(23953): Stop Scan with callback
I/ViewRootImpl@87b963[MainActivity](23953): ViewPostIme pointer 0
I/ViewRootImpl@87b963[MainActivity](23953): ViewPostIme pointer 1
I/flutter (23953): Device state changed BluetoothDeviceState.disconnected
D/FlutterBluePlugin(23953): mDevices size: 0
D/FlutterBluePlugin(23953): mDevices size: 0
I/ViewRootImpl@87b963[MainActivity](23953): ViewPostIme pointer 0
I/ViewRootImpl@87b963[MainActivity](23953): ViewPostIme pointer 1
I/flutter (23953): Connecting to device
I/BluetoothAdapter(23953): STATE_ON
D/BluetoothGatt(23953): connect() - device: E0:E2:E6:9B:3B:C2, auto: true
I/BluetoothAdapter(23953): isSecureModeEnabled
D/BluetoothGatt(23953): registerApp()
D/BluetoothGatt(23953): registerApp() - UUID=8e6ad573-ac61-4ef0-91e0-aabb0ad2663d
D/BluetoothGatt(23953): onClientRegistered() - status=0 clientIf=13
D/BluetoothGatt(23953): onClientConnectionState() - status=0 clientIf=13 device=E0:E2:E6:9B:3B:C2
D/FlutterBluePlugin(23953): [onConnectionStateChange] status: 0 newState: 2
I/flutter (23953): Device state changed BluetoothDeviceState.connected
I/flutter (23953): Device connected, discovering services
D/BluetoothGatt(23953): discoverServices() - device: E0:E2:E6:9B:3B:C2
D/BluetoothGatt(23953): onConnectionUpdated() - Device=E0:E2:E6:9B:3B:C2 interval=24 latency=0 timeout=400 status=0
D/BluetoothGatt(23953): onConnectionUpdated() - Device=E0:E2:E6:9B:3B:C2 interval=6 latency=0 timeout=500 status=0
D/BluetoothGatt(23953): onSearchComplete() = Device=E0:E2:E6:9B:3B:C2 Status=0
D/FlutterBluePlugin(23953): [onServicesDiscovered] count: 4 status: 0
D/BluetoothGatt(23953): onConnectionUpdated() - Device=E0:E2:E6:9B:3B:C2 interval=24 latency=0 timeout=400 status=0
D/BluetoothGatt(23953): setCharacteristicNotification() - uuid: 0faf892f-0000-1000-8000-00805f9b34fb enable: true
I/flutter (23953): Handling change on pendingRecordsCount: []
I/flutter (23953): Pending record count bytes is empty, no data.
D/FlutterBluePlugin(23953): [onDescriptorWrite] uuid: 00002902-0000-1000-8000-00805f9b34fb status: 0
D/FlutterBluePlugin(23953): [onCharacteristicChanged] uuid: 0faf892f-0000-1000-8000-00805f9b34fb
D/FlutterBluePlugin(23953): mDevices size: 1
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 0faf892c-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
D/FlutterBluePlugin(23953): [onCharacteristicRead] uuid: 0faf892c-0000-1000-8000-00805f9b34fb status: 0
I/flutter (23953): Ml char bytes: [68, 0]
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 00002a6e-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
D/FlutterBluePlugin(23953): [onCharacteristicRead] uuid: 00002a6e-0000-1000-8000-00805f9b34fb status: 0
I/flutter (23953): Temperature char bytes: [247, 255]
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 00000fff-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
D/FlutterBluePlugin(23953): [onCharacteristicRead] uuid: 00000fff-0000-1000-8000-00805f9b34fb status: 0
I/flutter (23953): Date char bytes: [13, 0, 0, 0, 0, 0, 0, 0]
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 0faf892f-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
D/FlutterBluePlugin(23953): [onCharacteristicRead] uuid: 0faf892f-0000-1000-8000-00805f9b34fb status: 0
I/flutter (23953): Ignored device service characteristic, uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 00002a19-0000-1000-8000-00805f9b34fb serviceUuid: 0000180f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 0faf892c-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
I/flutter (23953): Error al leer de la caracteristica con UUID = pendingCountCharGUID: PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null, null)
I/flutter (23953): Ml char bytes: []
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 00002a6e-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
I/flutter (23953): Error al leer de la caracteristica con UUID = pendingCountCharGUID: PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null, null)
I/flutter (23953): Temperature char bytes: []
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 00000fff-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
I/flutter (23953): Error al leer de la caracteristica con UUID = pendingCountCharGUID: PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null, null)
I/flutter (23953): Date char bytes: []
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 0faf892f-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
I/flutter (23953): Error leer de la caracteristica con UUID = pendingCountCharGUID: PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null, null)
I/flutter (23953): Ignored device service characteristic, uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 00002a19-0000-1000-8000-00805f9b34fb serviceUuid: 0000180f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Error al leer de la caracteristica con UUID = pendingCountCharGUID: PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null, null)
D/FlutterBluePlugin(23953): [onCharacteristicRead] uuid: 00002a19-0000-1000-8000-00805f9b34fb status: 0
I/flutter (23953): Battery char bytes: []
I/flutter (23953): Synchronized data through BLE: {}
I/flutter (23953): Not all required attributes could be obtained, expected 4
I/flutter (23953): Battery char bytes: [32]
I/flutter (23953): Synchronized data through BLE: {cantidad: 68, temperatura: -0.09, fecha: 1969-12-31 18:00:13.000, porcentaje_bateria: 32}
D/FlutterBluePlugin(23953): [onCharacteristicChanged] uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): [onCharacteristicChanged] uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): [onCharacteristicChanged] uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): [onCharacteristicChanged] uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): [onCharacteristicChanged] uuid: 0faf892f-0000-1000-8000-00805f9b34fb
I/flutter (23953): Handling change on pendingRecordsCount: [1]
I/flutter (23953): Number of records pending sync: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): mDevices size: 1
D/FlutterBluePlugin(23953): [onCharacteristicWrite] uuid: 0faf892f-0000-1000-8000-00805f9b34fb status: 133
D/BluetoothGatt(23953): onClientConnectionState() - status=22 clientIf=13 device=E0:E2:E6:9B:3B:C2
D/FlutterBluePlugin(23953): [onConnectionStateChange] status: 22 newState: 0
I/flutter (23953): remoteId: E0:E2:E6:9B:3B:C2 characteristicUuid: 0faf892c-0000-1000-8000-00805f9b34fb serviceUuid: 000019f5-0000-1000-8000-00805f9b34fb
I/flutter (23953): Error al escribir a la caracteristica con UUID = pendingCountCharGUID: Exception: Failed to write the characteristic
I/flutter (23953): Hydration record synchronized: Test Hydration record = {id:-1, amount:68 ml, temperature:-0.09 °C, remaining battery:32%, date:1969-12-31T18:00:13.000, profileId:-1, }
I/flutter (23953): Device state changed BluetoothDeviceState.disconnected
D/BluetoothGatt(23953): onClientConnectionState() - status=0 clientIf=13 device=E0:E2:E6:9B:3B:C2
D/FlutterBluePlugin(23953): [onConnectionStateChange] status: 0 newState: 2
I/flutter (23953): Device state changed BluetoothDeviceState.connected
I/flutter (23953): Device connected, discovering services
D/BluetoothGatt(23953): discoverServices() - device: E0:E2:E6:9B:3B:C2
D/BluetoothGatt(23953): onConnectionUpdated() - Device=E0:E2:E6:9B:3B:C2 interval=24 latency=0 timeout=400 status=0
D/BluetoothGatt(23953): onConnectionUpdated() - Device=E0:E2:E6:9B:3B:C2 interval=6 latency=0 timeout=500 status=0
Application finished.

La salida por consola de la extensión para botellas:

I (29) boot: ESP-IDF v4.4.1 2nd stage bootloader
I (29) boot: compile time 19:54:45
I (29) boot: chip revision: 3
I (32) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (39) boot.esp32: SPI Speed      : 40MHz
I (44) boot.esp32: SPI Mode       : DIO
I (48) boot.esp32: SPI Flash Size : 2MB
I (53) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (62) boot: ## Label            Usage          Type ST Offset   Length
I (69) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (76) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (84) boot:  2 factory          factory app      00 00 00010000 00100000
I (91) boot: End of partition table
I (96) boot_comm: chip revision: 3, min. application chip revision: 0
I (103) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=207f8h (133112) map
I (159) esp_image: segment 1: paddr=00030820 vaddr=3ffbdb60 size=04760h ( 18272) load
I (167) esp_image: segment 2: paddr=00034f88 vaddr=40080000 size=0b090h ( 45200) load
I (186) esp_image: segment 3: paddr=00040020 vaddr=400d0020 size=7fb40h (523072) map
I (375) esp_image: segment 4: paddr=000bfb68 vaddr=4008b090 size=0dcb0h ( 56496) load
I (399) esp_image: segment 5: paddr=000cd820 vaddr=50000000 size=00010h (    16) load
I (411) boot: Loaded app from partition at offset 0x10000
I (411) boot: Disabling RNG early entropy source...
I (423) cpu_start: Pro cpu up.
I (423) cpu_start: Starting app cpu, entry point is 0x400813a4
0x400813a4: call_start_cpu1 at C:/Espressif/frameworks/esp-idf-v4.4.1-2/components/esp_system/port/cpu_start.c:160

I (0) cpu_start: App cpu up.
I (439) cpu_start: Pro cpu start user code
I (439) cpu_start: cpu freq: 160000000
I (439) cpu_start: Application information:
I (444) cpu_start: Project name:     extension-inteligente-hydrate
I (451) cpu_start: App version:      6cb320a-dirty
I (456) cpu_start: Compile time:     Sep 20 2022 17:43:26
I (462) cpu_start: ELF file SHA256:  aff40b73cb2af185...
I (468) cpu_start: ESP-IDF:          v4.4.1
I (473) heap_init: Initializing. RAM available for dynamic allocation:
I (480) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (486) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (492) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (499) heap_init: At 3FFC6DA0 len 00019260 (100 KiB): DRAM
I (505) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (511) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (518) heap_init: At 40098D40 len 000072C0 (28 KiB): IRAM
I (525) spi_flash: detected chip: generic
I (529) spi_flash: flash io: dio
W (533) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (547) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (556) MAIN: Size minimo de heap libre (antes de setup()): 226324 bytes
I (616) MAIN: Size minimo de heap libre (despues de setup()): 223524 bytes
I (3616) BTDM_INIT: BT controller compile version [5688ed5]
I (3616) system_api: Base MAC address is not set
I (3616) system_api: read default base MAC address from EFUSE
I (3616) MAIN: NVS inicializado
I (3626) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (3736) BLE: Estado de BLE: Initializing
I (3736) BATTERY: eFuse Two Point: no soportado
I (3736) BATTERY: Characterized using eFuse Vref

I (3736) MAIN: Battery sensor status (ESP_OK)
I (3746) MAIN: MPU6050 device ID: 0
I (4066) BLE: Tabla GATT para HYDR_SVC creada, handle = 10
I (4066) BLE: Tabla GATT para BAT_SVC creada, handle = 3
I (4076) BLE: SERVICE_START_EVT, status 0, service_handle = 40
I (4076) BLE: SERVICE_START_EVT, status 0, service_handle = 50
I (4086) BLE: Advertising comenzado
I (4236) BLE: Estado de BLE: Advertising
I (4736) BLE: Estado de BLE: Advertising
I (5236) BLE: Estado de BLE: Advertising
I (5736) BLE: Estado de BLE: Advertising
I (6236) BLE: Estado de BLE: Advertising
I (6736) BLE: Estado de BLE: Advertising
I (7236) BLE: Estado de BLE: Advertising
I (7736) BLE: Estado de BLE: Advertising
I (8236) BLE: Estado de BLE: Advertising
I (8616) BLE: Estado de BLE: Advertising
I (8616) MAIN: Nuevo registro de hidratacion generado: { water: 74, temp: -2, bat: 16, time: 8}
I (8616) MAIN: Nuevo registro de hidratacion enviado para almacenamiento, total 1
I (8736) BLE: Estado de BLE: Advertising
I (8736) STORAGE: Sample key name: wtr_amount_1
I (8736) STORAGE: Sample key name: temperature_1
I (8736) STORAGE: Sample key name: battery_lvl_1
I (8746) STORAGE: Sample key name: timestamp_1
I (8766) MAIN: Registro almacenado en NVS, con indice = 1
I (9056) BLE: Estado de BLE: Advertising
I (9266) BLE: Estado de BLE: Advertising
I (9766) BLE: Estado de BLE: Advertising
I (10266) BLE: Estado de BLE: Advertising
I (10766) BLE: Estado de BLE: Advertising
I (11266) BLE: Estado de BLE: Advertising
I (11586) BLE: ESP_GATTS_CONNECT_EVT, conn_id = 0
I (11586) BLE: 77 ef 12 a7 9f 0d
I (11586) BLE: Estado de BLE: Paired
I (11766) BLE: Estado de BLE: Paired
I (11766) MAIN: Numero de registros almacenados: 1
I (11776) MAIN: Registro obtenido de NVS: (indice 0) { water: 68, temp: -9, bat: 32, time: 13}
I (11836) BLE: Estado de BLE: Paired
I (11836) BLE: Registro convertido a buffers para ser sincronizado (water_amount, temperature, battery_level, timestamp):
I (11846) BLE: 44 00
I (11846) BLE: f7 ff
I (11846) BLE: 20
I (11846) BLE: 0d 00 00 00 00 00 00 00
I (11856) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (11976) BLE: Parámetros de conexión actualizados:
status = 0
min_int = 16
max_int = 32
conn_int = 24
latency = 0
timeout = 400
I (12246) BLE: Parámetros de conexión actualizados:
status = 0
min_int = 0
max_int = 0
conn_int = 6
latency = 0
timeout = 500
I (12276) BLE: Estado de BLE: Paired
I (12276) MAIN: Numero de registros almacenados: 0
I (12546) BLE: Parámetros de conexión actualizados:
status = 0
min_int = 0
max_int = 0
conn_int = 24
latency = 0
timeout = 400
I (12646) BLE: GATT_WRITE_EVT, handle = 49, value len = 2, value :
I (12646) BLE: Hydration service WRITE
I (12646) BLE: 'Notify' activado para HYDR_IDX_CHAR_NUM_NEW_RECORDS_NTF_CFG
I (12656) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (12776) BLE: Estado de BLE: Paired
I (12776) MAIN: Numero de registros almacenados: 0
I (12796) BLE: Hydration service READ, attribute index = 2
I (12796) BLE: Respuesta enviada para evento de READ
I (12876) BLE: Hydration service READ, attribute index = 4
I (12886) BLE: Respuesta enviada para evento de READ
I (12946) BLE: Hydration service READ, attribute index = 6
I (12946) BLE: Respuesta enviada para evento de READ
I (13006) BLE: Hydration service READ, attribute index = 8
I (13006) BLE: Respuesta enviada para evento de READ
I (13066) BLE: Battery service READ, attribute index = 2
I (13066) BLE: Respuesta enviada para evento de READ
I (13176) BLE: GATT_WRITE_EVT, handle = 48, value len = 1, value :
I (13186) BLE: Hydration service WRITE
I (13186) BLE: Confirmado: registro fue obtenido por dispositivo periferico
I (13186) MAIN: Registro obtenido por el dispositivo periferico, restantes = 0
I (13196) BLE: Estado de BLE: Paired
I (13276) BLE: Estado de BLE: Paired
I (13276) MAIN: Numero de registros almacenados: 0
I (13456) BLE: Estado de BLE: Paired
I (13626) BLE: Estado de BLE: Paired
I (13626) MAIN: Nuevo registro de hidratacion generado: { water: 68, temp: -9, bat: 32, time: 13}
I (13626) MAIN: Nuevo registro de hidratacion enviado para sincronizacion, total 2
I (13706) BLE: Estado de BLE: Paired
I (13706) BLE: Registro convertido a buffers para ser sincronizado (water_amount, temperature, battery_level, timestamp):
I (13706) BLE: 44 00
I (13716) BLE: f7 ff
I (13716) BLE: 20
I (13716) BLE: 0d 00 00 00 00 00 00 00
I (13726) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (13746) BATTERY: ADC2 Channel[7] voltage: 2130 mV
I (13746) MAIN: Carga restante de la bateria: 0%
I (13776) BLE: Estado de BLE: Paired
I (13776) MAIN: Numero de registros almacenados: 0
I (14276) BLE: Estado de BLE: Paired
I (14276) MAIN: Numero de registros almacenados: 0
I (14776) BLE: Estado de BLE: Paired
I (14776) MAIN: Numero de registros almacenados: 0
I (15276) BLE: Estado de BLE: Paired
I (15276) MAIN: Numero de registros almacenados: 0
I (15776) BLE: Estado de BLE: Paired
I (15776) MAIN: Numero de registros almacenados: 0
I (16276) BLE: Estado de BLE: Paired
I (16276) MAIN: Numero de registros almacenados: 0
I (16776) BLE: Estado de BLE: Paired
I (16776) MAIN: Numero de registros almacenados: 0
I (17276) BLE: Estado de BLE: Paired
I (17276) MAIN: Numero de registros almacenados: 0
I (17776) BLE: Estado de BLE: Paired
I (17776) MAIN: Numero de registros almacenados: 0
I (18276) BLE: Estado de BLE: Paired
I (18276) MAIN: Numero de registros almacenados: 0
I (18636) BLE: Estado de BLE: Paired
I (18636) MAIN: Nuevo registro de hidratacion generado: { water: 536, temp: 12, bat: 19, time: 18}
I (18636) MAIN: Nuevo registro de hidratacion enviado para sincronizacion, total 3
W (18726) MAIN: Registro sincronizado, pero no fue obtenido por dispositivo periferico, restantes = 1
I (18726) BLE: Estado de BLE: Paired
I (18726) BLE: Registro convertido a buffers para ser sincronizado (water_amount, temperature, battery_level, timestamp):
I (18736) BLE: 44 00
I (18746) BLE: f7 ff
I (18746) BLE: 20
I (18746) BLE: 0d 00 00 00 00 00 00 00
I (18756) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (18776) BLE: Estado de BLE: Paired
I (18776) MAIN: Numero de registros almacenados: 0
I (19276) BLE: Estado de BLE: Paired
I (19276) MAIN: Numero de registros almacenados: 0
I (19776) BLE: Estado de BLE: Paired
I (19776) MAIN: Numero de registros almacenados: 0
I (20276) BLE: Estado de BLE: Paired
I (20276) MAIN: Numero de registros almacenados: 0
I (20776) BLE: Estado de BLE: Paired
I (20776) MAIN: Numero de registros almacenados: 0
I (21276) BLE: Estado de BLE: Paired
I (21276) MAIN: Numero de registros almacenados: 0
I (21776) BLE: Estado de BLE: Paired
I (21776) MAIN: Numero de registros almacenados: 0
I (22276) BLE: Estado de BLE: Paired
I (22276) MAIN: Numero de registros almacenados: 0
I (22776) BLE: Estado de BLE: Paired
I (22776) MAIN: Numero de registros almacenados: 0
I (23276) BLE: Estado de BLE: Paired
I (23276) MAIN: Numero de registros almacenados: 0
I (23646) BLE: Estado de BLE: Paired
I (23646) MAIN: Nuevo registro de hidratacion generado: { water: 642, temp: 34, bat: 25, time: 23}
I (23646) MAIN: Nuevo registro de hidratacion enviado para sincronizacion, total 4
I (23746) BATTERY: ADC2 Channel[7] voltage: 2091 mV
I (23746) MAIN: Carga restante de la bateria: 0%
W (23756) MAIN: Registro sincronizado, pero no fue obtenido por dispositivo periferico, restantes = 1
I (23756) BLE: Estado de BLE: Paired
I (23756) BLE: Registro convertido a buffers para ser sincronizado (water_amount, temperature, battery_level, timestamp):
I (23766) BLE: 44 00
I (23776) BLE: f7 ff
I (23776) BLE: 20
I (23776) BLE: 0d 00 00 00 00 00 00 00
I (23786) BLE: Estado de BLE: Paired
I (23786) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (23786) MAIN: Numero de registros almacenados: 0
I (24296) BLE: Estado de BLE: Paired
I (24296) MAIN: Numero de registros almacenados: 0
I (24796) BLE: Estado de BLE: Paired
I (24796) MAIN: Numero de registros almacenados: 0
I (25296) BLE: Estado de BLE: Paired
I (25296) MAIN: Numero de registros almacenados: 0
I (25796) BLE: Estado de BLE: Paired
I (25796) MAIN: Numero de registros almacenados: 0
I (26296) BLE: Estado de BLE: Paired
I (26296) MAIN: Numero de registros almacenados: 0
I (26796) BLE: Estado de BLE: Paired
I (26796) MAIN: Numero de registros almacenados: 0
I (27296) BLE: Estado de BLE: Paired
I (27296) MAIN: Numero de registros almacenados: 0
I (27796) BLE: Estado de BLE: Paired
I (27796) MAIN: Numero de registros almacenados: 0
I (28296) BLE: Estado de BLE: Paired
I (28296) MAIN: Numero de registros almacenados: 0
I (28656) BLE: Estado de BLE: Paired
I (28656) MAIN: Nuevo registro de hidratacion generado: { water: 200, temp: -5, bat: 60, time: 28}
I (28656) MAIN: Nuevo registro de hidratacion enviado para sincronizacion, total 5
W (28786) MAIN: Registro sincronizado, pero no fue obtenido por dispositivo periferico, restantes = 1
I (28786) BLE: Estado de BLE: Paired
I (28786) BLE: Registro convertido a buffers para ser sincronizado (water_amount, temperature, battery_level, timestamp):
I (28796) BLE: 44 00
I (28806) BLE: f7 ff
I (28806) BLE: 20
I (28806) BLE: 0d 00 00 00 00 00 00 00
I (28816) BLE: Estado de BLE: Paired
I (28816) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (28816) MAIN: Numero de registros almacenados: 0
I (29326) BLE: Estado de BLE: Paired
I (29326) MAIN: Numero de registros almacenados: 0
I (29826) BLE: Estado de BLE: Paired
I (29826) MAIN: Numero de registros almacenados: 0
I (30326) BLE: Estado de BLE: Paired
I (30326) MAIN: Numero de registros almacenados: 0
I (30826) BLE: Estado de BLE: Paired
I (30826) MAIN: Numero de registros almacenados: 0
I (31326) BLE: Estado de BLE: Paired
I (31326) MAIN: Numero de registros almacenados: 0
I (31826) BLE: Estado de BLE: Paired
I (31826) MAIN: Numero de registros almacenados: 0
I (32326) BLE: Estado de BLE: Paired
I (32326) MAIN: Numero de registros almacenados: 0
I (32826) BLE: Estado de BLE: Paired
I (32826) MAIN: Numero de registros almacenados: 0
I (33326) BLE: Estado de BLE: Paired
I (33326) MAIN: Numero de registros almacenados: 0
I (33666) BLE: Estado de BLE: Paired
I (33666) MAIN: Nuevo registro de hidratacion generado: { water: 132, temp: -35, bat: 47, time: 33}
I (33666) MAIN: Nuevo registro de hidratacion enviado para sincronizacion, total 6
I (33746) BATTERY: ADC2 Channel[7] voltage: 2110 mV
I (33746) MAIN: Carga restante de la bateria: 0%
W (33816) MAIN: Registro sincronizado, pero no fue obtenido por dispositivo periferico, restantes = 1
I (33816) BLE: Estado de BLE: Paired
I (33816) BLE: Registro convertido a buffers para ser sincronizado (water_amount, temperature, battery_level, timestamp):
I (33826) BLE: 44 00
I (33836) BLE: f7 ff
I (33836) BLE: 20
I (33836) BLE: 0d 00 00 00 00 00 00 00
I (33846) BLE: Estado de BLE: Paired
I (33846) BLE: ESP_GATTS_CONF_EVT, status = 0, attr_handle = 48
I (33846) MAIN: Numero de registros almacenados: 0
I (34356) BLE: Estado de BLE: Paired
I (34356) MAIN: Numero de registros almacenados: 0
I (34856) BLE: Estado de BLE: Paired
I (34856) MAIN: Numero de registros almacenados: 0
I (35356) BLE: Estado de BLE: Paired
I (35356) MAIN: Numero de registros almacenados: 0
I (35856) BLE: Estado de BLE: Paired
I (35856) MAIN: Numero de registros almacenados: 0
I (36356) BLE: Estado de BLE: Paired
I (36356) MAIN: Numero de registros almacenados: 0
I (36856) BLE: Estado de BLE: Paired
I (36856) MAIN: Numero de registros almacenados: 0
I (37356) BLE: Estado de BLE: Paired
I (37356) MAIN: Numero de registros almacenados: 0
I (37856) BLE: Estado de BLE: Paired
I (37856) MAIN: Numero de registros almacenados: 0
I (38356) BLE: Estado de BLE: Paired
I (38356) MAIN: Numero de registros almacenados: 0
I (38676) BLE: Estado de BLE: Paired
I (38676) MAIN: Nuevo registro de hidratacion generado: { water: 410, temp: 13, bat: 0, time: 38}
W (38726) MAIN: Un nuevo registro 6 no pudo ser enviado para sincronizacion (errQUEUE_FULL)
W (38846) MAIN: Registro sincronizado, pero no fue obtenido por dispositivo periferico, restantes = 1
I (38846) BLE: Estado de BLE: Paired
I (38856) BLE: Estado de BLE: Paired
I (38856) MAIN: Numero de registros almacenados: 0
I (39356) BLE: Estado de BLE: Paired
I (39356) MAIN: Numero de registros almacenados: 0
I (39856) BLE: Estado de BLE: Paired
I (39856) MAIN: Numero de registros almacenados: 0
I (40356) BLE: Estado de BLE: Paired
I (40356) MAIN: Numero de registros almacenados: 0
I (40856) BLE: Estado de BLE: Paired
I (40856) MAIN: Numero de registros almacenados: 0
Frozen-Burrito commented 2 years ago

Puede que el problema tenga que ver con la sincronización de los reads y puede que este issue de flutter_blue tenga alguna posible solución.

Frozen-Burrito commented 2 years ago

Parece que el problema ha quedado solucionado introduciendo un pequeño intervalo entre reads y writes sucesivos.