Pingvin писал(а):
Может ветку заведём по радиомодулям отдельную?
Чтобы тут не флудить.
Окей, я завел:
viewtopic.php?f=5&t=4959Вопросы ниже имеют все-таки отношение к использованию NRF в Caustic, поэтому пока отвечу здесь:
Pingvin писал(а):
На данным момент интересует, как настраиваются радиомодули, с какими параметрами?
Я так понял, все устройства равны в сети?
И бандана с тагом общаются по "общей сети"?
У всех устройств один адрес - какой?
Верно ли понимаю, что автодтверждение отключено?
Какой канал используется?
То есть активных каналов может быть несколько?
И модуль будет следить за всеми одновременно?
Скорость обмена?
И т.д...
В моем коде вся инициализация сделана в функции void NRF24L01Manager::init() :
https://github.com/DAlexis/caustic-lase ... 1.cpp#L176 . Все вещи, про которые пишу ниже, настраиваются из этой функции.
Все устройства в общей сети по одному хардварному адресу. Я не меняю тот, что стоит по-умолчанию, e7 e7 e7 e7 e7, и использую свою адресацию поверх этой. Бандана с тагом тоже в общей сети.
В модуле NRF24 предусмотрено 5 "каналов приема" с разными nrf-адресами. Но nrf-адреса могут отличаться только последним байтом, и все они все равно на одной частоте. Просто при приеме пакета радиомодуль скажет, какому каналу пакет принадлежит. Функция бесполезная, когда есть своя адресация поверх nrf.
Автоподтверждение средствами NRF24 отключено. Эту функцию я реализую сам, потому что встроенная в NRF слишком примитивна.
Канал, по-моему, везде стоит номер 1. Это последний параметр функции NRF24L01Manager::init(). Помнится, Вы находили документ, из которого вытекает, что в России можно использовать мощные радиомодули nrf, если канал 101-125. Так что в дальнейшем канал изменю на какой-нибудь разрешенный.
Скорость обмена - у меня стоит 1М. Нужно будет понизить до 250к - это умеют новые модули. Мой код пока не поддерживает такой режим, как руки дойдут - добавлю. Скорости 250к хватит на всё, зато дальность заметно возрастет.