Страница 1 из 80

Разработки ecoins

Добавлено: 04.07.2019{, 07:39}
ecoins
Уважаемые форумчане!
Наша команда проработала многие вопросы, связанные с планировании задач и событий, и выработала некоторый подход в создании
проектов, упорядочивания задач в проектах.
Подняли вопрос приоритетов выполнения задач и оптимизации времени работы цикла программы. Все блоки тем или иным образом
проверены по времени работы на логическом анализаторе. С уверенностью можно сказать, что применение подходов и принципов, заложенных в библиотеках Ecoins, позволяет в десятки раз ускорить обработку задач в проектах.
Задачи выполняются только тогда, когда это необходимо по условиям, в остальное время программа не затрачивает ресурсы
процессора для обработки задач.
Мы упорядочили и упростили блоки в Flprog, создали руководство по использованию блоков, наполнили их простыми примерами.
Также будем наполнять эти материалы примерами и понятными (надеюсь с Вашей помощью и участием) руководствами, которые
перерастут в некий учебный материал как для пользователей Flprog, так и для многих других.
====================================================================================================================
Устаревшее описание, но в нем есть полезное... ====================================================================================================================
Любые комментария и вопросы, а также найденные ошибки от форумчан будут услышаны. Всем желаем плодотворных дней дома.
P/S/ Далее будем выкладывать разделы, связанные с работой с пинами, выводом информации о контроллере, будут представлены блоки
для работы с микросхемами расширений MCP23017 и устройствами, датчиками и т.д.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14.11.2019 Обновление пользовательских блоков ДЮАИР(добавлен DS1820)
14.11.2019 Обновление библиотек ecoins для работы с пользовательскими блоками
14.11.2019 Добавлен кастомный контроллер ecoins v.1
15.08.2021 Полностью новая версия
=====================================================================================================================
Разработали подход и софт (библиотеки), когда одна и та же программа FLProg грузится в разные контроллеры с учетом разных пинков - nano, mege, due, esp8266, esp32, stm32.
Программа активно использует i2c и прерывания на пинах.
По результатам испытаний - stm32 это здорово, круто. Важной особенностью является то, что много выводов толерантны к 5в. Быстро грузится (при отладке полезно).
ESP32 - тоже хорош.
Mega2560 - 4 UART хорошо, но это все же только 8-разрядный контроллер, выплывают ограничения по быстродействию, особенно при работе со строками.
DUE - мощная машинка, но будущее не за ней.
ESP8266 - надо от него отходить. Только как совсем небольшие локальные устройства и мосты связи.
——-
Ещё раз про STM. Это и просто и здорово. Некоторые нюансы преодолены библиотеками (в частности работа с консолью).
=================================================
10.10.21 Изменения: добавлена работа генератора импульсов с uint32_t
17.10.21 Исправление ошибок. Существенно улучшен асинхронный протокол для дисплея Nextion.
---------------------------------------------------------------------
Тест (проверен на Nano,ESP8266,ESP32,STM32F103C,STM32F411,STM32F407)
FLProg_Test08_Sensor_Lcd_v01_190921.rar
(1.01 МБ) 222 скачивания
Тесты простого вывода DHT22 на консоль и LCD
Test_DHT22_Console_v01_171021.rar
(331.49 КБ) 154 скачивания
Test_DHT22_LCD_v01_171021.rar
(330.58 КБ) 154 скачивания
================================================
Новая версия (не требует дополнительных библиотек) - 19.10.21:
RT_00_HW_BASE_v6_78.rar
(107.18 КБ) 400 скачиваний
EIS_01_СИСТЕМАвер_1_30(17_10_21).rar
(559.49 КБ) 359 скачиваний
===================================================16.08.21 Обновление: исправлены ошибки, добавлены функции для STM32, в многофункциональном генераторе добавлен счетчик моточасов.
19.09.21 Обновление:исправлены ошибки, добавлены функции, улучшение интерфейсов блоков

Поддержка ESP32

Добавлено: 04.07.2019{, 23:39}
ecoins
Rovki, некоторое время назад я писал о том, что наша команда займётся системой реального времени и прочее.
Несколько раз аккуратно на форме сообщалось, что и lcd теперь не тормозит систему (библиотека позволяет работать с несколькими lcd-44780 -i2c одновременно - до 16 шт, и ультразвуковой дальномер работает через один пин и не тормозит, и если пин с прерыванием, то работает с прерываниями, и dht22 не тормозит и т.п.
Вы первый который проявил к этому интерес.
Некоторое время назад мою активность в рамках правил форумов подрезал один из модераторов. Я немного поспорил и этим закончилось.
То чем мы занялись, это создание систем для промышленной автоматизации на основе:
1. FLProg
2. KaScada
3. Вычищенных или созданных заново необходимых библиотек на C++. Они могут использоваться независимо.
4. Разработанная система реального времени (предельно Упрощенная, но достаточно эффективная).
5. Переносимость на разные платформы в среде Arduino.
———
В планах есть намерение начать выкладывать результаты на форуме, но:
1. Это большой материал и наверное нужна отдельная ветка.
2. Это не для тех, кто призывает к низкому порогу вхождения в тему. По моему мнению это просто разные темы - простые поделки и профессиональные системы.
3. Желательно иметь поддержку модератора.
——-
По-моему мнению наработанные результаты интересны и перспективны.

Поддержка ESP32

Добавлено: 05.07.2019{, 07:55}
ecoins
1. Наша команда начнёт выкладывать на форуме материалы - в ближайшее время.
2. Мы придерживаемся открытости разработок. Личное отношение к идее магазина - негативное. Но это дело инициаторов этой задумки.
3. Рекламой на форуме, в которой меня заподозрил администратор, не занимаюсь - нет оснований.
4. Очень рад, проявленному интересу к теме, неожиданно.
5. Возможным препятствием вижу отношение организаторов форума. ‘В наших кругах принято относиться к разработчикам уважительно’ - с таким представлением наша команда рискует быть оправлена из форума администратором, который считает что только он вправе устанавливать правила и нормы поведения, определять принципы справедливости, решать что верно, а что нет. Надеюсь, этот барьер будет как-то совместными усилиями преодолен.
6. С уважением ко всем участникам. Восхищение разработчику и автору FLProg Сергею Глушенко.
7. Выкладывать материалы будем в этой теме.

Поддержка ESP32

Добавлено: 05.07.2019{, 18:13}
ecoins
Как и обещал начинаю выкладывать результаты работы с условным названием "Системы реального времени-RT"
Краткое описание выкладываемого демонстрационного проекта:
1. Многозадачная система.
2. LCD 20 x 4 на i2c. Работает в фоновом режиме. Не мешает другим задачам. В первой позиции мерцает звездочка (подтверждает, что система работает). Обновляет значение при их изменении и дополнительно при заданной периодичности. Допускает подключение в горячем режиме. Собственно под все устройства библиотеки так и пишутся. Это в том числе позволяет снизить значение проблемы плохих контактов - после появления питания или пере подключения, внешнее устройство восстанавливает работу. В силу аппаратных особенностей, библиотека получилась непростой. Позволяет одновременную работу до 16-дисплеев. Испытывал на 4-х одновременно работающих LCD, логическим анализатором наблюдал за загрузкой шины i2c - проблем не было, шина не перегружена.
3. Дальномер ультразвуковой HC-SR-04. Работает по прерываниям и без, если пин без прерывания. В режиме прерываний установлена периодичность измерения 50 мс. В отличии от стандартной библиотеки не подвисает и не тормозит. Встроены разные фильтры на всякие ошибки. Может работать через одни пин, собственно по другому мы сейчас и не используем эти дальномеры.
4. DHT-22. При периодическом измерении 2,5 сек в момент измерения блокирует процесс на 4 мс. Не страшно. Со временем тоже бы на прерывания надо перевести. Отфильтровывает ошибочные измерения и потому на ESP8266 тоже работает устойчиво.
5. Расширитель выхода на MCP23017 (i2c). Работает бойко, почти не потребляет временных ресурсов, шину i2c не перегружает. Родной блок в FLProg сильно тормозит - видимо там много операторов delay().
6. Один и тот же проект без переделки грузится:
в Nano (там памяти оперативной маловато и потому одну плату отключать приходится), Mega2560, DUE, ESP32, ESP8266, STM32. После перехода из FLProg в Arduino IDE, только меняется тип контроллера и номер порта - и так последовательно грузятся все контроллеры. Фото приложу.

Отправлено спустя 4 минуты 36 секунд:
IMG_2390.JPG
Это контролер Nano. Дальше видно стенд и там Mega2560 и DUE

Поддержка ESP32

Добавлено: 05.07.2019{, 18:14}
ecoins
Это контроллеры на Mega и Due

Поддержка ESP32

Добавлено: 05.07.2019{, 18:16}
ecoins
Это контроллеры ESP32, STM32, ESP8266

Разработки ecoins

Добавлено: 05.07.2019{, 18:20}
ecoins
Здесь прикрепляю проект.
Все это связано с библиотеками, которые нужно поместить в директорию

Поддержка ESP32

Добавлено: 05.07.2019{, 18:22}
ecoins
Пользовательские блоки - 4 мб - не подгружаются на этом сайте. По запросу могу послать по почте.

Разработки ecoins

Добавлено: 05.07.2019{, 19:15}
ecoins
Добавляю ужатые (без data sheet) библиотеки

Поддержка ESP32

Добавлено: 06.07.2019{, 07:05}
Anydy
ecoins, Временно увеличил до 20Мб возможность загрузки файлов. Загружайте сюда!

Поддержка ESP32

Добавлено: 06.07.2019{, 11:58}
krom23
ecoins писал(а):
05.07.2019{, 18:13}
1. Многозадачная система.
То-есть операционная система, и это круто. ecoins, вы молодцы. До этого на сколько мне известно, ось ставили только на стмки, хотя могу ошибаться что только на них, а тут на мегу. Напишите мануал для тупых, с удовольствием почитаю :D .

Раработки ecoins

Добавлено: 06.07.2019{, 12:08}
krom23
Я предполагаю, что ecoins, со товарищи, готовят программу позволяющую устанавливать операционную систему в вышеперечисленные контроллеры. Если парни не будут сильно жадными, я их клиент, а если она будет совместима с FLP, то даже если будут сильно жадными (подожду репак на торренте :D ).

Раработки ecoins

Добавлено: 06.07.2019{, 13:55}
Dev1
Хранить все на форуме не совсем удобно. Темы растут как на дрожжах, потеряются. Имеет смысл перенести (по решению автора темы) в соответствующий раздел по ESP32 и дать права модератора по разделу. На мой взгляд будет удобней, для пользователей, качать библиотеки с облака(майл облако, яндекс диск, гугл диск). Вставляете у себя в подписи и в теме ссылку на диск-облако и пишите в теме только то что добавили-изменили. :smile37:
пысы: но более профессиональней использовать SVN, либо git(сложнее для новичка) :senile:
пысы2: я так вижу, на мой взгляд так удобней, чисто мое мнение. :fie:

Раработки ecoins

Добавлено: 06.07.2019{, 14:31}
ecoins
Пока будем выкладывать результаты в этой ветке.
Отдельно о пороге вхождения.
Одно из самостоятельных направлений наше команды, это использование блоков в FLProg детьми 8-12 лет - есть у нас такая детская академия. Очень дисциплинирует. Многократно приходиться шлифовать результаты, чтобы дети могли это использовать. Получается.
Дети используют разработанные блоки на FLProg - все их проекты с lcd и Kascad-ой.
Раньше использовали RemoteXY и Virtuino. Нашли основания зафиксировать проекты и детей, и свои, на KaScade.
-----
Как один из разработчиков, сейчас подчищаю некоторые библиотеки. Это у меня не основная деятельность, и потому периодически выпадаю из этого процесса. Со следующей недели к публикации результатов подключатся другие участники нашей команды - процесс пойдет активнее.
-----
P.S. Может показаться странным и излишним, но много сил отнимало и отнимает оптимизация библиотек и блоков по времени и используемой памяти.
По времени счет идет на десятки микросекунд, вылавливаешь их логическим анализатором. Это чувствительно для 8-разрядных контроллеров (Nano, UNO, Mega2560).
По памяти - разработан и используется подход масштабирования при наращивании кол-во используемых однотипных устройств, при котором добавляются только области оперативных данных для каждого из используемых устройств.

Раработки ecoins

Добавлено: 06.07.2019{, 19:55}
vovka1973
ecoins писал(а):
05.07.2019{, 18:16}
Это контроллеры ESP32, STM32, ESP8266
STM32 вы тоже в Flprog программируете?

Раработки ecoins

Добавлено: 06.07.2019{, 20:17}
Rovki
vovka1973 писал(а):
06.07.2019{, 19:55}
ecoins писал(а):
05.07.2019{, 18:16}
Это контроллеры ESP32, STM32, ESP8266
STM32 вы тоже в Flprog программируете?
В первом же посте написано ...конечно и 6 пост

Раработки ecoins

Добавлено: 07.07.2019{, 08:31}
vovka1973
Rovki писал(а):
06.07.2019{, 20:17}
В первом же посте написано ...конечно и 6 пост
Автор не сделал этого ,а уже программируют stm32,наверно поделятся секретом как ?

Раработки ecoins

Добавлено: 07.07.2019{, 09:13}
User8
vovka1973, это давно есть в ардуино, другой вопрос как это работает.https://github.com/rogerclarkmelbourne/Arduino_STM32

Раработки ecoins

Добавлено: 07.07.2019{, 09:52}
com
Аж пятки защикотались от возможностей :), еще бы мануалов информации по больше

Раработки ecoins

Добавлено: 07.07.2019{, 13:10}
vovka1973
User8 писал(а):
07.07.2019{, 09:13}
это давно есть в ардуино, другой вопрос как это работает.
в ардуино то есть .я про flprog говорю он на нем делал