Этот пакет предлагает реализацию в C драйвера для радиокомпонента LR11XX .
Водитель разделен на несколько компонентов:
Этот компонент используется для обновления прошивки.
Этот компонент используется для чтения / записи данных из регистров или внутренней памяти.
Этот компонент используется для взаимодействия с общеобразовательными параметрами, такими как источники часов, интегрированные радиочастотные переключатели и т. Д.
Этот компонент используется для отправки / получения данных через различные модемы (LORA и GFSK) или выполнение CAD LORA (обнаружение активности канала). Параметры, такие как выбор усилителя мощности, выходная мощность и режимы отступления, также доступны через этот компонент.
Это также обнаруживает функции для Sigfox. Bluetooth®-Low-Energy-Beaconing-Comelebatibility также предоставлена в этом компоненте для LR1110/LR1120.
Этот компонент предоставляет функции, связанные с LR-FHSS.
Этот компонент используется для настройки и инициирования пассивного сканирования сигналов Wi-Fi, которые можно поделиться для запроса геолокации.
Этот компонент используется для настройки и инициирования получения сигналов GNSS, которые можно поделиться для запроса геолокации.
Этот компонент используется для установления и вывода клавиш во внутренней ключах и выполнять криптографические операции со встроенным аппаратным ускорителем.
Этот компонент используется для настройки и эксплуатации функции Device в обратном направлении LORA (RTTOF).
Каждый компонент основан на разных файлах:
HAL (уровень аппаратной абстракции) представляет собой набор функций, которые пользователь должен реализовать для записи платформных вызовов на хост. Список функций является следующим:
Когда чип просыпается со спящего режима с удержанием, параметр не перенастроен должным образом. Эта неправильная конфигурация может привести к неожиданно высокой смежной мощности канала во всех последующих передачах.
Проблема появляется только в модуляции LORA, для всех полосой пропускной способности, за исключением 500 кГц и 800 кГц.
Затронуты следующие версии прошивки:
Обходной путь состоит в том, чтобы сбросить бит 30 в реестре 0x00F30054 , когда чип просыпается со спящего режима со сдерживанием.
Этот обходной путь не решает случай, когда LR11XX_RADIO_MODE_SLEEP настроен с lr11xx_radio_auto_tx_rx , а чип устанавливается в режим RX. Это является взносом того, что обходной путь не может быть применен до последующей передачи, автоматически запущенной чипом после пробуждения со спящего режима с удержанием.
Первая реализация - включена по умолчанию в драйвере - добавляет неявный вызов, обновляя параметр к каждой функции, которая может установить чип в передаче - напрямую или нет -:
lr11xx_radio_set_tx_with_timeout_in_rtc_steplr11xx_radio_set_tx_infinite_preamblelr11xx_radio_set_rx_with_timeout_in_rtc_step - В случае, если lr11xx_radio_auto_tx_rx был включенlr11xx_radio_set_cad - в случае LR11XX_RADIO_CAD_EXIT_MODE_TX был установлен с lr11xx_radio_set_cad_params Эта реализация может быть отключена путем определения макроса LR11XX_DISABLE_HIGH_ACP_WORKAROUND . Эта отключение будет полезно, когда в будущем будет выпущена новая прошивка, интегрирующая исправление и больше не требует обходного пути.
Основным преимуществом этой реализации является то, что она прозрачна для пользователя, которому нужно только обновить драйвер без изменения его приложения. Основным недостатком является то, что неявный вызов выполняется систематически, даже если это не требуется.
Второй метод требует, чтобы пользователь явно вызовал функцию lr11xx_radio_apply_high_acp_workaround , когда чип просыпается из спящего режима с удержанием (Примечание. Чтобы облегчить реализацию, его можно вызвать, когда чип просыпается из любого спящего режима).
Этот метод требует, чтобы макрос LR11XX_DISABLE_HIGH_ACP_WORKAROUND должен был быть определен, поэтому реализация 1 обходного пути (включенная по умолчанию) отключена.
Затронуты следующие версии прошивки:
Когда чип заканчивается прием в полосе 2,4 ГГц, параметр не перенастроен должным образом. Эта неправильная конфигурация предотвратит правильную работу последующего сканирования GNSS.
Важно отметить, что если чип входит в одно из следующего состояния между приемом в полосе 2,4 ГГц и сканированием GNSS, параметр должным образом реконфигурируется, и ограничение не появляется:
Обходной путь должен установить бит 4 в регистрации 0x00F30024 , когда чип заканчивает прием в полосе 2,4 ГГц перед запуском сканирования GNSS.
Этот обходной путь не требуется при использовании какой -либо версии прошивки LR1110. Тем не менее, это не мешает LR1110 работать должным образом, если обходной путь не деактивирован.
Первая реализация - включена по умолчанию в драйвере - добавляет неявный вызов, обновляющий параметр к каждой функции, которая может установить чип в режиме сканирования GNSS:
lr11xx_gnss_scan Эта реализация может быть отключена путем определения макроса LR11XX_DISABLE_MIXER_CFG_WORKAROUND . Эта отключение будет полезно, когда в будущем будет выпущена новая прошивка, интегрирующая исправление и больше не требует обходного пути.
Основным преимуществом этой реализации является то, что она прозрачна для пользователя, которому нужно только обновить драйвер без изменения его приложения. Основным недостатком является то, что неявный вызов выполняется систематически, даже если это не требуется.
Второй метод требует, чтобы пользователь явно вызовал функцию lr11xx_gnss_apply_mixer_cfg_workaround , когда чип заканчивает прием в 2,4 ГГц, если сканирование GNSS планируется после, не проходя через одно из состояний, указанных в описании этого ограничения.
Этот метод требует, чтобы макрос LR11XX_DISABLE_MIXER_CFG_WORKAROUND определяется, чтобы отключена реализация 1 обходного пути (включена по умолчанию).