• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение NRF52840

vad7

Active member
Кому вообще сдался опрос ADC окном с дырками?
Датчик, какой-нить, типа протечки сделать.
Пока, правда, китайцы еще не начали делать беконы с nrf52840, только с 52832 есть, а у него дальность хуже.
Screenshot_20200122-231125.png
Аналог, на сколько видно, не выведен, но похоже можно нарыть выводы, если взять без гироскопа.
 

pvvx

Активный участник сообщества
В общем с ADC у nRF52 беда. Каждая версия SDK имеет свои заголовки (названия процедур, параметров).
Такое использовать невозможно.
Arduino от Adafruit содержит часть SDK 0.15.1, но пристыковать что-либо нереально - надо убить неделю проф. программисту, вместо часа на других чипах! А смысл, если уже SDK 0.16.x и там всё опять по новому...
Такие приколы от Nordic. И у него всё так - не могут сформировать простые алго - наверно камни кривые...
Кароче ADC в nRF52 умерло не родившись. Лет через десяток можно будет поглядеть снова - вдруг сделают более менее...
 

pvvx

Активный участник сообщества
Поиск в инет дал те-же результаты. С nRF52 и ADC беда. Нет примеров, одни вопросы.
Если пример и есть, то он из exapmle из SDK и примитивен - ни о каких потоковых замерах разговора не идет. Только частный периодический опрос с дичайшим размером кода (несколько страниц только основных процедур по инициализации ADC)... и патчами с errata...
При этом для сборки примитива используется от нескольких сотен килобайт хидеров, которые различаются в каждой версии SDK.
 

pvvx

Активный участник сообщества
Я не собираюсь тратить своё время (оценка - недели до красноглазика) на разбор что там наплодили и плодят в исходниках SDK Nordic для ADC.
Дайте готовый пример потокового чтения ADC с энергосбережением в Arduino!
 

pvvx

Активный участник сообщества
Наверняка же есть тот, кто положил свою жизнь на разбор потока "кучек г." от Nordic в его SDK! :)
 

pvvx

Активный участник сообщества
Народ на девзоне писал, что примеры нордика сложные и просил простое чтение.
Дали ссылку - andenore/NordicSnippets
Нужен с PPI, он есть в \examples\peripheral\saadc, но не собрать в Adafruit Arduino - не состыковать хидры (не хватило стандартных 30 минут до хоть какой-то сборки и я забросил).
Это andenore/NordicSnippets - собирается
Скетч использует 35780 байт (4%) памяти устройства. Всего доступно 815104 байт.
Глобальные переменные используют 6628 байт (2%) динамической памяти, оставляя 230940 байт для локальных переменных. Максимум: 237568 байт.

, но там одиночный замер.

PS: За время менее пробы сборки \examples\peripheral\saadc собрал на TLSR8266 c DFIFO рабочий тест... Нафиг такой nRF ?
 

vad7

Active member
но не собрать в Adafruit Arduino
Ага, глянул, адафрукты похоже схалтурили, в cores\nRF5\nordic\nrfx\drivers\src\ нет 30 файлов.
А в том примере ссылки на функции из nrfx_saadc.c.
Еще примеры для старого SDK, в новом SDK есть соответствия в integration\nrfx\legacy\, а в адафрукте нету.

Нафиг такой nRF ?
А что делать? В космос с ним не лететь, а для простейших поделок на батарейке CR2032 похоже самое то.
Опять же совместимость с nRF24L01, то есть не надо будет переделывать рабочие устройства.
 

pvvx

Активный участник сообщества
Ага, глянул, адафрукты похоже схалтурили, в cores\nRF5\nordic\nrfx\drivers\src\ нет 30 файлов.
А в том примере ссылки на функции из nrfx_saadc.c.
Еще примеры для старого SDK, в новом SDK есть соответствия в integration\nrfx\legacy\, а в адафрукте нету.
А у других лицензия от Nordic.
Взять более дешевый чип.
В космос с ним не лететь, а для простейших поделок на батарейке CR2032 похоже самое то.
Пока не очень-то. Жрет много.
Опять же совместимость с nRF24L01, то есть не надо будет переделывать рабочие устройства.
nRF24L01 - TX 0 дБ, даже до BT 4.2 не дотягивает. Как он совместится с nRF52?

