Нет описания

vad7 3101be2c04 NRF24_mini board support - 5V auto power on 2 лет назад
Distr 8438749483 listen mode 2 лет назад
Pics 2f9d85953e ability to skip cmd of write batch 2 лет назад
lib 42d8e2c494 upd 2 лет назад
LICENSE f8022a63eb Initial commit 2 лет назад
README.md 3101be2c04 NRF24_mini board support - 5V auto power on 2 лет назад
application.fam 4978e53f30 first 2 лет назад
descript.txt 0dbf1a1fc0 new "Set" cmd, added Kitchen Vent.txt 2 лет назад
nrf24batch.c 3101be2c04 NRF24_mini board support - 5V auto power on 2 лет назад
nrf24batch.h 4978e53f30 first 2 лет назад
nrf24batch_10px.png 4978e53f30 first 2 лет назад

README.md

nRF24-Batch

Flipper Zero application for nRF24L01 external board. Sends batch commands.

Приложение для Flipper Zero, предназначено для отправки пакетных команд на удаленные устройства, использующие радио nRF24L01.

Можно использовать для настройки или чтения данных с удаленного устройства. На удаленной стороне требуется поддержка, ссылка на код для микроконтроллера AVR ниже.

Сначала выбирается файл настройки с описанием команд.
Можно отредактировать адрес и номер канала.
Затем стрелками влево или вправо выбирается нужный режим - Пакетное чтение (Read Batch), Чтение по одной команде (Read cmd), Пакетная запись (Write Batch), Режим прослушивания адреса (Listen).

Есть два вида команд: запрос-ответ и запись.
Запрос-ответ (Read) - отправка пакета, переключение на прием и отображение на экране, что получили.
Запись (Write) - фактически отправка пакетов подряд с нужными данными.
Режим прослушивания (Listen) - если в файле присутствует строка "Listen: <адрес>=<поле 1>,<поле 2>,...", где "поле.." название поля. Адрес пожно менять - долго нажать Ok.

Формат пакета для отправки (payload) задается в виде размера полей структуры в байтах, например, так "Payload struct: 2,1,1", что означает структуру из 3 полей: 2 байта, 1 байт, 1 байт.
Полученный в ответ пакет (такой же длины как и отправленный) состоит из одного значения (остаток пакета не используется), размерность по умолчанию 1 байт (int8), при необходимости, она задается числом после '*' после имени команды.

Перед отправкой пакета, он заполняется сначала по шаблону по умолчанию "R default" для запроса чтения, "W default" - для записи.
Поля разделены - ','. Для "W default" есть специальный маркер 'n', говорящий какое поле будет заполняться значением после '=' из команды "WBatch".
Можно использовать константы по их имени, они задаются в файле в формате "имя=число", число либо десятичное или шестнадцатеричное с префиксом 0x.
Затем берутся заполненные значения полей из самой команды ("R:" или "W:").
Если в конце строки с командой чтения символ '#', то считанное значение будет показано в шестнадцатеричном виде.

Пакеты чтения "RBatch:" и записи "WBatch:" состоят из списка имен команд "R:" или "W:"("S:"), соответственно, перечисленных через ";".
"S:" то же самое, что и "W:", только пакет "Write start" отправлен не будет

Отправка пакета для записи - длительно нажать Ok в списке и подтвердить.
Перед пакетом команд для записи отправляется пакет "Write start", если эта строка присутствует в файле настроек.

Значение команды для записи можно редактировать - Ok на списке команд, стрелки - +/- и переход по цифрам, завершить - Назад, вставка цифры - Ok, удаление цифры - длительный Ok.
Из списка команд в пакетах чтения и записи команды можно убирать - для этого нужно долго нажать на кнопку влево и подтвердить.
Это нужно, например, чтобы убирать те команды в сохраненном пакете для чтения, для которых нет команды записи.

Пример файл CO2_mini
Для устройства на Attiny44A, которое отправляет данные с датчика CO2 на контроллеры, управляющие вентиляцией или проветриватели: https://github.com/vad7/CO2-mini

Структура файла настроек:





Mini board for Flipper Zero to connect nRF24l01:


Gerber for mini board with 5V - 3.3V converter LM1117-3.3
Easyeda source