Том 6, Часть B, раздел 2.1 (стр. 2562) из Базовая версия Bluetooth версии 5.0 определяет формат пакета канального уровня для незакодированных PHY Bluetooth с низким энергопотреблением. В этот формат пакета включен 24-битный CRC, который используется для обнаружения ошибок в цифровых данных.
В BlueZ, официальном стеке протоколов Linux с открытым исходным кодом, этот CRC вычисляется с использованием функции crc24_calculate () (см. ll.c ).
Что касается этого примера, мне интересно, где я могу найти вычисления этого 24-битного CRC в Bluetooth Android-коде с открытым исходным кодом ?
Действительно, из того, что я ранее читал в StackOverflow ,
Контроллер Bluetooth будет отбрасывать пакеты, где CRC не
сопоставьте содержимое пакета. Контроллер Bluetooth не передает CRC на основной процессор, поэтому вы не можете его получить.
На самом деле, если это так, как я могу быть уверен, что в стеке хоста Bluetooth Android обрабатываются только пакеты с проверенным 24-битным CRC?
Заранее спасибо за помощь:).