Ai-Thinker вон наплодил TB-01 и TB-02 (ранее плодил ESP8266 модули)...
 

vad7

Active member
Как он совместится с nRF52?
через Enhanced ShockBurst, без блютуса естественно.
Ai-Thinker вон наплодил TB-01 и TB-02
И чего с ними делать? Mesh?
Примеры через AT команды нашел, но это не для слабой батарейки.
Да и дружественность исходников зашкаливает:
upload_2020-1-25_15-41-23.png
 

vad7

Active member
Пока не очень-то. Жрет много.
Мельком глянул, вроде подходит.
Думал использовать отсыл оповещения раз в день и по срабатыванию компаратора в режиме датчика протечки и раз в 1 - 10 минут в режиме датчика температуры/влажности.
 

azt59

Member
Нужен с PPI, он есть в \examples\peripheral\saadc, но не собрать в Adafruit Arduino - не состыковать хидры (не хватило стандартных 30 минут до хоть какой-то сборки и я забросил).
Это andenore/NordicSnippets - собирается
Скетч использует 35780 байт (4%) памяти устройства. Всего доступно 815104 байт.
Глобальные переменные используют 6628 байт (2%) динамической памяти, оставляя 230940 байт для локальных переменных. Максимум: 237568 байт.

, но там одиночный замер.

PS: За время менее пробы сборки \examples\peripheral\saadc собрал на TLSR8266 c DFIFO рабочий тест... Нафиг такой nRF ?
keil собирает этот пример на сдк 15, прошил, пишет в uart по 5 замеров. Дело в принципиальном следовании лицензии? для оценки качества adc можно и ломаным кейлом собрать, а уж если чтото в продакшн то там уж и соблюдать требования
 

pvvx

Активный участник сообщества
keil собирает этот пример на сдк 15, прошил, пишет в uart по 5 замеров. Дело в принципиальном следовании лицензии? для оценки качества adc можно и ломаным кейлом собрать, а уж если чтото в продакшн то там уж и соблюдать требования
Проблемс лицензии Nordic в том, что исходники не выложить в паблик с патченными исходниками либ.
Обход этого только у Adafruit Arduino. Внутренние лицензии замещены заглавной - adafruit/Adafruit_nRF52_Arduino
Как им это удалось - не знаю. :)
 

pvvx

Активный участник сообщества
Мельком глянул, вроде подходит.
Думал использовать отсыл оповещения раз в день и по срабатыванию компаратора в режиме датчика протечки и раз в 1 - 10 минут в режиме датчика температуры/влажности.
Одиночный "отсыл" не принимает никто. Тут нужен какой либо шлюз Mesh/Zigbee следящий только за данным BLE вечно, либо никто из стандартных не примет - всё потеряется.
Для примера возьмите ПО обнаружения маяков BLE. Потери пачками даже при 1 метре от них (коллизии и прочее на момент передачи маяка и приемник вечно не может слушать)... Для маяков это нормально, т.к. они вечно повторяют одно и то-же...
Само соединение BLE - это цельный процесс и там мкА не отделаться. Можно вечно держать соединение (с шагом до 3-х секунд из-за расхождений кварцев), но тогда о deep-sleep можно забыть.
 

pvvx

Активный участник сообщества
через Enhanced ShockBurst, без блютуса естественно.


И чего с ними делать? Mesh?
Примеры через AT команды нашел, но это не для слабой батарейки.
Да и дружественность исходников зашкаливает:
Посмотреть вложение 8707
Китайский - ныне второй технический язык - привыкайте :p
SDK от Telink нормальное к ним. Никакой проприетаршины для сборки = GCC и Eclipse.
 
Сверху Снизу