Разработки ecoins

Библиотеки для разных контроллеров

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1381

Сообщение ecoins » 27.10.2021{, 17:31}

Dryundel писал(а):
27.10.2021{, 16:18}
И еще есть вопрос:
Тестовые пины, это пины прописанные в библиотеке, они выбраны наиболее удобные (с моей точки зрения) для каждого из типа контроллера.
Это делается для того, чтобы один и тот же тестовый проект (скетч) можно было бы грузить в разные контроллеры (Nano, Mega, DUE, ESP, STM32 и др.)
Так мы делаем со всеми блоками устройств.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1382

Сообщение ecoins » 27.10.2021{, 17:33}

Dryundel писал(а):
27.10.2021{, 16:18}
Ну про "через один пин" понятно, хотя и не совсем по русски. А вот три вариации не понятны.
Увидел три ошибки, две из них орфографические.
Со временем поправим.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1383

Сообщение Dryundel » 27.10.2021{, 19:42}

ecoins писал(а):
27.10.2021{, 17:27}
у Вас и проект видимо быстрый, и LCD на который Вы наверное выводите "шустрый", и сонар с препятствием не зафиксирован - вот и скачут показания....
Проект я скинул несколькими постами раньше. Это только пара блоков для теста с выводом в консоль. Посмотрите его пожалуйста еще раз и протестируйте на NANO. На пинах с прерыванием и без. В консоли выберите плоттер. А то говорим как глухой со слепым. :)

Отправлено спустя 3 минуты 29 секунд:
ecoins писал(а):
27.10.2021{, 17:31}
Тестовые пины, это пины прописанные в библиотеке, они выбраны наиболее удобные (с моей точки зрения) для каждого из типа контроллера.
Это делается для того, чтобы один и тот же тестовый проект (скетч) можно было бы грузить в разные контроллеры (Nano, Mega, DUE, ESP, STM32 и др.)
Я позже Вам скажу все, что об этом думаю. И скорее всего в личку. Здесь это Вы воспримете как скандал. :)

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

#1384

Сообщение starshoy81 » 27.10.2021{, 20:03}

ecoins, подскажите по счётчикам, например, пила. Что есть "низ" и "начало" по умолчанию, если их не задавать? Какой период счёта заложен внутри счётчика?

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1385

Сообщение ecoins » 27.10.2021{, 21:12}

starshoy81 писал(а):
27.10.2021{, 20:03}
ecoins, подскажите по счётчикам, например, пила. Что есть "низ" и "начало" по умолчанию, если их не задавать? Какой период счёта заложен внутри счётчика?
По умолчанию они=0.
Период счета определяется входом EN - обычно на его вход подаем события с "многофункционального генератора", или со штатного генератора через RTrig,

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1386

Сообщение Dryundel » 28.10.2021{, 10:30}

ecoins писал(а):
27.10.2021{, 21:12}
Возможно, задумались. Может быть будем предусматривать в сенсорах настраиваемый выход fresh.
Вот ещё что подумал. Этот выход должен быть ещё завязан на проверку правильности данных и только если они правильные импульс должен проходить при обновлении данных. Предполагаю что Вы об этом уже подумали.
ecoins писал(а):
27.10.2021{, 17:27}
Если водить рукой перед сонаром, то на дисплее очень быстро меняются показания (и они правильные), "глаза не поспевают"...
Понятно что правильные если водить рукой. А если посторонние звуки или фантомные препятствия снег к примеру или помеха прилетела.
Речь то про фильтр шла.
ecoins писал(а):
27.10.2021{, 21:12}
Возможно все правильно работает. Просто очень быстро.
Нет, мне кажется, не правильно. Что значит очень быстро? Частота опроса одинаковая с прерывание или без. Говорю как есть. Показываю результат. Ну а что Вы с этим будете делать, это уже Ваше решение.
Dryundel писал(а):
27.10.2021{, 19:45}
Только что установил препятствие перед сонаром - 10см, показания на дисплее стабильные -10см.
Я тоже так делал. Но это не совсем показатель. Нестабильность проявляется при разных расстояниях.
И я хотел сказать, что без прерываний стабильность как ни странно лучше. Вот и все.
ecoins, не надо так эмоционально реагировать. Нет у меня желания Как то Вас задеть.
Пытаюсь технические моменты обсудить, а Вы ерничать начинаете. Зачем?
Dryundel писал(а):
27.10.2021{, 19:45}
Есть проект медленный, то и показания не скачут "как жеребцы" - а у Вас и проект видимо быстрый, и LCD на который Вы наверное выводите "шустрый", и сонар с препятствием не зафиксирован - вот и скачут показания....
Отправлено спустя 14 минут 17 секунд:
Dryundel писал(а):
28.10.2021{, 10:30}
Тестовые пины, это пины прописанные в библиотеке, они выбраны наиболее удобные (с моей точки зрения) для каждого из типа контроллера.
Если честно не понял. Что значит выбранные в библиотеке? Я указываю конкретный пин и хочу что бы он и был задействован. Какой тогда вариант надо выбрать? Пробовал все, разницы не увидел.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1387

