vad7 пре 2 година
родитељ
комит
fdabb9c387
3 измењених фајлова са 42 додато и 3 уклоњено
  1. BIN
      Pics/descript.png
  2. 8 3
      README.md
  3. 34 0
      descript.txt

BIN
Pics/descript.png


+ 8 - 3
README.md

@@ -1,5 +1,5 @@
 # nRF24-Batch
-Flipper Zero application for nRF24L01 external board. Send batch commands. (TESTING...)
+Flipper Zero application for nRF24L01 external board. Send batch commands. (IN DEVELOP...)
 
 <b>Приложение для Flipper Zero, предназначено для отправки пакетных команд на удаленные устройства, использующие nRF24L01.</b><br>
 Можно использовать для настройки или чтения данных с удаленного устройства. На удаленной стороне для команды чтения требуется поддержка.<br>
@@ -9,15 +9,20 @@ Flipper Zero application for nRF24L01 external board. Send batch commands. (TEST
 <br>
 Описание команд в текстовом файле.<br>
 <br>
-Формат пакета (payload) в виде размера полей структуры в байтах задается, например, так "Payload struct: 2,1,1",<br>
+Формат пакета для отправки (payload) задается в виде размера полей структуры в байтах, например, так "Payload struct: 2,1,1",<br>
 что означает структуру из 3 полей: 2 байта, 1 байт, 1 байт.<br>
+Полученный в ответ пакет состоит из одного значения, размерность по умолчанию 1 байт (int8), задается числом после '*' после имени команды.<br><br>
 Перед отправкой пакета, он заполняется сначала шаблону по умолчанию: "R default" - запрос чтения, "W default" - запись.<br>
-Можно использовать константы, они указываются в формате "имя=число", число либо десятичное или шестнадцатеричное с префиксом 0x.<br>
+Можно использовать константы, они задаются в формате "имя=число", число либо десятичное или шестнадцатеричное с префиксом 0x.<br>
 Затем берутся заполненные значения из самой команды.<br>
 Пакет состоит из списка команд, перечисленных через ";".<br>
+Перед пакетом команд для записи отправляется пакет 'Write start', если присутствует в файле.<br>
 <br>
 Пример файл [CO2_mini](https://raw.githubusercontent.com/vad7/nRF24-Batch/main/Distr/nrf24batch/CO2_mini.txt)<br>
 <br>
+Структура файла настроек:
+<img src="https://raw.githubusercontent.com/vad7/nRF24-Batch/main/Pics/descript.png">
+<br>
 <br>
 <img src="https://raw.githubusercontent.com/vad7/nRF24-Batch/main/Pics/Screenshot-1.png">
 <img src="https://raw.githubusercontent.com/vad7/nRF24-Batch/main/Pics/Screenshot-2.png">

+ 34 - 0
descript.txt

@@ -0,0 +1,34 @@
+Info: CO2 sensor mini
+Rate: 1	          <- nRF24 data rate (0 - 250Kbps, 1 - 1Mbps, 2 - 2Mbps)
+Ch: 121           <- nRF24 channel (0..125)
+CRC: 2            <- nRF24 CRC size
+DPL: 0            <- nRF24 dynamic payload en/dis
+Address: C8C8CF   <- nRF24 address (3..5 bytes)
+Resend: 3         <- resend attempts on error
+Delay_ms: 30      <- delay between cmd and resend
+
+Payload struct: 2,1,1   <- field sizes of send packet in bytes, received packet consists of 1 field with default size 1 byte (int8)
+EEPROM=0; RAM=1; PROGMEM=2; ID=3; RESET=4   <- Constants
+
+R default: ,EEPROM,0xC1     <- default for read
+W default: n,,0x81          <- default for write, 'n' - means field value position
+Write start: 0,0,0x8F       <- if exist in the file - packet before write a batch
+
+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: 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 }
+W: CO2 threshold=,5,0x82    <- Write cmd, send pkt = { <from WBatch 1 byte>, <from WBatch 2 byte>, 5, 0x82 }
+
+R: FanLSB[10]=i:9           <- Read cmd, '[n]' - means array with 'n' elements, 'i:n' - means array index field that will be incemented after next cmd
+                               result in bytes = 1 pkt: { 9, 0, 0, 0xC1 }, 2 pkt: { 10, 0, 0, 0xC1 }, 3 pkt: { 10, 0, 0, 0xC1 },... total 10 packets
+W: FanLSB=,i:9              <- Write cmd, 'i' - index field. Send packets: { n & 0xFF, n >> 8, 9, 0x81 }, { n & 0xFF, n >> 8, 10, 0x81 },...  
+W: RxAddr=,1
+W: Reset=,RESET,0xC1
+
+RBatch: Settings: ID;OSCCAL;RxAddr;Ch;nRF RETR;CO2 threshold;CO2 correct;FanLSB   <- Read Batch, 8 packets will be sent and received
+
+WBatch: Default: RxAddr=0xCF;CO2 threshold=1000;Reset  <- Write Batch, Send: { 0,0,0,0x8F }, { 0xCF, 0, 1, 0x81 }, { 0xE8, 0x03, 5, 0x82 }, { 0, 0, 4, 0x81 }
+WBatch: Fans: FanLSB={0xC2,0xC3,0}                     <- Write Batch, Send: { 0,0,0,0x8F }, { 0xC2, 0, 9, 0x81 }, { 0xC3, 0, 10, 0x81 }