Разработки ecoins

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

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

Разработки ecoins

#1301

Сообщение Dryundel » 20.09.2021{, 22:11}

ecoins писал(а):
20.09.2021{, 20:10}
Максимальны тест:
1.Четыре дисплея lcd + дисплей Nextion.
2. Семь сенсоров (ds1820, dht22, htu21, hc-sr04, bme280 x3).
3. Регистры mcp23017(i2c) х2, 74HC595(SPI).
4. Пины - adc,pwm, кнопка (с защитой от дребезга), led.
5.Вывод на консоль параметров системы.
6.Прочее.
Файл не открылся. FLProg падает на 20 секунде при попытке открыть.
Пользовательские блоки на сайте FLPROG - BLOCK

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

Разработки ecoins

#1302

Сообщение ecoins » 21.09.2021{, 08:34}

Dryundel писал(а):
20.09.2021{, 22:11}
Файл не открылся. FLProg падает на 20 секунде при попытке открыть.
Похоже с Вами вместе удалось нащупать проблему в FLProg - пока только с открытием проектов размером ориентировочно больше 296 мБайт - они после выхода из FLProg не открываются.
Есть и особенность - если файл увеличивается при работе с FLProg, он работает, грузится и исполняется. Были размеры и более 340 мБайт. После выхода из FLProg большие файлы не грузятся.
Есть ещё одна особенность - при добавлении дополнительного блока или какого-то изменения (например константы), файл может в начале стать даже немного меньше - видимо это какие-то оптимизационные действия самого FLProg.
-----------------
Изложенные гипотезы результат последовательных итераций (более 2-х десятков) по методу "шаг вперед, если результат отрицательный два шага назад и т.д.
---------------
В конце файл в архиве который после распаковки грузится в FLProg.
FLPROG_Test12_Nextion_v06_04_210921.rar
---------------
Спасибо за совместное исследование выявленной проблемы.
Для скачивания вложений Вы должны быть зарегистрированы.

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

Разработки ecoins

#1303

Сообщение Dryundel » 21.09.2021{, 11:06}

ecoins, попробую помочь решить проблему огромных файлов проекта.
По моему вразумению все дело в супер-классном редакторе.
Редактор позволяет создавать пакеты блоков, раскладывать их по папкам. Все это круто и здорово. Однако есть и обратная сторона медали.
Суть в том, что когда Вы используете всего один маленький блок в проекте, вместе с ним подтягиваются и все остальные блоки из этого пакета. И так происходит с каждым экземпляром блока, что необоснованно многократно увеличивает размер проекта.
Осмелюсь предложить вариант возвратиться к файловой системе в разделе пользовательских блоков. Т.е. создавать каталог блоков в этом разделе, а в мультиблоки упаковывать только те блоки которые не могут обходиться друг бкз друга. В идеале один мультиблок - один ПБ, а папки формировать уже в каталоге библиотеки блоков.
Предполагаю это должно помочь.
Пользовательские блоки на сайте FLPROG - BLOCK

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

Разработки ecoins

#1304

Сообщение ecoins » 21.09.2021{, 12:05}

Dryundel писал(а):
21.09.2021{, 11:06}
ecoins, попробую помочь решить проблему огромных файлов проекта.
По моему вразумению все дело в супер-классном редакторе.
Редактор позволяет создавать пакеты блоков, раскладывать их по папкам. Все это круто и здорово. Однако есть и обратная сторона медали.
Суть в том, что когда вы используете всего один маленький блок в проекте, вместе с ним подтягиваются и все остальные блоки из этого пакета. И так происходит с каждым экземпляром блока, что необоснованно многократно увеличивает размер проекта.
Осмелюсь предложить вариант возвратиться к файловой системе в разделе пользовательских блоков. Т.е. создавать каталог блоков в этом разделе, а в мультиблоки упаковывать только те блоки которые не могут обходиться друг бкз друга. В идеале один мультиблок - один ПБ, а папки формировать уже в каталоге библиотеки блоков.
Предполагаю это должно помочь.
Примерно по такому роду рекомендациям я и обращаюсь к разработчику - пока обратной связи нет.
Возможно он знает об этой проблеме и предложит радикальное решение.
Немного надо подождать.
Если ситуация не изменится, то:
1.Переделывать блоки по тем рекомендациям, которые Вы сформулировали. Огромная работа - но что делать... По моим наблюдениям размер проекта может расти по из-за самых безобидных действий.
Например, изменил номер колонки в lcd - плюс 200кб.
И наоборот, добавил однородный блок - минус 2мб.
Видимо в FLProg свои непростые процессы влияют...

2.Оптимизировать сами блоки. Первый раз когда создавал блоки использовал сложные условия. Блоки получались совсем огромные.
Переделывал все - много времени понадобилось.

3.Поэтапно возвращаться к простому редактору - вот уж вещь надежная и во многом прозрачная.
Будет утрачена масса уже полученных прелестей и потеряна уже сделанная работа.
Такие блоки можно было бы выделить в отдельную библиотеку, условно будем считать для профессиональной работы. Их будет много, в них нужно будет ориентироваться , но зато можно делать очень и очень большие проекты.

4.Последнее - просто перейти на C++ в сложных проектах. Наши библиотеки представляют из себя набор дополняющих друг друга функций и мы для внутренних нужд иногда используем только Arduino IDE и редактор Notepad++.
--------------
Периодически мной подымались вопросы о совместной работе.
Мне кажется в неком сегменте у нас с Вами это началось реализовываться стихийно, без излишних деклараций и договоренностей.
И при этом весьма и весьма продуктивно.
Спасибо.
------------
Всем нам успехов.

destine
Рядовой
Сообщения: 9
Зарегистрирован: 26.02.2019{, 19:24}
Репутация: 1
Имя: Вадим

Разработки ecoins

#1305

Сообщение destine » 22.09.2021{, 00:01}

ecoins писал(а):
20.09.2021{, 19:10}
destine писал(а):
20.09.2021{, 18:38}
Добрый день. Ткните носом где почитать что такое ecoins , как интегрировать в флпрог , 65 страниц пролистал в обще не понял как это использовать где описания практических шагов мол вот блок подключаем так то и так используем это да и это . Слова разронянный текст , куча каких то объявлений и тд и тп . Не удивительно что мало кто использует а вещь может быть очень интересной . Реально где место где конкретные практические шаги описаны ??? Это что блоки работающие альтернативные в флпрог ? как их использовать ? добавлять просто как пользовательские блоки ? какая процедура ? Заинтересовало заявление что блоки мол работают быстрей и можно на горячею с помощью этих блоков отключать например i2c девайсы
1.Быть готовым приложить некоторые усилия (на наш взгляд небольшие).
Отказ от привычного и готовности принимать альтернативы - это тоже усилия.
2.Из поста #1 установить библиотеку RT_HW_BASE.h (наверное знаете как, если нет - напишите).
3.Из поста #1 установить библиотеку пользовательских блоков (EIS.01.СИСТЕМА).
И все.
Можно пользоваться всеми возможностями новых пользовательских блоков.
Или не пользоваться - если не хочется, не нравится и пр.
Если нужно - пишите. Поможем, подскажем.
В следующем посте выложу пару простейших теста.
Огромное спасибо ! Нет проблем с усилием и принятием альтернативного , потратил время реально пытался разобраться , но просто не понял самого начала что нужно делать для того чтоб начать работать с этим . Спасибо еще раз за быстрый ответ ! Думаю не лишним написать об этом на первой странице , что нужно в флпрог поставить эти две библиотеки .

Stranger
Рядовой
Сообщения: 16
Зарегистрирован: 08.02.2021{, 08:35}
Репутация: 4
Имя: Дмитрий

Разработки ecoins

#1306

Сообщение Stranger » 22.09.2021{, 09:58}

ecoins писал(а):
20.09.2021{, 17:27}
Stranger писал(а): ↑Сегодня{, 09:46}
Конкретно на платах ESP32 revision 3. прилагаю проект для примера с пояснениями внутри. Подскажите куда копать, чтобы не менять партию плат
Менять партию плат наверное не стоит...
О некоторых возможных причинах выше уже написал.
Еще на заметку - по умолчанию блоки настроены на ограничение обмена 50мс. Для Вашего случая это не критично, а вот тест который я подправил с выводом бегущей "1" с периодичностью 50мс подправил ограничение на 10мс.
------
тестecoins_ver2.rar
подправил Ваш тест, испытал на ESP32. Все устойчиво работает.
По Вашим проблемам - больше похоже на качество источника питания. У нас на стенде этого нет, поскольку все наши стенды оснащены автономным питанием из двух последовательных аккумуляторов 3.7в.
-----
Успехов.

В тесте я скинул для описания проблемы, это не весь скетч, на самом деле блок расширителя всегда один. Так вот, все рекомендации выполнены, но проблема остаётся именно с платой ревизии 3. Замечено, что когда ей понижаешь частоту через ардуино иде до 80мгц, то работает она исправно... С остальным есп32 проблем нет, такие вот чудеса. Ещё раз спасибо вам за проделанную работу.

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

Разработки ecoins

#1307

Сообщение ecoins » 22.09.2021{, 13:08}

Stranger писал(а):
22.09.2021{, 09:58}
В тесте я скинул для описания проблемы, это не весь скетч, на самом деле блок расширителя всегда один. Так вот, все рекомендации выполнены, но проблема остаётся именно с платой ревизии 3. Замечено, что когда ей понижаешь частоту через ардуино иде до 80мгц, то работает она исправно... С остальным есп32 проблем нет, такие вот чудеса. Ещё раз спасибо вам за проделанную работу.
Спасибо Вам за очень любопытную и полезную информацию.
Возьмем на заметку.
-------
Полагаем, что для ответственных проектов в качестве основного лучше использовать Nano,Mega или STM32, а ESP8266 (или ESP32 - 240мГц!!!) использовать для организации канала Wi-Fi.

Nazar
Рядовой
Сообщения: 52
Зарегистрирован: 31.05.2020{, 19:07}
Репутация: 4
Откуда: Москва
Имя: Nazar

Разработки ecoins

#1308

Сообщение Nazar » 22.09.2021{, 13:15}

Это точно
а ESP8266 (или ESP32 - 240мГц!!!) использовать для организации канала Wi-Fi.

Аватара пользователя
Sancho
Полковник
Сообщения: 3810
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 528
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Разработки ecoins

#1309

Сообщение Sancho » 22.09.2021{, 16:14}

ecoins писал(а):
22.09.2021{, 13:08}
Полагаем, что для ответственных проектов в качестве основного лучше использовать Nano,Mega или STM32, а ESP8266 (или ESP32 - 240мГц!!!) использовать для организации канала Wi-Fi.
Значит, не один я так считаю. Это радует.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

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

Разработки ecoins

#1310

Сообщение ecoins » 22.09.2021{, 17:12}

Sancho писал(а):
22.09.2021{, 16:14}
Значит, не один я так считаю. Это радует.
И для меня это оказалось неожиданно - уже трое, думаю что больше...

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

Разработки ecoins

#1311

Сообщение Dryundel » 23.09.2021{, 13:56}

К стати, ecoins, в продолжение разговора об огромных размерах проекта при сохранении.
Похоже к каждому блоку из пакета в проекте при сохранении прицепляется библиотека. И так много раз по количеству блоков в проекте. Попробуйте удалить библиотеку из мультиблоков, оставив ее в librsries.
Пользовательские блоки на сайте FLPROG - BLOCK

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

Разработки ecoins

#1312

Сообщение ecoins » 23.09.2021{, 14:12}

Dryundel писал(а):
23.09.2021{, 13:56}
К стати, ecoins, в продолжение разговора об огромных размерах проекта при сохранении.
Похоже к каждому блоку из пакета в проекте при сохранении прицепляется библиотека. И так много раз по количеству блоков в проекте. Попробуйте удалить библиотеку из мультиблоков, оставив ее в librsries.
Возможно это влияет, но не очень.
Библиотека RT_HW_BASE.h при большом ко-ве функций и развернутыми комментариями занимает 0.8 мБайт, а самое безобидное добавление в проекте добавляет 4-6 мБайт.

o615ye161
Сержант
Сообщения: 145
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 2
Имя: Сергей

Разработки ecoins

#1313

Сообщение o615ye161 » 26.09.2021{, 14:45}

Здравствуйте ecoins, скажите пожалуйста может у вас уже есть или вы сможете сделать блок масштабирования в вашем исполнении, так как стандартный работает немного не так как нужно, приведу пример к примеру на вход подается напряжение и его нужно перевести в проценты, допустим, входной верхний предел 12,85 нижний 11,75 и установка выходного предела от 0 до 100 и то что ниже входного предела или выше должно игнорироваться, вот в стандартном блоке не получается добиться такого. частенько нужны подобные преобразования.

Naladchik
Лейтенант
Сообщения: 517
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 73
Откуда: Новосибирск
Имя: Павел

Разработки ecoins

#1314

Сообщение Naladchik » 26.09.2021{, 15:03}

o615ye161 писал(а):
26.09.2021{, 14:45}
...то что ниже входного предела или выше должно игнорироваться...
СпойлерПоказать
111.png
Заверните в пользовательский блок на FBD и пользуйтесь.
Константы, само собой, в параметры блока.
Для скачивания вложений Вы должны быть зарегистрированы.
Win7-64. FLProg Portable.
Изображение

o615ye161
Сержант
Сообщения: 145
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 2
Имя: Сергей

Разработки ecoins

#1315

Сообщение o615ye161 » 26.09.2021{, 15:19}

Naladchik писал(а):
26.09.2021{, 15:03}
Заверните в пользовательский блок на FBD и пользуйтесь.
я так и делаю каждый раз, это не удобно, с напряжением это пример, есть куча других параметров, температура, значения и т.д, а под каждый блок городить это долго

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

Разработки ecoins

#1316

Сообщение Dryundel » 26.09.2021{, 15:23}

o615ye161, Блок SCALE работает правильно, а для ограничения пределов, воспользуйтесь блоком LIMIT из папки Алгебра.

Отправлено спустя 2 минуты 26 секунд:
Поставьте его хоть по выходу хоть по входу SCALE
Пользовательские блоки на сайте FLPROG - BLOCK

o615ye161
Сержант
Сообщения: 145
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 2
Имя: Сергей

Разработки ecoins

#1317

Сообщение o615ye161 » 26.09.2021{, 20:30}

Dryundel писал(а):
26.09.2021{, 15:26}
o615ye161, Блок SCALE работает правильно, а для ограничения пределов, воспользуйтесь блоком LIMIT из папки Алгебра.
А я и не говорил, что он работает не правильно, (не так как нужно), спасибо за совет обязательно попробую.

Аватара пользователя
Phazz
Полковник
Сообщения: 1744
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 150
Откуда: Сургут
Имя: Анатолий

Разработки ecoins

#1318

Сообщение Phazz » 26.09.2021{, 21:20}

Могу предложить еще вариант
2021-09-26 23-19-24 Нелинейное масштабирование.png
Для скачивания вложений Вы должны быть зарегистрированы.

o615ye161
Сержант
Сообщения: 145
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 2
Имя: Сергей

Разработки ecoins

#1319

Сообщение o615ye161 » 26.09.2021{, 21:37}

Phazz писал(а):
26.09.2021{, 21:20}
Могу предложить еще вариант
Спасибо, на самом деле я активно использую блоки ecoins и одновременно их тестирую в развивающемся проекте, типа умный дом и контроль солнечной станции мощностью 700W с акб общей емкостью пока 460Ah? поэтому в проекте иногда нужны нестандартные решения так как все это хозяйство работает и одновременно что то в этом проекте изучаю, данный проект 100% создан с ноля именно мной от платы до программы, и еще есть куда развиваться, станция на 12V, но скоро еще добавится инвертор который будет брать излишки солнечной энергии и работать при отключении сети 220v
Для скачивания вложений Вы должны быть зарегистрированы.

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

Разработки ecoins

#1320

Сообщение ecoins » 26.09.2021{, 22:06}

o615ye161 писал(а):
26.09.2021{, 14:45}
Здравствуйте ecoins, скажите пожалуйста может у вас уже есть или вы сможете сделать блок масштабирования в вашем исполнении, так как стандартный работает немного не так как нужно, приведу пример к примеру на вход подается напряжение и его нужно перевести в проценты, допустим, входной верхний предел 12,85 нижний 11,75 и установка выходного предела от 0 до 100 и то что ниже входного предела или выше должно игнорироваться, вот в стандартном блоке не получается добиться такого. частенько нужны подобные преобразования.
Понял о чем Вы. Мне тоже в проектах такой бывает нужно.
Добавлю, но попозже.
Naladchik убедил меня, что для уменьшения размеров проекта блоки придётся немного переделывать.
Если от разработчика в течении пару недель не будет обратной связи, начну переделывать....

Ответить

Вернуться в «Библиотеки пользователей»