Skip to content

Commit

Permalink
Ability to save in file read data (ReadBatch) as WriteBatch
Browse files Browse the repository at this point in the history
  • Loading branch information
vad7 committed Mar 1, 2023
1 parent aa5fca0 commit 47926cd
Show file tree
Hide file tree
Showing 5 changed files with 127 additions and 57 deletions.
6 changes: 3 additions & 3 deletions Distr/nrf24batch/CO2_mini.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ R: OSCCAL=0x51,RAM
R: OSCCAL_EMEM=0
R: CO2=0x67,RAM,0xC2

R: RxAddr=1
R: RxAddr=1#
W: RxAddr=,1

R: Ch=2
W: Ch=,2

R: nRF RETR=3
R: nRF RETR=3#
W: nRF RETR=,3

R: Send period=4
Expand All @@ -38,7 +38,7 @@ W: CO2 threshold=,5,0x82
R: CO2 correct*2=7,,0xC2
W: CO2 correct=,7,0x82

R: FanLSB[10]=i:9
R: FanLSB[10]=i:9#
W: FanLSB=,i:9

W: Reset=,RESET,0xC1
Expand Down
Binary file modified Pics/descript.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,21 @@ Flipper Zero application for nRF24L01 external board. Sends batch commands. (IN
Можно использовать для настройки или чтения данных с удаленного устройства. На удаленной стороне для команды чтения требуется поддержка.<br>
Сначала выбирается файл настройки с описанием команд.
Затем стрелками влево или вправо выбирается нужный режим - Пакетное чтение (Read Batch), Чтение по одной команде (Read cmd), Пакетная запись (Write Batch).
<br>
<br><br>
Есть два вида команд: запрос-ответ и запись.<br>
Запрос-ответ - отправка пакета, переключение на прием и отображение на экране, что получили.<br>
Запись - фактически отправка пакетов подряд с нужными данными.<br>
<br>
Формат пакета для отправки (payload) задается в виде размера полей структуры в байтах, например, так "Payload struct: 2,1,1",<br>
что означает структуру из 3 полей: 2 байта, 1 байт, 1 байт.<br>
<br><br>
Формат пакета для отправки (payload) задается в виде размера полей структуры в байтах, например, так "Payload struct: 2,1,1", что означает структуру из 3 полей: 2 байта, 1 байт, 1 байт.<br>
Полученный в ответ пакет состоит из одного значения, размерность по умолчанию 1 байт (int8), при необходимости, задается числом после '*' после имени команды.<br><br>
Перед отправкой пакета, он заполняется сначала шаблону по умолчанию "R default" для запроса чтения, "W default" - для записи.<br>
Можно использовать константы по их имени, они задаются в формате "имя=число", число либо десятичное или шестнадцатеричное с префиксом 0x.<br>
Затем берутся заполненные значения из самой команды ("R:" или "W:").<br>
Пакет состоит из списка имен команд, перечисленных через ";".<br>
Перед пакетом команд для записи отправляется пакет 'Write start', если эта строка присутствует в файле.<br>
Значение команды для записи можно редактировать - Ok на списке команд, стрелка +/- и переход по цифрам, завершить - Назад, вставка цифры - Ok, удаление цифру - длительный Ok.<br>
Затем берутся заполненные значения полей из самой команды ("R:" или "W:").<br>
Если в конце строки с командой чтения символ '#', считанное значение будет показано в шестнадцатеричном виде.<br><br>
Пакет состоит из списка имен команд, перечисленных через ";".<br><br>
Отправка пакета для записи - длительно нажать Ok в списке и подтвердить.<br>
Перед пакетом команд для записи отправляется пакет 'Write start', если эта строка присутствует в файле настроек.<br><br>
Значение команды для записи можно редактировать - Ok на списке команд, стрелки - +/- и переход по цифрам, завершить - Назад, вставка цифры - Ok, удаление цифры - длительный Ok.<br>
<br>
Пример файл [CO2_mini](https://raw.githubusercontent.com/vad7/nRF24-Batch/main/Distr/nrf24batch/CO2_mini.txt)<br>
Для устройства на Attiny44A, которое отправляет данные с датчика CO2 на контроллеры, управляющие вентиляцией или проветриватели: https://github.com/vad7/CO2-mini
Expand Down
2 changes: 1 addition & 1 deletion descript.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Write start: 0,0,0x8F <- if exist in the file - packet before write a batc

R: ID*=,ID <- Read cmd, '*' - means string like device ID, result in bytes = { 0, 0, 3, 0xC1 }
R: OSCCAL=0x51,RAM <- Read cmd, result in bytes = { 0x51, 0, 1, 0xC1 }
R: OSCCAL_EMEM=0 <- Read cmd, result in bytes = { 0, 0, 0, 0xC1 }
R: OSCCAL_EMEM=0# <- Read cmd, result in bytes = { 0, 0, 0, 0xC1 }, in the end of line - '#', returned value in hexadecimal format
R: CO2=0x67,RAM,0xC2 <- Read cmd, result in bytes = { 0x67, 0, 1, 0xC2 }

R: CO2 threshold*2=5,,0xC2 <- Read cmd, '*2' - means received field with 2 bytes size (int16), result in bytes = { 5, 0, 0, 0xC2 }
Expand Down
Loading

0 comments on commit 47926cd

Please sign in to comment.