Переполнение буферов и потеря данных

Событие on_bt_overrun генерируется при переполнении буфера RX. Это означает, что данные поступали быстрее, чем их обрабатывало приложение, и часть данных потеряна. Этот фрагмент включает мигание красного светодиода при переполнении:

sub on_bt_overrun()
	pat.play("-R*~",PL_PAT_CANINT)
end sub

Переполнение буферов TX невозможно. Его не следует путать с усечением данных - оно происходит, когда вы пытаетесь записать больше данных, чем буфер TX может вместить в данный момент.

Даже если запись данных в буфер TX выполнена правильно, данные всё равно могут потеряться на пути к центральному устройству. Теоретически, пока соединение BLE стабильно, данные TX потеряться не должны. На практике часть данных может ускользнуть, особенно при нестабильном соединении. В этом отношении соединения BLE не обладают надёжностью последовательных каналов с управлением потоком или соединений TCP.

Исходный материал Tibbo обновлён 27 июля 2022Оригинал на docs.tibbo.com · Сообщить об ошибке