Сообщение ecoins » 28.10.2021{, 12:09}

Dryundel писал(а):
28.10.2021{, 10:44}
Вот ещё что подумал. Этот выход должен быть ещё завязан на проверку правильности данных и только если они правильные импульс должен проходить при обновлении данных. Предполагаю что Вы об этом уже подумали.
Подумал, согласен.
Dryundel писал(а):
28.10.2021{, 10:44}
Понятно что правильные если водить рукой. А если посторонние звуки или фантомные препятствия снег к примеру или помеха прилетела.
Речь то про фильтр шла.
Фильтр для SR04 отдельная и очень полезная задача.
Мы больше года "потыкались", даже пытались встроить его в библиотеку, ничего "путного" не получилось.
Dryundel писал(а):
28.10.2021{, 10:44}
Нет, мне кажется, не правильно. Что значит очень быстро? Частота опроса одинаковая с прерывание или без. Говорю как есть. Показываю результат. Ну а что Вы с этим будете делать, это уже Ваше решение.
Очень беспокоит, постараемся понять.
Dryundel писал(а):
28.10.2021{, 10:44}
Если честно не понял. Что значит выбранные в библиотеке? Я указываю конкретный пин и хочу что бы он и был задействован. Какой тогда вариант надо выбрать? Пробовал все, разницы не увидел.
Пин можно установить как внешние входы, как пользовательские параметры (задается внутри блока) и выбрать как тестовые - значения прописанные в библиотеке RT_HW_BASE.h. Например для Nano это 2,3 пины.
Это нужно исключительно для удобства переноса тестов между контроллерами разных типов.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1388

Сообщение Dryundel » 28.10.2021{, 12:29}

ecoins писал(а):
28.10.2021{, 12:09}
Пин можно установить как внешние входы, как пользовательские параметры (задается внутри блока)
....
Значит что то не доделано в блоке. Назначение пинов в данном случае делается на выходах блока и они не исчезают и соответствующих параметров не появляется. Вот и непонятки.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

#1389

Сообщение starshoy81 » 28.10.2021{, 12:31}

ecoins писал(а):
27.10.2021{, 21:12}
По умолчанию они=0.
Период счета определяется входом EN - обычно на его вход подаем события с "многофункционального генератора", или со штатного генератора через RTrig,
Тогда надо подкорректировать описание блока, потому что написанное так
счт.PNG
подразумевает подачу высокого уровня на вход EN и начало счёта после этого события. Про импульсы ни слова. Ну и обозначить значения по умолчанию.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1390

Сообщение Dryundel » 28.10.2021{, 12:41}

Dryundel писал(а):
26.10.2021{, 23:20}
Тогда надо подкорректировать описание блока, потому что написанное так
Я уже упоминал что описания блоков очень сильно хромают.
ecoins, с таким количеством блоков без профессионального корректировка описаний Вам будет очень сложно.
Стоит подумать о такой единице в штате.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1391

Сообщение ecoins » 28.10.2021{, 12:59}

starshoy81 писал(а):
28.10.2021{, 12:31}
подразумевает подачу высокого уровня на вход EN и начало счёта после этого события. Про импульсы ни слова. Ну и обозначить значения по умолчанию.
По параметрам по умолчанию добавим.
По EN - он работает как задуман и описан.
Использование внешнего генератора событий - это одна из возможностей.
Можно реализовать счетчик на отдельной плате, которая вызывается периодически, а на входе EN установить "1".

Отправлено спустя 10 минут 16 секунд:
Dryundel писал(а):
28.10.2021{, 12:41}
Я уже упоминал что описания блоков очень сильно хромают.
ecoins, с таким количеством блоков без профессионального корректировка описаний Вам будет очень сложно.
Стоит подумать о такой единице в штате.
Риторически верно изложено.
Однако есть и утилитарный метод без единицы в штате - просто начать использовать (если надо).
Многие вопросы сами отпадут. У нас есть хороший полигон для испытаний - Детская Юношеская Академия Инновационного развития" .
Там дети один попробуют, и дальше у них всё получается и вопросов потом не требуется задавать.
Рекомендую этот метод, для тех кому интересны (и возможно полезны) разработки ecoins.
-----------
За вопросы, замечания, предложения всем большое спасибо.
Сейчас готовим новую версию на основе накопленных наработок, все зафиксированные замечания попробуем учесть.
------------
Спасибо.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1392

