Да здравствует наш форум, самый свободный форум в мире! _____ у меня нету 128
Когда вернетесь на родину подарю пару 128 и платки в нагрузку (только вам, и не кому другому) _____ а у масика есть всё что нужно
Повезло масику, значит быстро стартанете _____ roman.com Вы нрф знаете из нутрии, роз кажите как с ней нужно правильно работать(ваши слова можно считать эталонными в данном вопросе) Пока просто теория, но я в этих байтах и пакетах а также битах не силино рублю(просто учюсь и пробую понять) _____ Пока масик все что у него есть приводит к порядку и соответствию схеме проекта.. _____ Вопрос первый это правильно
Вывод CSN с активным низким уровнем, обычно находится в высоком уровне. Когда сигнал на этом выводе переключается на низкий уровень, микросхема 24L01 начинает слушать порт SPI.
Порт CE используется для управления отправкой и получением данных в режимах передачи и приёма.
Добавлено after 15 minutes 4 seconds: Вопрос второй тип пакета и режим (если не сложно и не жалко справте если не так в фото и если можно то как у нас біло сначяла в версии V2 и как сделали в V3.2 ну и с добавлением стандарта изернет..
Добавлено after 14 minutes 41 second: Вопрос три
Чтобы отправить данные на микросхему nRF24L01 или получить данные от неё по интерфейсу SPI нужно соблюсти определенные условия передачи:
Вначале сигнал на выводе CSN микросхемы nRF24L01 должен быть высоким, затем переведите его в низкий уровень, чтобы получить данные по SPI. Примечание: этот сигнал останется в низком уровне в течение всего сеанса передачи данных.
Вы отправляете байт с нужной командой. При получении байтов данных по этой команде, отправив команду, вы затем посылаете по одному байту nRF24L01, получая от неё в ответ по одному байту данных. При отправке nRF24L01 данных вам необходимо просто посылать их и не обращать внимания на то, что приходит в ответ.
После того, как вы отправили/прочитали все необходимые байты, переведите сигнал CSN обратно на низкий уровень.
После отправки байта любой команды nRF24L01 всегда возвращает значение регистра состояния STATUS.
там несколько режимов. У нас самый простой. CSN - это выбор устройства (как SS для SPI). CSN и SS - это одно и то же. Просто по разному назвали. В программе так и написано - SS (CSN) nRF24L01+
Для начала тебе надо понять как работает SPI. 1. Есть один мастер и три слейва. 2. Все слейвы подключены к мастеру по одной общей шине (общая шина это три провода - MOSI MISO SCK). 3. У всех слейвов свой отдельный SS. В исходном состоянии у всех слейвов на SS должен быть высокий уровень. 4. Когда мастер хочет общаться с один из слейвов, мастер просто подаёт на SS низкий уровень того слейва, с кем он хочет общаться. 5. Когда мастер не хочет ни с кем общаться, мастер просто подаёт на все SS всех слейвов высокий уровень.
НРФ не управляет выводом SS. Выводом SS должен управлять мастер. НРФ только слушает вывод SS. 1 - Когда НРФ видит что SS на низком уровне, НРФ слушает общую шину (общая шина это три провода - MOSI MISO SCK). 2 - Когда НРФ видит что SS на высоком уровне, НРФ не слушает общую шину (общая шина это три провода - MOSI MISO SCK). Вот и всё))
По сути... -общая шина (три провода - MOSI MISO SCK) - это шина данных. -шина SS - это шина адреса. Точно так же как в компе))
Порт CE - там сложнее... Порт CE используется для переключения НРФ: режим "передачик" <> режим "приёмник". Точно так же как на обычной рации есть кнопочка сбоку)) Только у НРФ две кнопочки... как у старых раций... довоенных))
1. Сначала переключил рацию в режим передатчика (программно). 2. Потом нажал кнопочку CE - включился "передачик" 3. Потом отпустил кнопочку CE - выключился "передачик" 4. Потом переключил рацию в режим приёмник (программно). 5. Потом нажал кнопочку CE - включился "приёмник" 6. Потом отпустил кнопочку CE - выключился "приёмник" ... Короче пипец)) Такие рации были только до войны))
Формат пакета задаётся программно. У нас самый простой.
Формат пакета задаётся программно. У нас самый простой.
Если простой то значит shockBurst
Добавлено after 4 minutes 57 seconds: Вначале сигнал на выводе SS микросхемы nRF24L01 должен быть высоким, затем переводим его в низкий уровень, чтобы получить данные по SPI. Примечание: этот сигнал останется в низком уровне в течение всего сеанса передачи данных.
Весь сеанс передачи данных?(это все байты пакета?)
простой значит простой - как UDP )) без установления связи и АСК...
1. первый байт - это преамбула. Преамбула "зашита" на заводе, преамбулой управлять нельзя. Так же как в заводских модулях изернет - преамбулой управлять нельзя. А в самодельном изернет управлять можно))
2. потом 2...5 байт - это адрес. Как MAC адрес в изернет. Адресом управлять можно. По умолчания 5 байт - 7E 7E 7E 7E 7E. Можно его не трогать (оставить заводские настройки).
3. потом данные. Ну тут всё понятно)) -в режиме передатчика указывать длину данных не нужно. НРФ это сделает сама)). -в режиме приёмника указывать длину нужно. По умолчанию кажись 32 байт. Не помню))
4. потом CRC. Ну тут всё понятно)) CRC8 или CRC16. Других нет.
Добавлено after 1 minute 42 seconds:
sashamelja писал(а):
Вначале сигнал на выводе SS микросхемы nRF24L01 должен быть высоким, затем переводим его в низкий уровень, чтобы получить данные по SPI.
да
sashamelja писал(а):
Примечание: этот сигнал останется в низком уровне в течение всего сеанса передачи данных.
Сколько из них вы использовали в версии 3.2? _____ Забыли про всю мишуру, там я все понял..
Добавлено after 36 minutes 18 seconds: radio.powerUp(); // включить передатчик //вставка отправки с обратной связью и RSSI if (radio.write(&transmit_data, sizeof(transmit_data))) { // отправка пакета transmit_data trnsmtd_pack++; if (!radio.available()) { // если получаем пустой ответ } else { while (radio.available() ) { // если в ответе что-то есть radio.read(&telemetry, sizeof(telemetry)); // читаем // получили забитый данными массив telemetry ответа от приёмника } } } else { failed_pack++; } if (millis() - RSSI_timer > 1000) { // таймер RSSI // расчёт качества связи (0 - 100%) на основе числа ошибок и числа успешных передач rssi = (1 - ((float)failed_pack / trnsmtd_pack)) * 100; // сбросить значения failed_pack = 0; trnsmtd_pack = 0; RSSI_timer = millis(); } //конец вставки передачи с обратной связью и RSSI radio.powerDown(); // выключить передатчик
Добавлено after 4 minutes 22 seconds: и приемник byte pipeNo; while (radio.available(&pipeNo)) { // слушаем эфир radio.read( &recieved_data, sizeof(recieved_data)); // чиатем входящий сигнал radio.writeAckPayload(pipeNo, &telemetry, sizeof(telemetry)); // отправляем пакет телеметрии _____ Меня интересует полезная нагрузка (туда и обратно) На сколько вы ее заняли щас? туда и обратно Можно в цифрах? из (от 1 до 32 байт)
_________________ И опыт сын ошибок трудных и гений парадоксов друг
К каждой прошивке прилагается исходник. В заголовке каждого исходника указаны настройки для НРФ. ///////////////////////////////////////////////////////////////////////////////////////////// // ATmega128: // RC -8 МHz; фьюзы: Low E4; Higt 99 (CKOPT -off); Extended FE (Watchdog -on; M103C -off). // кварц -8 МHz; фьюзы: Low EF; Higt 89 (CKOPT -on); Extended FE (Watchdog -on; M103C -off). ///////////////////////////////////////////////////////////////////////////////////////////// // nRF24L01: преамбула -1, адрес -5, Data -32, CRC16 -2 // скорость: 250kbps; 0,001.280с. // 32 пак/c. цикл 0,031.25c. /////////////////////////////////////////////////////////////////////////////////////////////
Сейчас Data -32 (полезная нагрузка = 32 байт) .
Добавлено after 18 minutes 44 seconds: https://wiki.iarduino.ru/page/NRF24L01-trema/ Охренеть !)) Других слов нет )) Какие нафиг библиотеки для нрф ? Куму это все надо ? )) Это всё делается в три действия на обычном Си (или Ассемблере - по желанию).
Взрослым не интересно играть в детский конструктор. А пенсионерам тем более не интересно... Пенсионеры сидят в Одноклассниках))
хатабыч писал(а):
наблюдаю за проектом. А учиться-внуки пускай учатся.
sashamelja писал(а):
ваши исходники кроме меня никто не пробовал компельнуть..
Первое. Детям разобраться сложно. Надо смотреть осциллограф. Дети не работают с осциллографом)) Второе. Опытным программистам не интересно. Слишком просто. Выше заходил программист. Сказал "всё понятно" и ушёл)) Третье...
sashamelja писал(а):
И как не страно даже дроны летают
На ардуино ? )) Два моторчика - три пропеллера )) Ну можно и так. ))
sashamelja писал(а):
вод блин значит стабильно работает
Это ничего не значит.
Вот ещё примеры... https://3d-diy.ru/wiki/arduino-moduli/r ... -nrf24l01/ Там всё на библиотеке #include <nRF24L01.h> Вот только никто не знает как она работает)) А когда разберутся - офигеют)) По умолчанию nRF24L01 настроен на работу с трубами... Но самое главное - с автоматическим ACK. "А именно, на одной частоте или канале могут работать до 6 передатчиков и 1 приёмник. При этом каждому передатчику присваивается свой уникальный идентификатор («Pipe ID» или «Идентификатор трубы»)..." Использовать ACK в радиоуправлении мягко говоря - не является правильным)) В радиоуправлении передают команды управления, а не данные )) ACK нужен для передачи данных. И трубы никто не использует. )) Они там не нужны. От слова совсем. )) И т.д. И т.п.
sashamelja писал(а):
Сейчас Data -32 (полезная нагрузка = 32 байт) .Сколько из этого щас уже занято?
А пенсионерам тем более не интересно... Пенсионеры сидят в Одноклассниках))
Все теперь все понятно Во всех смыслах.. _____ Библиотека это инструкции вынесенные в другой файл для удобства
Библиотеки это опыт других энтузиастов, которыми они безвозмездно делятся
Библиотеку можно редактировать без проблем
Библиотеки есть почти для всего что только можно подключать к микроконтролеру
Продолжать можно долго _____ Среда ариаднино, в ровных руках очень хорошая штука,много чего базового умеет сразу _____
А вы уже научили свой чистый лист делать арефметические а также геометрические исчесления? _____ Выше заходил программист. Сказал "всё понятно" и ушёл))
Вот и я понял _____ Та же структура пакета.
Что то не похоже,ну да ладно _____ Совместимость. Со всеми. )) С чем и где?
Что решает(для чего в пакете место занято)
А потом эхолот не влазит,
Да и много цифре с плавающими запятыми надо туда сюда гонять.. ___________________ Роман.ком, роман.ком
Я теперь все после вас проверяю,без обид
Я говорил что изернет убет тему, и розпугает всех напрочь, и не найдетса никого кто влезет в проект, а точнее в его дальнейшее развитие..
Но да ладно поживем, увидим... Я не куда не спешу
_________________ И опыт сын ошибок трудных и гений парадоксов друг
1. Берём готовую библиотеку и переписываем библиотеку (делаем свою библиотеку, под свои задачи). 2. Пишем код, используя переписанную библиотеку. Или... 1. Пишем свой код. Что проще ? ))
sashamelja писал(а):
Библиотеки есть почти для всего что только можно подключать к микроконтролеру
Как будут эти библиотеки взаимодействовать между собой ? Синхронизация ? Приоритет ? В операционных системе есть понятие - "передать управление программе" (читай - библиотеке). Кто этим будет заниматься в Ардуино ? )) Продолжать можно долго...
sashamelja писал(а):
А вы уже научили свой чистый лист делать арефметические а также геометрические исчесления?
Для этого у нас есть гаджеты)) Они умеют всё)) и цифры с плавающими запятыми тоже )) Хотя в кораблике они не используются.
sashamelja писал(а):
Та же структура пакета.
nRF24L01 - преамбула, MAC, поле управления пакетами (тип пакета), данные, CRC. Ethernet - преамбула, MAC, MAC, поле управления пакетами (тип пакета), данные, CRC. Найди 10 отличий ))
sashamelja писал(а):
Что решает(для чего в пакете место занято)
Не понял... ? Может кто решает ?)) Программист решает))
sashamelja писал(а):
А потом эхолот не влазит
Спокойно влазит))
Добавлено after 48 minutes 40 seconds: P.S. Конкретно по nRF24L01: По умолчанию нрф работает так: 1. включён режим "труба" 2. включён режим с автоматическим подтверждением получения пакета (ACK) 3. включён режим с автоматическим повтор передачи пакета (RTX).
1. В радиоуправлении режим "труба" не нужен. Даже вреден. Режим "труба" не позволяет отправлять широковещательные пакеты. Значит, использовать НРФ в режиме ретранслятора/коммутатора будет затруднительно или невозможно.
2. В радиоуправлении режим с автоматическим подтверждением получения пакета (ACK) не нужен. Даже вреден. 2.1. Режим с автоматическим подтверждением получения пакета (ACK) увеличивает время передачи пакетов до 6 раз и более... 2.2. Режим с автоматическим подтверждением получения пакета (ACK) делает работу НРФ непредсказуемой...
3. В радиоуправлении режим с автоматическим повтором передачи пакета (RTX) не нужен. Даже вреден. 3.1. Режим с автоматическим повтором передачи пакета (RTX) увеличивает время передачи пакетов в 6 раз и более... 3.2. Режим с автоматическим повтором передачи пакета (RTX) делает работу НРФ непредсказуемой...
4. Из-за (ACK) и (RTX) увеличивает время передачи пакетов до 6 раз и более... Падает трафик.
5. Из-за (ACK) и (RTX) МК не знает сколько времени занимает передача каждого пакета. Поэтому МК не знает сколько времени ему ждать перед отправкой следующего пакета...
6. Из-за (ACK) и (RTX) МК не знает сколько времени занимает передача каждого пакета. Поэтому МК не знает сколько времени ему ждать ОТВЕТА перед отправкой следующего пакета...
7. В радиоуправлении (ACK) и (RTX) никакой пльзы не несут. В радиоуправлении гарантированная доставка пакетов не нужна. Потому что к тому времени когда пакет будет доставлен, он уже потеряет актуальность.
8. В радиоуправлении на первом месте стоит скорость передачи пакетов. От скорости передачи пакетов зависит время реакции подели.
Вывод: Производители запихнули в НРФ кучу никому не нужных функций, которые никак не улучшают работу радиоуправления, а наоборот, ухудшают работу радиоуправления.
Добавлено after 2 minutes 23 seconds: Что бы это исправить, надо отключить все не нужные функции производителя. Для этого: 1. Берём готовую библиотеку и переписываем библиотеку (делаем свою библиотеку). 2. Пишем код, используя переписанную библиотеку. Или... 1. Пишем свой код. Что проще ? ))
1. Берём готовую библиотеку и переписываем библиотеку (делаем свою библиотеку, под свои задачи). 2. Пишем код, используя переписанную библиотеку. Или... 1. Пишем свой код. Что проще ? ))
берешь и пользующийся, а если не работает или что то не так исправляешь(что может быть проще)
Дают-бери, бют-дай сдачи(все просто) _____ Как будут эти библиотеки взаимодействовать между собой ? Синхронизация ? Приоритет ? В операционных системе есть понятие - "передать управление программе" (читай - библиотеке). Кто этим будет заниматься в Ардуино ? )) Продолжать можно долго...
Потому и говорю что если руки ровные а мозги светлые то фри-ртос со своей много многозадачностью(и с платформио почти отладкой можно прыгать по функциях и видит что за чем выполняемый, с возможностью задать приоритет, перенести на второе ядро, итд (с подсветкой ошибок их значимости не только в основном коде а и в библиотеках)(кучя подсказок, описание ошибок.. _____ Для этого у нас есть гаджеты)) Они умеют всё)) и цифры с плавающими запятыми тоже )) Хотя в кораблике они не используются.
А у нас есть ещо 90 процентов мозга, но мы им пока не можем пользоваться, но ниче когда то сможем _____ Что дает конкретного изернизация нрфа, я таки не понял? И я так понимаю что гаджета будет два один на модели а второй на пульте? _____ Я уже на вашу лапшу не ведуси. давайте конкретику. если отпираетесь от импотенцыи си а также атмега.. Про гаджеты, иначе это пустые слова.. _____ Есть одна старословянская поговорка
старый конь борозды не портит но и глубоко не вспашет
Это я про ваш си, ну конечно про атмеги (мой дед ее любил) _____ Но только не надо про регистры. и ассемблер, а то это будет уже не 1979 _____ Мы уже работающий компас подключили с чисто листка
Добавлено after 14 minutes 39 seconds: И кстати шутки-шутками, а куда комуникатор тот что Масик пропал? С Антоном то все понятно..
_________________ И опыт сын ошибок трудных и гений парадоксов друг
Я так и наблюдаю как Вы собачитесь, потому что спором это назвать нельзя, В " споре" рождается ИСТИНА а у вас сплошные ПРОТИВОРЕЧИЯ . старословянская поговорка( Свинья своё болото Хвалит)
И по поводу GPS: тобой было сказано что модуль GPS- Гам... , компас -Гам... , а посмотри на ютуб С.Панкратова. У него тот-же модуль и тот-же компас, люди повторяли и довольны, они тоже с Украины.
А есть ещё одна старословянская поговорка; " Ху....му танцору яйца мешают. Ну а я пошёл дальше само-образовываться.
Antoha 2000 Вы тоже в засаде, уже был один такой _____ У него тот-же модуль и тот-же компас, люди повторяли и довольны, они тоже с Украины.
Давай ссыслки посмотрим где там нормальные результаты, и где там такой же компас? _____ В " споре" рождается ИСТИНА а у вас сплошные ПРОТИВОРЕЧИЯ . старословянская поговорка( Свинья своё болото Хвалит)
Вот именно _____ Ну а я пошёл дальше само-образовываться.
Над чем работаете, какие гран грызете, я так понимаю скоро будет конкретика по вашим фантазиям? _____ Antoha 2000 Вы что тоже по сылкам тут не ходите как масик, Я же писал ранние про этот проэкт. https://www.youtube.com/watch?v=s2I6MQgyKkU Что все удалено и переведено в комерчиское русло, и что его ране модели не очень, и что надо завоцкую апу, и кучя денег..
_________________ И опыт сын ошибок трудных и гений парадоксов друг
Коммерческие проекты не рассматриваем. От слова совсем)). Где мы собачимся ?)) Ничего мы не собачимся)) Просто обсудили работу НРФ и всё)) А на каком языке писать... там мне без разницы)) Принцип работы у всех одинаковый. Главное чтоб работало как мне надо. Масик... Как я писал выше... То явится то растворится))
sashamelja с тобой без полезно о чём либо говорить, если я и привёл пример Панкратова то это не говорит о том что я собрался его делать. Хотя не так дорого и обойдётся; аппу б.у можно купить в пределах 800 гр. + STM 100 гр. Прошивки пульта и контроллера есть. Если будет желание сделаю, а пока мне хватит проекта SOIR, к тому-же он уже собран и прошёл испытания ( в бассейне, благо сторож знакомый) и меня на данный момент всё устраивает.
То что они коммерческие --это его личное право, ну а если ты боишься выглядеть ЛОХОМ значит ни чего не делай или спрячься в погреб, а то не дай БОГ кто-то узнает. Вот поэтому мы и живём так (ХОРОШО). Есть хороший анекдот: писать весь не буду, последнее выражение " Кум у тебя нету, у меня нету--давай сделаем чтобы и у соседа не было"
Всем пламенный приветик, что опять потеряли. Было немного не до компа и паяльника. Приношу свои извинения честному народу. Все персонажи на месте: Лучезарный на месте, как всегда сидит высоко и глядит далеко. Весь мир бардак все бабы б…., ни чего нового. Antoha 2000 Подтянулся уже радует, будет веселее. roman.com По последнему архиву есть пару вопросов. Дисплей «128x64 SSD1309» это какой, можно носом ткнуть. Что то у меня не срастается по выводам. Готовлю заказ хочу заказать мегу128 (нет в наличии) и дисплей OLD. На сколько понял пока одно управление с графикой. Будем собирать потихоньку. https://bigl.ua/p60828117-lcd-oled-096? ... GrJWIHYQYk
То что вы собрали тот проэкт от соера, правильно конечно, не плохая управлялка для карпового..(и на этом усе)
Все те автопилоты типа (шкипера Панкратова)хотят не простую апу а имено с буквой і, fs i6 а она не стоит 800грн и бу нормальную не купишь.. _____ Качество роботы и принципы у всех одинаковые так как разный только программный алгоритм.
Точность роботы gps равна точности самого gps а также количества над ним
Качество магнитометра определяется самим магнитометром, а также калибровкой(и имено в калибровке проблема)
Но да ладно может мне просто не пошло и не понравилось(я пересмотрю потом свои выводы) _____ Я ни чего не прячу, так как у меня ни чего нету _____ Xерней ты можешь пострадать, но лохом ты быть не должен! _____ Antoha 2000 http://forum.rcdesign.ru/blogs/1628/blog23742.html У вас есть от сюда файлы?
_________________ И опыт сын ошибок трудных и гений парадоксов друг
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения