nRF24L01+ : побеждаем модуль.

Тема в разделе "Проводная и беспроводная связь", создана пользователем ИгорьК, 19 июн 2014.

  1. ИгорьК

    ИгорьК Давно здесь Команда форума

    32 - это максимум.
     
  2. Oleg_7

    Oleg_7 Гик

    а как мне быть, если надо 40 ?.... размер отправляемого объекта
    sizeof(from_radio)=40
     
  3. ИгорьК

    ИгорьК Давно здесь Команда форума

    Вариантов два:
    • договориться с Nordic чтобы он выпустил специальный модуль с буфером 40;
    • разбить структуру и отправлять частями.
     
    MickNich нравится это.
  4. DIYMan

    DIYMan Гуру

    Вам точно надо 40 байт? Вангую, что размер вашей структуры можно подвергнуть оптимизации и скостить лишние 8 байт.

    Это если не хотите отправлять по частям структуру, а ведь придётся, т.к. макс. размер payload у nRF - 32 байта.
     
  5. PepsDD

    PepsDD Нуб

    Полный абзац, подпаял емкости ни чего не поменялось. Психанул, все отпаял, подключил жгутами модули к ардуинам посадив их на питание 3.3, снес все библиотеки и о чудо. Оказалось модули не работали с библиотекой rf24-maste, подключил библиотеку rf24 из менеджера библиотек, запустил пример GettingStarted и они общаться друг другом и в пределах квартиры даже без антенн. В чем прикол понять не могу. Может это глюк именно модулей ТКА24L01+PA+LNA?
     
  6. Oleg_7

    Oleg_7 Гик

    Спасибо ВСЕМ ! 40 байт с оптимизировал до 24 байт, все ок ! ))
     
  7. DIYMan

    DIYMan Гуру

    И это ещё не предел, вангую ;) Если выложите сюда формат пакета с описанием, чего в каждом поле передаётся, вполне возможно, что ещё урежем осетра ;)
     
  8. Добрый вечер победителям модулей.

    Соединяю arduino uno и nano с помощью nrf2401l. Задача на данный момент просто настроить устойчивый прием-передачу некоторых значений (стремлюсь, чтобы в 9 из 10 событий приема-передачи это срабатывало). Использую библиотеку RadioHead и в целом принимает-отправляет, но, к сожалению, через раз, а именно где-то 50 на 50 :) То есть никаких сбоев нет, ничего не виснет, лажу не передает, все работает, но недостаточно надежно.
    Решил запитать модули отдельно и тут столкнулся с провалом при инициализации. Подключаю обратно к ардуине - инициализация успешна. Все соединительные провода проверил - все в порядке.

    Я по специальности - махровый любитель, мог что-то не учесть, так что прошу помощи - с чисто физической точки зрения все нормально с таким подключением?
    Этот fail при инициализации меня просто убил морально)) какая модулю разница откуда свои 3.3 вольта получать, с ардуины или от адаптера? В чем может быть подвох? Фото подключения прилагаю, если это чем-то поможет. Слева два провода, уходящие за кадр, подключены в адаптер питания, у которого на выходе 3.3 вольта (также проверял вольтметром).

    Спасибо!
     

    Вложения:

    Последнее редактирование: 20 июл 2016
  9. Если дело-таки в недостаточной стабильности напряжения с моего адаптера, то LM1117 подойдет мне для того чтобы собрать стабилизатор (http://www.chipdip.ru/product/lm1117dt-3.3-nopb/)? 0.8 А достаточно будет для питания модуля?
     
  10. Собрал стабилизатор на LM1117, работает отлично, напряжение 3.28 стабильно. Провал инициализации. Думаю дальше.
     
  11. В результате экспериментов:
    - два модуля заработали на выделенном источнике питания 3,28 В, два модуля - категорически отказываются (всего у меня их 4, все из разных партий);
    - качество приема-передачи: в какой-то момент показалось, что успех пришел, (29 принятых из 30-ти отправленных) но это счастье длилось недолго - непонятно почему, так что в целом, независимо от того на приемник я ставлю стабилизатор или на передатчик, качество осталось на том же уровне.

    Спаяю вечером второй стабилизатор, прикручу его на приемник и на передатчик - посмотрю, что получится, когда оба модуля запитаны от стабилизаторов.
     
  12. Kate

    Kate Нуб

    Подключил всё правильно. питание через ардуино nano v3.
    не знаю что делать.
     

    Вложения:

    • аруино.png
      аруино.png
      Размер файла:
      114,5 КБ
      Просмотров:
      405
  13. Oleg_7

    Oleg_7 Гик

  14. Достиг необходимой эффективности - 1 ложное срабатывание на 50 сигналов где-то. Основная проблема, как выяснилось в результате научных тыков, была в питании ардуины. Моя нано (она на приеме) была изначально запитана от 5Вольтового аккума через пины GND/VIN (по условиям проекта она должна менять расположение и питание должно быть автономное). Когда же я подключал питание через mini-USB качество приема возрастало в разы. Поэтому был собран штекер (см. картинку), к нему подключен аккум, а штекер соответственно в разъем на ардуине.

    В сухом остатке:
    - для общения модулей используется библиотека RadioHead, а именно ее методы из RHReliableDatagram.cpp (они отправляют требуемое сообщение, ждут ответа от клиента, если его нет в течении какого-то времени (ок. 200 мс), то повторяют установленное число раз отправку (по умолчанию 3 раза));
    - питание только через mini-USB штекер;
    - на модуле-отправителе сигнала (в моем случае был подключен к arduino-uno) - стабилизатор 3.3 В, на LM1117;
    - установка стабилизатора на модуль-приемник на качество практически не повлияла;
    - питание модуля-приемника в финальных экспериментах сделал от двух акумов по 3.7В каждый, последовательно; к ним присобачил mini-USB и его уже в arduino-nano; сам NRF24 питался от разъема 3.3 на ардуине;
    - при работе ардуино-нано от 5В акума прием был тоже уверенный, я бы сказал такой же, но по времени я дольше тестировал вариант с двумя акумами по 3.7 В;
    - NRF модули из разных партий, пробовал также менять их местами, и ставить модули из других партий - работали без сбоев (кроме одного);
    - на модулях, кот. тестировались в финальной сборке, не было кондеров; модули с кондерами работали так же (статистических данных конечно же не хватает, чтобы утверждать это однозначно).

    При условиях, перечисленных выше, прием практически без сбоев через 3 стены (2 несущих), сквозь кучу вайфаев своих и соседских (канал я выбирал программой WifiInfoView самый незагруженный), расстояние по прямой где-то 15 м.
     

    Вложения:

  15. VetalST

    VetalST Нуб

    А зависит дальность приема передачи от величины напряжения (от 1,9в до 3,3в ) питания модулей ?????
     
  16. vlad123419

    vlad123419 Нерд

    Здравствуйте, делаю лодку на радиоуправлении с NRF24L01, один модуль с усилителем, другой без...
    Подключено через переходник (стабилизатор), подключил, залил скетч
    Там на лодке одна серва и регулятор для бесколлекторных двигателей, но он управляется как серва, пу сути там две сервы...
    Но вот серва работает, все с ней ок, а регулятор через пень колоду...
    Скорее всего проблема в коде, код такой
    Это передатчик:

    Код (C++):
    #include <SPI.h>
    #include "RF24.h"
    RF24 radio(9,10);
    const uint64_t pipe = 0xF0F0F0F000LL;
    int msg[1];
    int potpin_1 = A0;
    int val_1;
    int potpin_2 = A1;
    int val_2;

    void setup(){
    radio.begin();

    radio.openWritingPipe(pipe);

    }
    void loop() {
    val_1 = analogRead(potpin_1),val_1 = map(val_1, 0, 1023, 0, 127),msg[0] = val_1,radio.write(msg, 1);
    val_2 = analogRead(potpin_2),val_2 = map(val_2, 0, 1023, 128, 255),msg[0] = val_2,radio.write(msg, 1);

     
    }
     
    Это приемник:

    Код (C++):
    // Необходимо установить библиотеку для радиомодуля nRF24
    #include <Servo.h>
    #include <SPI.h>
    #include "RF24.h"
    Servo servo1;
    Servo servo2;

    RF24 radio(9,10);
    const uint64_t pipe = 0xF0F0F0F000LL;
    int msg[1];
    int data;
    int pos;
    int fspeed;           // forward speed
    int bspeed;           // backward speed

    void setup()
    {
     
    servo1.attach(3);
    servo2.attach(5);
    delay(50);
    radio.begin();
    radio.openReadingPipe(1,pipe);
    radio.startListening();
    }

    void loop()
    {
      if (radio.available())radio.read(msg, 1);
      if (msg[0] <127 && msg[0] >-1)data = msg[0], pos = map(data, 0, 126, 0, 180),servo1.write(pos);
     
      if (msg[0] <=255 && msg[0] >=128)data = msg[0], pos = map(data, 129, 254, 147, 7),servo2.write(pos);
     
    }
     
    Мне кажется что с модулями проблем нет, вот там что то напутано с функцией map, это я так думаю, а там кто знает?
    Прошу указать мне на мои ошибки, заранее спасибо!
     
  17. OOM

    OOM Нерд

    Всем доброго времени! Прошу помощи. Есть Мега и две Уны с NRF24L01+. По отдельности все работает нормально, т.е. Мега (пульт) с 1 УНой (приемник) и Мега со 2 УНой (приемник), а как реализовать, чтобы от Меги (пульт) работали и 1 и 2 УНы одновременно. Очень нужно.
     
  18. forfrends

    forfrends Нерд

    Добрый день! Нужна ваша помощь. Примерно пол года назад приобрел два модуля NRF24L01+. Подключил один к MEGE второй к DUE. С DUE пришлось повозиться (распиновка, проблемы компиляции и т.д.) но все заработало (без подпайки конденсаторов на модули). Тестировал все через пример из библиотеки GettingStarted_CallResponse. Заработало, вот и хорошо, и отложил их "на потом". С тех пор прошла замена жесткого диска, переустоновка Windows... Все предыдущие наработки были утеряны безвозвратно. Сейчас пытаюсь сделать тоже самое, но ничего не получается... Помогите подключить NRF24L01+ к MEGE и DUE. Распиновку брал такую:
    [​IMG]
    Библиотеку установил через менеджер библиотек: RF24 by MTRH20 v 1.1.7
    Подключаю к Arduino Mega:
    3.3v - 3.3v
    GND - GND
    CSN - 53
    CE - 9
    MOSI - 51
    SCK - 52
    MISO - 50
    IRQ - не подключал, так как не нашел нигде информации как и куда подключать

    Загружаю стандартный пример GettingStarted_CallResponse: с настройками RF24 radio(9,53);

    прошивка идет без проблем.

    Подключаю другой модуль к Arduino DUE:
    3.3v - 3.3v
    GND - GND
    CSN - 53
    CE - 9
    MOSI - MOSI (SPI-разъем)
    SCK - SCK (SPI-разъем)
    MISO - MISO (SPI-разъем)
    IRQ - не подключал, так как не нашел нигде информации как и куда подключать

    Загружаю стандартный пример тот же что и выше: GettingStarted_CallResponse, с теми же настройками RF24 radio(9,53);: В результате компилируется с ошибками, но прошивается(!):
    Изменены опции сборки, пересобираем все
    In file included from C:\Users\Игорь\Documents\Arduino\libraries\RF24/RF24.h:18:0,

    from D:\Temp\arduino_modified_sketch_309003\GettingStarted_CallResponse.ino:16:

    C:\Users\Игорь\Documents\Arduino\libraries\RF24/RF24_config.h:146:0: warning: "PSTR" redefined [enabled by default]

    #define PSTR(x) (x)

    ^

    In file included from C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/Arduino.h:31:0,

    from sketch\GettingStarted_CallResponse.ino.cpp:1:

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/avr/pgmspace.h:34:0: note: this is the location of the previous definition

    #define PSTR(str) (str)

    ^

    In file included from C:\Users\Игорь\Documents\Arduino\libraries\RF24/RF24.h:18:0,

    from D:\Temp\arduino_modified_sketch_309003\GettingStarted_CallResponse.ino:16:

    C:\Users\Игорь\Documents\Arduino\libraries\RF24/RF24_config.h:148:0: warning: "strlen_P" redefined [enabled by default]

    #define strlen_P strlen

    ^

    In file included from C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/Arduino.h:31:0,

    from sketch\GettingStarted_CallResponse.ino.cpp:1:

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/avr/pgmspace.h:69:0: note: this is the location of the previous definition

    #define strlen_P(a) strlen((a))

    ^

    In file included from C:\Users\Игорь\Documents\Arduino\libraries\RF24/RF24.h:18:0,

    from D:\Temp\arduino_modified_sketch_309003\GettingStarted_CallResponse.ino:16:

    C:\Users\Игорь\Documents\Arduino\libraries\RF24/RF24_config.h:150:0: warning: "pgm_read_word" redefined [enabled by default]

    #define pgm_read_word(p) (*(p))

    ^

    In file included from C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/Arduino.h:31:0,

    from sketch\GettingStarted_CallResponse.ino.cpp:1:

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/avr/pgmspace.h:103:0: note: this is the location of the previous definition

    #define pgm_read_word(addr) (*(const unsigned short *)(addr))

    ^

    In file included from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24.cpp:10:0:

    C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24_config.h:146:0: warning: "PSTR" redefined [enabled by default]

    #define PSTR(x) (x)

    ^

    In file included from C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/Arduino.h:31:0,

    from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24_config.h:63,

    from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24.cpp:10:

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/avr/pgmspace.h:34:0: note: this is the location of the previous definition

    #define PSTR(str) (str)

    ^

    In file included from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24.cpp:10:0:

    C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24_config.h:148:0: warning: "strlen_P" redefined [enabled by default]

    #define strlen_P strlen

    ^

    In file included from C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/Arduino.h:31:0,

    from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24_config.h:63,

    from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24.cpp:10:

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/avr/pgmspace.h:69:0: note: this is the location of the previous definition

    #define strlen_P(a) strlen((a))

    ^

    In file included from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24.cpp:10:0:

    C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24_config.h:150:0: warning: "pgm_read_word" redefined [enabled by default]

    #define pgm_read_word(p) (*(p))

    ^

    In file included from C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/Arduino.h:31:0,

    from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24_config.h:63,

    from C:\Users\Игорь\Documents\Arduino\libraries\RF24\RF24.cpp:10:

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\cores\arduino/avr/pgmspace.h:103:0: note: this is the location of the previous definition

    #define pgm_read_word(addr) (*(const unsigned short *)(addr))

    ^


    Скетч использует 25 824 байт (4%) памяти устройства. Всего доступно 524 288 байт.
    Atmel SMART device 0x285e0a60 found
    Erase flash
    done in 5.556 seconds
    Set boot flash true
    CPU reset.

    При включении Монитора порта обе платы выдают запрос:
    RF24/examples/GettingStarted_CallResponse
    *** PRESS 'T' to begin transmitting to the other node

    При попытке передачи с МЕГИ получаю бесконечные:
    Now sending 1
    Got blank response. round-trip delay: 636 microseconds...

    При попытке передачи с LET получаю бесконечные:
    Now sending 1
    Sending failed.

    Пробовал залить Скетч для проверки подключения:
    Код (C++):
    #include <SPI.h>
    #include "nRF24L01.h"
    #include "RF24.h"
    //#include "printf.h"

    //RF24 radio(9,10); // Для Уно
    RF24 radio(9,53);// Для Меги
    const uint8_t num_channels = 128;
    uint8_t values[num_channels];
    void setup(void)
    {
    Serial.begin(57600);
    printf_begin();
    radio.begin();
    radio.setAutoAck(false);
    radio.startListening();

    radio.printDetails(); // Вот эта строка напечатает нам что-то, если все правильно соединили.
    delay(5000); // И посмотрим на это пять секунд.

    radio.stopListening();
    int i = 0; // А это напечатает нам заголовки всех 127 каналов
    while ( i < num_channels ) {
    printf("%x",i>>4);
    ++i;
    }
    printf("\n\r");
    i = 0;
    while ( i < num_channels ) {
    printf("%x",i&0xf);
    ++i;
    }
    printf("\n\r");
    }
    const int num_reps = 100;

    void loop(void)
    {
    memset(values,0,sizeof(values));
    int rep_counter = num_reps;
    while (rep_counter--) {
    int i = num_channels;
    while (i--) {
    radio.setChannel(i);
    radio.startListening();
    delayMicroseconds(128);
    radio.stopListening();
    if ( radio.testCarrier() )
    ++values;
    }
    }
    int i = 0;
    while ( i < num_channels ) {
    printf("%x",min(0xf,values&0xf));
    ++i;
    }
    printf("\n\r");
    }
    int serial_putc( char c, FILE * ) {
    Serial.write( c );
    return c;
    }

    void printf_begin(void) {
    fdevopen( &serial_putc, 0 );
    }
    Компиляции и прерывается с ошибкой (на обеих платах):
    Код (C++):
    C:\Users\Р?РіРѕСЂСЊ\Desktop\sketch_aug15a\sketch_aug15a.ino: In function 'void loop()':

    sketch_aug15a:49: error: lvalue required as increment operand

    In file included from sketch\sketch_aug15a.ino.cpp:1:0:

    sketch_aug15a:54: error: invalid operands of types 'uint8_t [128] {aka unsigned char [128]}' and 'int' to binary 'operator&'

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.12\cores\arduino/Arduino.h:84:24: note: in definition of macro 'min'

    #define min(a,b) ((a)<(b)?(a):(b))

                            ^

    sketch_aug15a:54: error: invalid operands of types 'uint8_t [128] {aka unsigned char [128]}' and 'int' to binary 'operator&'

    C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.12\cores\arduino/Arduino.h:84:32: note: in definition of macro 'min'

    #define min(a,b) ((a)<(b)?(a):(b))

                                    ^

    exit status 1
    lvalue required as increment operand
    Если написать отдельно скетч с radio.printDetails(); то обе Дуинки дают такой ответ:
    STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    RX_ADDR_P0-1 = 0xe8e8f0f0e1 0xc2c2c2c2c2
    RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
    TX_ADDR = 0xe8e8f0f0e1
    RX_PW_P0-6 = 0x20 0x00 0x00 0x00 0x00 0x00
    EN_AA = 0x00
    EN_RXADDR = 0x02
    RF_CH = 0x4c
    RF_SETUP = 0x07
    CONFIG = 0x0f
    DYNPD/FEATURE = 0x00 0x00
    Data Rate = 1MBPS
    Model = nRF24L01+
    CRC Length = 16 bits
    PA Power = PA_MAX
    Это говорит о том что подключение правильное на обеих платах. Подозреваю что вся проблема в библиотеке, она какая-то глючная + не настроена для ДУЕ. Можете чем-то помочь?
     
  19. ИгорьК

    ИгорьК Давно здесь Команда форума

    Я дам Вам уникальный совет, о котором никогда (никогда! Ни разу!) в этом форуме не говорилось:
    • рискните припаять конденсаторы;
    • рискните поменять библиотеки;
    • проведите полную инициализацию модулей;
    • меняйте параметры radio.setAutoAck(false); в каждом, причем в любых вариантах в паре.
    И, главное, не выдавайте этой страшной тайны!
     
    MickNich нравится это.
  20. forfrends

    forfrends Нерд

    :)))
    Конденсаторы припаял перед тем как написать... Начал читать форум с самого начала. И да, снес библиотеку, поставил с вашего поста https://github.com/maniacbug/RF24/, загрузил скетч-сканер в МЕГУ, загрузилось без проблем, результат:
    STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xc2c2c2c2c2
    RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
    TX_ADDR = 0xe7e7e7e7e7
    RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
    EN_AA = 0x00
    EN_RXADDR = 0x03
    RF_CH = 0x4c
    RF_SETUP = 0x07
    CONFIG = 0x0f
    DYNPD/FEATURE = 0x00 0x00
    Data Rate = 1MBPS
    Model = nRF24L01+
    CRC Length = 16 bits
    PA Power = PA_HIGH
    00000000000000001111111111111111222222222222222233333333333333334444444444444444555555555555555566666666666666667777777777777777
    0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
    00000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000013220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000023432000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000001343210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000023321000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000012442000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000234200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000023400000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000220000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000243100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000004210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Загружаю тот же скетч в ДУЕ: при компиляции ругается на 'fdevopen' заменил
    #if !defined(__arm__)
    fdevopen( &serial_putc, 0 );
    #endif

    Так же в файле RF24.cpp добавил строчки:
    #ifdef __arm__
    #define SPI_CLOCK_DIV4 21
    #define _BV(bit) (1 << (bit))
    #define printf_P printf
    #endif

    После чего компиляция прошла успешно и DUE выдала странный ответ:
    STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    S
    = 0xe7e7e7e7e7 0xc2c2c2c2c2
    S = 0xc3 0xc4 0xc5 0xc6
    S ' = 0xe7e7e7e7e7
    S / = 0x00 0x00 0x00 0x00 0x00 0x00
    S : = 0x00
    S @ = 0x03
    S J = 0x4c
    S P = 0x07
    S Y = 0x0f
    S ` = 0x00 0x00
    Data Rate = S
    Model = S
    CRC Length = S
    PA Power = S
    00000000000000001111111111111111222222222222222233333333333333334444444444444444555555555555555566666666666666667777777777777777
    0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
    00000000000000000000000000000000022221111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000122110112200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000222121222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000211122221100000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000001122221200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000112222121200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000222211122200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000232111122200000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000211112222100000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000111232210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    Как правильно полностью инициализировать модули? С параметром radio.setAutoAck(false); тоже попробую поиграться