March 28th, 2021

Бритоголовый и С1-97

Вот чтобы не забыть

Драйвер SX1276 из RIOT OS, кастомная плата с DC-DC-преобразователем и еще кучкой всякой фигни. Часть устройств работает нормально, на других — вообще нет никакого обмена с модемом на линии MISO — то есть, скажем, функция инициализации этот модем вовсе не обнаруживает (валится на check_version):

https://github.com/RIOT-OS/RIOT/blob/master/drivers/sx127x/sx127x.c#L129

Что интересно — если наплевать на возвращаемое при инициализации значение и продолжить «вслепую» писать что попало в регистры модема — то он что-то плюнет в эфир, то есть линию MOSI он воспринимает. Решение — сначала дернуть reset, а потом уже как-то с устройством общаться. Инициализация в стандартном драйвере написана криво, расчитывать на успешность power-on reset (вообще грешу на довольно медленный soft start) — ну такое…

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там или в ЖЖ.