Здраствуйте.
Я использую пример gatts_table_creat_demo esp-idf-v5.3.1.
Минимальное количество изменений. В основном цикле он должен отправлять пакеты каждые 19 мс.
while (1) {
esp_ble_gatts_send_indicate(ESP_GATTS_temp, param_write_conn_id_temp, heart_rate_handle_table[IDX_CHAR_VAL_A], size of(esp_ble_buffer), esp_ble_buffer, false);
vTaskDelay(19/ portTICK_PERIOD_MS);
}
Но данные поступают с разными задержками. Получается после команды esp_ble_gatts_send_indicate проходит разное время до отправки самого пакета.
Со стороны принимающей стороны посчитали задержку (время) между пакетами (мс).: 23, 31, 6, 22, 30, 5, 25, 33, 8, 22, 31, 7, 29, 21, 32, 10, 19, 5, 24, 30, 13, 50, 15, 14, 13, 20, 6, 18
Насколько я понимаю, esp_ble_gatts_send_indicated загружает данные в буфер, из которого они отправляются. Но я не могу понять, как сделать так, чтобы эти данные отправлялись немедленно? Или с минимальной задержкой.
Я использую пример gatts_table_creat_demo esp-idf-v5.3.1.
Минимальное количество изменений. В основном цикле он должен отправлять пакеты каждые 19 мс.
while (1) {
esp_ble_gatts_send_indicate(ESP_GATTS_temp, param_write_conn_id_temp, heart_rate_handle_table[IDX_CHAR_VAL_A], size of(esp_ble_buffer), esp_ble_buffer, false);
vTaskDelay(19/ portTICK_PERIOD_MS);
}
Но данные поступают с разными задержками. Получается после команды esp_ble_gatts_send_indicate проходит разное время до отправки самого пакета.
Со стороны принимающей стороны посчитали задержку (время) между пакетами (мс).: 23, 31, 6, 22, 30, 5, 25, 33, 8, 22, 31, 7, 29, 21, 32, 10, 19, 5, 24, 30, 13, 50, 15, 14, 13, 20, 6, 18
Насколько я понимаю, esp_ble_gatts_send_indicated загружает данные в буфер, из которого они отправляются. Но я не могу понять, как сделать так, чтобы эти данные отправлялись немедленно? Или с минимальной задержкой.