Сообщение ecoins » 28.10.2021{, 13:17}

Dryundel писал(а):
28.10.2021{, 12:29}
Значит что то не доделано в блоке. Назначение пинов в данном случае делается на выходах блока и они не исчезают и соответствующих параметров не появляется. Вот и непонятки.
Поверил, Вы правы, в новой версии поправим.
В новой версии все блоки сенсоров будут вынесены в отдельную библиотеку блоков.
Уже набралось - DHT22,DS1820,MAX6675,HC-SR04(SR05),BME280,HTU21.
В планах BMP180(не уверен, что нужно), AHT15(20),пару сенсоров газа, измеритель магнитного поля.
Если есть пожелания по составу и оформлению блоков - пишите.
По настраиваемому выходу fresh(свежие данные) помним и реализуем.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

#1393

Сообщение starshoy81 » 28.10.2021{, 13:45}

ecoins писал(а):
28.10.2021{, 13:09}
По EN - он работает как задуман и описан.
Использование внешнего генератора событий - это одна из возможностей.
Можно реализовать счетчик на отдельной плате, которая вызывается периодически, а на входе EN установить "1".
Видите ли, в описании многофункционального генератора, вход EN фигурирует именно как разрешение работы. А, поскольку, в счётчике никакой другой работы входа не описано, по аналогии, предполагается именно разрешение работы. Опять же, про выделение фронтов, в описании ни слова. Примеров в тестовых проектах я не нашёл.
И при вызове плат происходит изменение констант?
ecoins писал(а):
28.10.2021{, 13:09}
Однако есть и утилитарный метод без единицы в штате - просто начать использовать (если надо).
Многие вопросы сами отпадут. У нас есть хороший полигон для испытаний - Детская Юношеская Академия Инновационного развития" .
Там дети один попробуют, и дальше у них всё получается и вопросов потом не требуется задавать.
Хочется, прочитав описание и посмотрев примеры, сделать рабочий вариант, а не искать потом "почему у меня не работает?" Блоки ваши не тривиальны, поэтому не разобравшись, сделать методом тыка, занимает довольно много времени.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1394

Сообщение ecoins » 28.10.2021{, 14:10}

starshoy81 писал(а):
28.10.2021{, 13:45}
Видите ли, в описании многофункционального генератора, вход EN фигурирует именно как разрешение работы. А, поскольку, в счётчике никакой другой работы входа не описано, по аналогии, предполагается именно разрешение работы.
Понятные затруднения. Мы тоже долго "спотыкались", пока не ввели понятие "событие" - значение, которое сохраняет своё значение на один цикл loop().
В наших блоках пока используются события двух типов - byte (в диспетчере задач для вывода номера) и bool.
Событие типа bool в неявной форме предусмотрено в FLProg - выделение фронта импульсов блоком RTrig, но подробно возможности этой опции для управления в описании FLProg не раскрыты. Да и разве можно всё предусмотренное описать? Практика отвечает на многие вопросы.
starshoy81 писал(а):
28.10.2021{, 13:45}
Примеров в тестовых проектах я не нашёл.
В действительности они есть, почти в каждом тестовом примере они есть.
Например в платах управления HC595 и mcp23017.
Докопаться до них возможно и не просто...
Но есть и более простой метод и Вы его применили - "Вопрошание" :)
Спрашивайте, и мы постараемся быстро ответить.
starshoy81 писал(а):
28.10.2021{, 13:45}
И при вызове плат происходит изменение констант?

Константы не меняются, а вот если параметры выведены как внешние (например "Верх"), то они используются при работе счетчиков.
starshoy81 писал(а):
28.10.2021{, 13:45}
Хочется, прочитав описание и посмотрев примеры, сделать рабочий вариант, а не искать потом "почему у меня не работает?" Блоки ваши не тривиальны, поэтому не разобравшись, сделать методом тыка, ...
Конечно хочется.
Вот я так и пытался понять работу стандартного счетчика, а когда как-то разобрался (через код скетча), пытался объяснить его другим пользователям.
И у меня были проблемы.
И потому мы сделали свой счетчик.
Он интуитивно понятен - поставьте на выход блок консоли и сделать несколько проектов буквально из трех блоков - генератор, счетчик и консоль - и много станет понятнее.
starshoy81 писал(а):
28.10.2021{, 13:45}
занимает довольно много времени.
А по другому при освоении нового и не привычного разве бывает? :)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1395

