ЭкоСреда ecoins

ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 05 мар 2023, 00:22 по мотивам _Простой вывод на Lcd_Счетчик _v4_29.07.19Abz с сегодняшней библиотекой и визуализацией (LCD + Virtuino)
Посмотрел. Интересно.
1.Не очень понял сложности реализации генераторов перед счетчиков - наверное какую-то смысловую нагрузку несут. Мы обычно используем простой генератор событий (event).
2.Удивилось и понравилось использование 4-х блоков вывода фиксированного текста на LCD для переключения текста в пределах одного поля. Реализовано точно и будет работать быстро.
Раньше у нас был блок вывода на LCD фиксированных текстов по входному индексу. В процессе развития и упрощения интерфейса для работы LCD убрали, возможно зря.
3.Для большего изящества было бы полезно использование диспетчера с выводом на LCD быстродействие проекта.
-----------------
Последний раз редактировалось ecoins 05 мар 2023, 15:27, всего редактировалось 1 раз.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

****РАЗВИТИЕ МНОГОПЛАТФОРМЕННОСТИ В СРЕДЕ C++ и FLPROG****
Поводом для текста послужило сообщение из другой темы по энкондеру:
Ingwar писал(а): 05 мар 2023, 13:45 Когда у меня возникнет желание и накопятся знания, я попробую сколхозить библиотеку, учитывающую все камни (но это не точно).
А пока у меня не получилось даже добавить другой камень в Ваш вариант энкодера.
Сначала я искал пару часов как и где описывается наименование камня для добавления их в #elif defined, нашел, добавил, описал, но не "взлетело" )))
===========================================================
1.Проблема многоплатформенности проекто встает перед многими разработчиками библиотек C++. Они решают их по своему, создавая среду для потенциальных конфликтов между библиотеками.
2.Неплохо "расшивается" работа с контроллерами в:
https://github.com/PaulStoffregen/OneWire [в директории util]
https://github.com/khoih-prog/ESP32TimerInterrupt
3.Последняя ссылка очень интересного и плодовитого разработчика Khoi Hoand из Канады.
К слову ESP_WifIManager - это его разработка https://github.com/khoih-prog/ESP_WiFiManager
В разработке ESP32TimerInterrupt он красиво разрешил и вопросы использованию таймеров для разных архитектур(AVR,ESP8266,ESP32,STM32,RP2040 и др.), тем самым создав возможность создавать универсальные блоки, которые будут вызываться по временным прерываниям.
-------------------------
4.Универсальная работа с пинами, таймерами для разных архитектур решает только часть проблем универсальной работы на разных контроллерах Также надо решать вопросы c аппаратными интерфейсами UART,i2c,SPI,CAN,BlueTooth,WiFi - в разных контроллерах есть порой незначительные отличия, некоторые приводят к ошибкам компиляции.
------------------------
5.Таким образом неплохо иметь единое ядро, которое решает вопросы универсального подхода для разных контроллеров.
------------------------
6.ecoins не один год занимается исследованием и разработкой универсальных методов для работы на разных контроллерах различных архитектур. Была разработана и развивается библиотека RT_HW_BASE.h (много раз меняла название, но всегда начиналась c "RT_"), которая решает вопросы многоплатформенности проектов на C++ и FLProg.
7.Быструю работу с пинами можно посмотреть там, за основу был принят подход из библиотеки 1-Wire ( https://github.com/PaulStoffregen/OneWire ). После выхода новой версии ядра ESP32>2.0, пины стали работать помедленнее, в следствии чего указанная библиотека 1-Wire(DS1820) не работала с ESP32. Мы разработали свою библиотеку 1-Wire(часть функций не реализовывали) и она работает хорошо. Возможно в более поздних версиях ESP32 и работает побыстрее - не проверяли.
-------------------------
8.После появления двухядерного Raspberry Pi Pico и практической работе на двух ядрах проектов FLProg, возникла необходимость доработки существующей концепции библиотеки для поддержки многоядерности, прежде всего с работой из разных ядер на интерфейсах (i2c,SPI и др.). Вроде бы основные решения найдены, в коде реализованы, сейчас подходим к стадии тестирования.
-------------------------
9.Из новых системных библиотек FLProg вытекает, что разработчик занимается разработкой универсальной поддержки разных архитектур контроллеров.
========================================================
Вывод : Создание библиотеки поддержки многоплатформенности в FLProg актуальна и своевременна и это один из поводов объединить усилия на форуме разработчиков системных библиотек, блоков, тестировщиков.
Призываю и приглашаю к совместной работе.
=========================================================
Спасибо.
evgen123
Сержант
Сообщения: 186
Зарегистрирован: 23 май 2020, 13:31
Откуда: Краснодар
Имя: Евгений

ЭкоСреда ecoins

Сообщение evgen123 »

Здравствуйте Ecoins.
Разбираюсь с вашим блоком hc595.
При этой конфигурации настроек
595.png
не компилируется.
[spoiler]Arduino: 1.8.19 (Windows 10), Плата:"Generic STM32F4 series, BlackPill F411CE, STM32CubeProgrammer (SWD), Enabled (generic 'Serial'), None, Low/Full Speed, Smallest (-Os default), None, Newlib Nano (default)"

C:\Users\pc1\AppData\Local\Temp\flprog\pr16\pr16.ino: In function 'void loop()':

pr16:78:9: error: 'period_129172849' was not declared in this scope; did you mean 'periodTick_129172849'?

78 | period_129172849=100; //-getting table period;

| ^~~~~~~~~~~~~~~~

| periodTick_129172849

Несколько библиотек найдено для "SoftwareSerial.h"

Используется: C:\Program Files (x86)\FLProg\ideV8\portable\packages\STMicroelectronics\hardware\stm32\2.4.0\libraries\SoftwareSerial

Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\Esp32-SoftwareSerial

Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\SoftwareSerial

Несколько библиотек найдено для "Ethernet.h"

Используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\Ethernet

Не используется: c:\Program Files (x86)\FLProg\ideV8\libraries\Ethernet

Несколько библиотек найдено для "Wire.h"

Используется: C:\Program Files (x86)\FLProg\ideV8\portable\packages\STMicroelectronics\hardware\stm32\2.4.0\libraries\Wire

Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\Wire

Несколько библиотек найдено для "SPI.h"

Используется: C:\Program Files (x86)\FLProg\ideV8\portable\packages\STMicroelectronics\hardware\stm32\2.4.0\libraries\SPI

Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\SPI

exit status 1

'period_129172849' was not declared in this scope; did you mean 'periodTick_129172849'?



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

evgen123 писал(а): 07 мар 2023, 11:35 Разбираюсь с вашим блоком hc595.
При этой конфигурации настроек
Попробуйте еще раз проверить.
У себя проверил на тесте, работает на STM32F411:
1.Проект:
Test_74HC95.png
Test_74HC595.zip
2.Скетч
Test_74HC595.zip
------------------------
Успехов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
evgen123
Сержант
Сообщения: 186
Зарегистрирован: 23 май 2020, 13:31
Откуда: Краснодар
Имя: Евгений

ЭкоСреда ecoins

Сообщение evgen123 »

Разобрался.. Благодарю.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

ecoins, поясните пожалуйста, назначение и как работать с входом En на блоке 02. вывод переменной LCD. Не получается погасить выведенную переменную по низкому уровню, тем самым освободить поле для вывода другой переменной.Изображение
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 09 мар 2023, 12:55 ecoins, поясните пожалуйста, назначение и как работать с входом En на блоке 02. вывод переменной LCD. Не получается погасить выведенную переменную по низкому уровню, тем самым освободить поле для вывода другой переменной
В проекте у Вас каждые 10сек блокируются все блоки, часть их них должна быть с инверсией входа EN. В этом случае часть блоков будут работать в одном цикле меандра, другая часть в другом цикле меандра.
Попробуйте.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

блокируются, а мне нужно погасить все поля по низкому уровню. Такое реально в этих блоках?
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 09 мар 2023, 15:03 блокируются, а мне нужно погасить все поля по низкому уровню. Такое реально в этих блоках?
Так и задумано. А разве по низкому уровню не отключаются? Если нет, напишите, потестируем и постараемся понять проблему.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

Econis, пост 587, пример поля не гаснут. Посмотрите пожалуйста. Нужно, чтобы по низкому уровню гасли, это расширит возможности блока.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 09 мар 2023, 15:53 Econis, пост 587, пример поля не гаснут. Посмотрите пожалуйста. Нужно, чтобы по низкому уровню гасли, это расширит возможности блока.
Действительно, в процессе оптимизации эта опция оказалась утрачена. Возможно мы её вернем, хотя.... подумаем.
Но есть еще один действенный и хорошо работающий метод через управление EN всем дисплеем.
Попробуйте, может это даже удобнее.
Test_LCD.png
test display_eis.zip
-----
Успехов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

ecoins, вариант буду использовать, но, лично, я за возвращение опции управления вводом переменной, тогда и вход En не будет лишним.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 09 мар 2023, 19:26 ecoins, вариант буду использовать, но, лично, я за возвращение опции управления вводом переменной, тогда и вход En не будет лишним.
Вход EN на блоках вывода и сейчас хорошо работает, когда одно поле заменяется другим. Как вариант вставлять пустое поле, например "Text".
Когда еще раз вернемся с дисплеем попробуем найти решение более полно реализующее смысловую нагрузку входа EN.
В Lcd мы предпочитаем сохранение быстродействия, это и связано со входом EN.
Но подумаем.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

Econis, спасибо за информацию, попробую пустое поле или другую переменную.

Отправлено спустя 53 минуты 26 секунд:
ecoins, тестирую и ознакамливаюсь с вашими блоками, посмотрите это, в диспетчере расширения выход Speedfilter на выходе 0.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 09 мар 2023, 21:48 ecoins, тестирую и ознакамливаюсь с вашими блоками, посмотрите это, в диспетчере расширения выход Speedfilter на выходе 0.
Действительно оказалось так.
test display_eis.zip
Исправленный блок в тесте, будет добавлен в новой версии.
-------------------------
Спасибо. Успехов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

ecoins, во вложении нет диспетчера расширения

Виноват, недоглядел
Последний раз редактировалось costy1957 10 мар 2023, 13:46, всего редактировалось 1 раз.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 10 мар 2023, 13:26 ecoins, во вложении нет диспетчера расширения
На второй плате блок shed.add - он добавляет выходы.
Собственно этот блок дублирует соответствующие выходы диспетчера и работает только вместе с диспетчером. Сделан для удобства в некоторых(редких) применениях.
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

ecoins, во вложении пост596 в проекте нет 2 платы
costy1957
Сержант
Сообщения: 252
Зарегистрирован: 05 авг 2018, 08:37
Имя: Константин
Поблагодарили: 1 раз

ЭкоСреда ecoins

Сообщение costy1957 »

Снимок экрана (3).png
реверс бит V8 при компиляции выдает ошибку, реверс бит V16, V24, V32 нормально.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

ЭкоСреда ecoins

Сообщение ecoins »

costy1957 писал(а): 10 мар 2023, 13:49 ecoins, во вложении пост596 в проекте нет 2 платы
costy1957 писал(а): 10 мар 2023, 20:36 реверс бит V8 при компиляции выдает ошибку, реверс бит V16, V24, V32 нормально.
Поправил.
2 dispetchera_eis_shedAdd_reverseV8.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя