Страница 70 из 80
Разработки ecoins
Добавлено: 27 окт 2021, 17:31
ecoins
Dryundel писал(а): 27 окт 2021, 16:18
И еще есть вопрос:
Тестовые пины, это пины прописанные в библиотеке, они выбраны наиболее удобные (с моей точки зрения) для каждого из типа контроллера.
Это делается для того, чтобы один и тот же тестовый проект (скетч) можно было бы грузить в разные контроллеры (Nano, Mega, DUE, ESP, STM32 и др.)
Так мы делаем со всеми блоками устройств.
Разработки ecoins
Добавлено: 27 окт 2021, 17:33
ecoins
Dryundel писал(а): 27 окт 2021, 16:18
Ну про "через один пин" понятно, хотя и не совсем по русски. А вот три вариации не понятны.
Увидел три ошибки, две из них орфографические.
Со временем поправим.
Разработки ecoins
Добавлено: 27 окт 2021, 19:45
Dryundel
ecoins писал(а): 27 окт 2021, 17:27
у Вас и проект видимо быстрый, и LCD на который Вы наверное выводите "шустрый", и сонар с препятствием не зафиксирован - вот и скачут показания....
Проект я скинул несколькими постами раньше. Это только пара блоков для теста с выводом в консоль. Посмотрите его пожалуйста еще раз и протестируйте на NANO. На пинах с прерыванием и без. В консоли выберите плоттер. А то говорим как глухой со слепым.
Отправлено спустя 3 минуты 29 секунд:
ecoins писал(а): 27 окт 2021, 17:31
Тестовые пины, это пины прописанные в библиотеке, они выбраны наиболее удобные (с моей точки зрения) для каждого из типа контроллера.
Это делается для того, чтобы один и тот же тестовый проект (скетч) можно было бы грузить в разные контроллеры (Nano, Mega, DUE, ESP, STM32 и др.)
Я позже Вам скажу все, что об этом думаю. И скорее всего в личку. Здесь это Вы воспримете как скандал.

Разработки ecoins
Добавлено: 27 окт 2021, 20:03
starshoy81
[ref]ecoins[/ref], подскажите по счётчикам, например, пила. Что есть "низ" и "начало" по умолчанию, если их не задавать? Какой период счёта заложен внутри счётчика?
Разработки ecoins
Добавлено: 27 окт 2021, 21:12
ecoins
starshoy81 писал(а): 27 окт 2021, 20:03
ecoins, подскажите по счётчикам, например, пила. Что есть "низ" и "начало" по умолчанию, если их не задавать? Какой период счёта заложен внутри счётчика?
По умолчанию они=0.
Период счета определяется входом EN - обычно на его вход подаем события с "многофункционального генератора", или со штатного генератора через RTrig,
Разработки ecoins
Добавлено: 28 окт 2021, 10:44
Dryundel
ecoins писал(а): 27 окт 2021, 21:12
Возможно, задумались. Может быть будем предусматривать в сенсорах настраиваемый выход fresh.
Вот ещё что подумал. Этот выход должен быть ещё завязан на проверку правильности данных и только если они правильные импульс должен проходить при обновлении данных. Предполагаю что Вы об этом уже подумали.
ecoins писал(а): 27 окт 2021, 17:27
Если водить рукой перед сонаром, то на дисплее очень быстро меняются показания (и они правильные), "глаза не поспевают"...
Понятно что правильные если водить рукой. А если посторонние звуки или фантомные препятствия снег к примеру или помеха прилетела.
Речь то про фильтр шла.
ecoins писал(а): 27 окт 2021, 21:12
Возможно все правильно работает. Просто очень быстро.
Нет, мне кажется, не правильно. Что значит очень быстро? Частота опроса одинаковая с прерывание или без. Говорю как есть. Показываю результат. Ну а что Вы с этим будете делать, это уже Ваше решение.
Dryundel писал(а): 27 окт 2021, 19:45
Только что установил препятствие перед сонаром - 10см, показания на дисплее стабильные -10см.
Я тоже так делал. Но это не совсем показатель. Нестабильность проявляется при разных расстояниях.
И я хотел сказать, что без прерываний стабильность как ни странно лучше. Вот и все.
[ref]ecoins[/ref], не надо так эмоционально реагировать. Нет у меня желания Как то Вас задеть.
Пытаюсь технические моменты обсудить, а Вы ерничать начинаете. Зачем?
Dryundel писал(а): 27 окт 2021, 19:45
Есть проект медленный, то и показания не скачут "как жеребцы" - а у Вас и проект видимо быстрый, и LCD на который Вы наверное выводите "шустрый", и сонар с препятствием не зафиксирован - вот и скачут показания....
Отправлено спустя 14 минут 17 секунд:
Dryundel писал(а): 28 окт 2021, 10:30
Тестовые пины, это пины прописанные в библиотеке, они выбраны наиболее удобные (с моей точки зрения) для каждого из типа контроллера.
Если честно не понял. Что значит выбранные в библиотеке? Я указываю конкретный пин и хочу что бы он и был задействован. Какой тогда вариант надо выбрать? Пробовал все, разницы не увидел.
Разработки ecoins
Добавлено: 28 окт 2021, 12:09
ecoins
Dryundel писал(а): 28 окт 2021, 10:44
Вот ещё что подумал. Этот выход должен быть ещё завязан на проверку правильности данных и только если они правильные импульс должен проходить при обновлении данных. Предполагаю что Вы об этом уже подумали.
Подумал, согласен.
Dryundel писал(а): 28 окт 2021, 10:44
Понятно что правильные если водить рукой. А если посторонние звуки или фантомные препятствия снег к примеру или помеха прилетела.
Речь то про фильтр шла.
Фильтр для SR04 отдельная и очень полезная задача.
Мы больше года "потыкались", даже пытались встроить его в библиотеку, ничего "путного" не получилось.
Dryundel писал(а): 28 окт 2021, 10:44
Нет, мне кажется, не правильно. Что значит очень быстро? Частота опроса одинаковая с прерывание или без. Говорю как есть. Показываю результат. Ну а что Вы с этим будете делать, это уже Ваше решение.
Очень беспокоит, постараемся понять.
Dryundel писал(а): 28 окт 2021, 10:44
Если честно не понял. Что значит выбранные в библиотеке? Я указываю конкретный пин и хочу что бы он и был задействован. Какой тогда вариант надо выбрать? Пробовал все, разницы не увидел.
Пин можно установить как внешние входы, как пользовательские параметры (задается внутри блока) и выбрать как тестовые - значения прописанные в библиотеке RT_HW_BASE.h. Например для Nano это 2,3 пины.
Это нужно исключительно для удобства переноса тестов между контроллерами разных типов.
Разработки ecoins
Добавлено: 28 окт 2021, 12:29
Dryundel
ecoins писал(а): 28 окт 2021, 12:09
Пин можно установить как внешние входы, как пользовательские параметры (задается внутри блока)
....
Значит что то не доделано в блоке. Назначение пинов в данном случае делается на выходах блока и они не исчезают и соответствующих параметров не появляется. Вот и непонятки.
Разработки ecoins
Добавлено: 28 окт 2021, 12:31
starshoy81
ecoins писал(а): 27 окт 2021, 21:12
По умолчанию они=0.
Период счета определяется входом EN - обычно на его вход подаем события с "многофункционального генератора", или со штатного генератора через RTrig,
Тогда надо подкорректировать описание блока, потому что написанное так
счт.PNG
подразумевает подачу высокого уровня на вход EN и начало счёта после этого события. Про импульсы ни слова. Ну и обозначить значения по умолчанию.
Разработки ecoins
Добавлено: 28 окт 2021, 12:41
Dryundel
Dryundel писал(а): 26 окт 2021, 23:20
Тогда надо подкорректировать описание блока, потому что написанное так
Я уже упоминал что описания блоков очень сильно хромают.
[ref]ecoins[/ref], с таким количеством блоков без профессионального корректировка описаний Вам будет очень сложно.
Стоит подумать о такой единице в штате.
Разработки ecoins
Добавлено: 28 окт 2021, 13:09
ecoins
starshoy81 писал(а): 28 окт 2021, 12:31
подразумевает подачу высокого уровня на вход EN и начало счёта после этого события. Про импульсы ни слова. Ну и обозначить значения по умолчанию.
По параметрам по умолчанию добавим.
По EN - он работает как задуман и описан.
Использование внешнего генератора событий - это одна из возможностей.
Можно реализовать счетчик на отдельной плате, которая вызывается периодически, а на входе EN установить "1".
Отправлено спустя 10 минут 16 секунд:
Dryundel писал(а): 28 окт 2021, 12:41
Я уже упоминал что описания блоков очень сильно хромают.
ecoins, с таким количеством блоков без профессионального корректировка описаний Вам будет очень сложно.
Стоит подумать о такой единице в штате.
Риторически верно изложено.
Однако есть и утилитарный метод без единицы в штате - просто начать использовать (если надо).
Многие вопросы сами отпадут. У нас есть хороший полигон для испытаний - Детская Юношеская Академия Инновационного развития" .
Там дети один попробуют, и дальше у них всё получается и вопросов потом не требуется задавать.
Рекомендую этот метод, для тех кому интересны (и возможно полезны) разработки ecoins.
-----------
За вопросы, замечания, предложения всем большое спасибо.
Сейчас готовим новую версию на основе накопленных наработок, все зафиксированные замечания попробуем учесть.
------------
Спасибо.
Разработки ecoins
Добавлено: 28 окт 2021, 13:17
ecoins
Dryundel писал(а): 28 окт 2021, 12:29
Значит что то не доделано в блоке. Назначение пинов в данном случае делается на выходах блока и они не исчезают и соответствующих параметров не появляется. Вот и непонятки.
Поверил, Вы правы, в новой версии поправим.
В новой версии все блоки сенсоров будут вынесены в отдельную библиотеку блоков.
Уже набралось - DHT22,DS1820,MAX6675,HC-SR04(SR05),BME280,HTU21.
В планах BMP180(не уверен, что нужно), AHT15(20),пару сенсоров газа, измеритель магнитного поля.
Если есть пожелания по составу и оформлению блоков - пишите.
По настраиваемому выходу fresh(свежие данные) помним и реализуем.
Разработки ecoins
Добавлено: 28 окт 2021, 13:45
starshoy81
ecoins писал(а): 28 окт 2021, 13:09
По EN - он работает как задуман и описан.
Использование внешнего генератора событий - это одна из возможностей.
Можно реализовать счетчик на отдельной плате, которая вызывается периодически, а на входе EN установить "1".
Видите ли, в описании многофункционального генератора, вход EN фигурирует именно как разрешение работы. А, поскольку, в счётчике никакой другой работы входа не описано, по аналогии, предполагается именно разрешение работы. Опять же, про выделение фронтов, в описании ни слова. Примеров в тестовых проектах я не нашёл.
И при вызове плат происходит изменение констант?
ecoins писал(а): 28 окт 2021, 13:09
Однако есть и утилитарный метод без единицы в штате - просто начать использовать (если надо).
Многие вопросы сами отпадут. У нас есть хороший полигон для испытаний - Детская Юношеская Академия Инновационного развития" .
Там дети один попробуют, и дальше у них всё получается и вопросов потом не требуется задавать.
Хочется, прочитав описание и посмотрев примеры, сделать рабочий вариант, а не искать потом "почему у меня не работает?" Блоки ваши не тривиальны, поэтому не разобравшись, сделать методом тыка, занимает довольно много времени.
Разработки ecoins
Добавлено: 28 окт 2021, 14:10
ecoins
starshoy81 писал(а): 28 окт 2021, 13:45
Видите ли, в описании многофункционального генератора, вход EN фигурирует именно как разрешение работы. А, поскольку, в счётчике никакой другой работы входа не описано, по аналогии, предполагается именно разрешение работы.
Понятные затруднения. Мы тоже долго "спотыкались", пока не ввели понятие "событие" - значение, которое сохраняет своё значение на один цикл loop().
В наших блоках пока используются события двух типов - byte (в диспетчере задач для вывода номера) и bool.
Событие типа bool в неявной форме предусмотрено в FLProg - выделение фронта импульсов блоком RTrig, но подробно возможности этой опции для управления в описании FLProg не раскрыты. Да и разве можно всё предусмотренное описать? Практика отвечает на многие вопросы.
starshoy81 писал(а): 28 окт 2021, 13:45
Примеров в тестовых проектах я не нашёл.
В действительности они есть, почти в каждом тестовом примере они есть.
Например в платах управления HC595 и mcp23017.
Докопаться до них возможно и не просто...
Но есть и более простой метод и Вы его применили - "Вопрошание"
Спрашивайте, и мы постараемся быстро ответить.
starshoy81 писал(а): 28 окт 2021, 13:45
И при вызове плат происходит изменение констант?
Константы не меняются, а вот если параметры выведены как внешние (например "Верх"), то они используются при работе счетчиков.
starshoy81 писал(а): 28 окт 2021, 13:45
Хочется, прочитав описание и посмотрев примеры, сделать рабочий вариант, а не искать потом "почему у меня не работает?" Блоки ваши не тривиальны, поэтому не разобравшись, сделать методом тыка, ...
Конечно хочется.
Вот я так и пытался понять работу стандартного счетчика, а когда как-то разобрался (через код скетча), пытался объяснить его другим пользователям.
И у меня были проблемы.
И потому мы сделали свой счетчик.
Он интуитивно понятен - поставьте на выход блок консоли и сделать несколько проектов буквально из трех блоков - генератор, счетчик и консоль - и много станет понятнее.
starshoy81 писал(а): 28 окт 2021, 13:45
занимает довольно много времени.
А по другому при освоении нового и не привычного разве бывает?

Разработки ecoins
Добавлено: 28 окт 2021, 14:39
Dryundel
ecoins писал(а): 28 окт 2021, 14:10
А по другому при освоении нового и не привычного разве бывает?
Бывает. Еще как бывает. И было бы здорово, еси бы Вы прислушались к мнениям отличным от Вашего. Все было бы гораздо проще.
Поверьте, я знаю о чем говорю. Просто напросто необходимо понимать как давать технический материал, с чего начинать и чем заканчивать. И архи важно осознавать специфику аудитории. А сравнивать детей в школе с читателями форумов вообще не приемлемо. И не потому, что последние глупее, а потому что у них гораздо больше жизненного опыта, который иногда помогает, а иногда мешает.
Учить - это искусство. Учиться искусству - тяжелый труд.
Разработки ecoins
Добавлено: 28 окт 2021, 15:01
ecoins
Dryundel писал(а): 28 окт 2021, 14:39
Поверьте, я знаю о чем говорю. Просто напросто необходимо понимать как давать технический материал, с чего начинать и чем заканчивать.
Вы обо мне почти ничего не знаете
Dryundel писал(а): 28 окт 2021, 14:39
И было бы здорово, еси бы Вы прислушались к мнениям отличным от Вашего. Все было бы гораздо проще.
Это не всегда продуктивно.
Живой и близкий пример - разработчик FLProg.
Разработки ecoins
Добавлено: 28 окт 2021, 15:35
Dryundel
ecoins писал(а): 28 окт 2021, 15:01
Вы обо мне почти ничего не знаете
И здесь Вы обманываетесь.

Ваш послужной лист впечатляет. Однако и в этом есть минусы. Как говорил граф Калиостро...
[spoiler=Цитата]
https://www.youtube.com/watch?v=8KiQrNTz2PE[/spoiler]
ecoins писал(а): 28 окт 2021, 15:01
Живой и близкий пример - разработчик FLProg.
А он весьма похож на Вас харизмой. Только вот написания руководств не гнушается. И Вам бы стоило.
Да, это время и силы, а куда без этого.
Возьмите любой штатный блок. Ну к примеру
Основной блок меню.
Отличный пример для подражания.
Разработки ecoins
Добавлено: 28 окт 2021, 20:15
tolochko
Здравствуйте
По поводу добавления датчиков
Просьба добавить блок MH Z 19b с отключением автокалибровки
А то нынешние не очень корректно работают
Разработки ecoins
Добавлено: 28 окт 2021, 20:39
ecoins
tolochko писал(а): 28 окт 2021, 20:15
По поводу добавления датчиков
Просьба добавить блок MH Z 19b с отключением автокалибровки
А то нынешние не очень корректно работают
Хорошо. Блок мы приобрели, Ваши предложение учтем.
Разработки ecoins
Добавлено: 28 окт 2021, 23:37
starshoy81
[ref]ecoins[/ref], словил ошибку при компиляции проекта - exit status 1 empty character constant
она возникает если в параметрах блока вывода на lcd удалить тильду из суффикса. В старых блоках про нее есть пометка, что если она есть то ничего не выводится. В новых блоках пометки нет, поэтому я её стёр и словил ошибку. Пришлось методом тыка выяснять в чём дело. Об этом я и говорил применительно к описанию блоков. Дурацкая мелочь, а отняла время.
Ещё, при компиляции выводит варнинг про некстион дисплей. В проекте его нет.
[spoiler]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;}
~~~~~~~~^
[/spoiler]
Также довольно много занято памяти обоих типов, завтра проверю поточнее. Предварительно, этот же проект без ваших блоков занимает в разы меньше.