Сообщение Dryundel » 28.10.2021{, 14:39}

ecoins писал(а):
28.10.2021{, 14:10}
А по другому при освоении нового и не привычного разве бывает?
Бывает. Еще как бывает. И было бы здорово, еси бы Вы прислушались к мнениям отличным от Вашего. Все было бы гораздо проще.
Поверьте, я знаю о чем говорю. Просто напросто необходимо понимать как давать технический материал, с чего начинать и чем заканчивать. И архи важно осознавать специфику аудитории. А сравнивать детей в школе с читателями форумов вообще не приемлемо. И не потому, что последние глупее, а потому что у них гораздо больше жизненного опыта, который иногда помогает, а иногда мешает.

Учить - это искусство. Учиться искусству - тяжелый труд.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1396

Сообщение ecoins » 28.10.2021{, 15:01}

Dryundel писал(а):
28.10.2021{, 14:39}
Поверьте, я знаю о чем говорю. Просто напросто необходимо понимать как давать технический материал, с чего начинать и чем заканчивать.
Вы обо мне почти ничего не знаете :)
Dryundel писал(а):
28.10.2021{, 14:39}
И было бы здорово, еси бы Вы прислушались к мнениям отличным от Вашего. Все было бы гораздо проще.
Это не всегда продуктивно.
Живой и близкий пример - разработчик FLProg.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1397

Сообщение Dryundel » 28.10.2021{, 15:18}

ecoins писал(а):
28.10.2021{, 15:01}
Вы обо мне почти ничего не знаете
И здесь Вы обманываетесь. :) Ваш послужной лист впечатляет. Однако и в этом есть минусы. Как говорил граф Калиостро...
ЦитатаПоказать
ecoins писал(а):
28.10.2021{, 15:01}
Живой и близкий пример - разработчик FLProg.
А он весьма похож на Вас харизмой. Только вот написания руководств не гнушается. И Вам бы стоило.
Да, это время и силы, а куда без этого.

Возьмите любой штатный блок. Ну к примеру Основной блок меню.
Отличный пример для подражания.

tolochko
Сержант
Сообщения: 247
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 7
Откуда: Днепропетровск

Разработки ecoins

#1398

Сообщение tolochko » 28.10.2021{, 20:15}

Здравствуйте
По поводу добавления датчиков
Просьба добавить блок MH Z 19b с отключением автокалибровки
А то нынешние не очень корректно работают

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1399

Сообщение ecoins » 28.10.2021{, 20:39}

tolochko писал(а):
28.10.2021{, 20:15}
По поводу добавления датчиков
Просьба добавить блок MH Z 19b с отключением автокалибровки
А то нынешние не очень корректно работают
Хорошо. Блок мы приобрели, Ваши предложение учтем.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

#1400

Сообщение starshoy81 » 28.10.2021{, 23:37}

ecoins, словил ошибку при компиляции проекта - exit status 1 empty character constant
она возникает если в параметрах блока вывода на lcd удалить тильду из суффикса. В старых блоках про нее есть пометка, что если она есть то ничего не выводится. В новых блоках пометки нет, поэтому я её стёр и словил ошибку. Пришлось методом тыка выяснять в чём дело. Об этом я и говорил применительно к описанию блоков. Дурацкая мелочь, а отняла время.

Ещё, при компиляции выводит варнинг про некстион дисплей. В проекте его нет.
СпойлерПоказать
c:\FLP736\ideV7\portable\sketchbook\libraries\RT_00_HW_BASE_v6.78\src\RT_HW_NEXT.cpp: In member function 'void RT_HW_NEXT::getFromNxt(RT_HW_STRUCT_NEXT_DEVICE&)':
c:\FLP736\ideV7\portable\sketchbook\libraries\RT_00_HW_BASE_v6.78\src\RT_HW_NEXT.cpp:87:60: warning: statement has no effect [-Wunused-value]
for(uint8_t i=0; i<RT_HW_NEXT_BUFF_REG_SIZE; i++){z.buff;}
~~~~~~~~^

Также довольно много занято памяти обоих типов, завтра проверю поточнее. Предварительно, этот же проект без ваших блоков занимает в разы меньше.

Закрыто

Вернуться в «Команда ecoins»