Тестирование новой версии программы 6.Х

Вопросы, обсуждения, найденные ошибки в версии 6.0 и старше (пока тема сильно не расползётся)

Это мой личный форум. Здесь я буду задавать вопросы пользователям, проводить опросы, и тому подобное. Темы в этом форуме могу создавать только я, Вы можете создавать комментарии и отвечать на опросы.
Аватара пользователя
support
Супермодератор
Сообщения: 1351
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 452
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Тестирование новой версии программы 6.Х

#1

Сообщение support » 08.09.2019{, 16:41}

С небольшой задержкой выпущена новая бэта версия программы с номером 6.0.
Обсуждаем ёё в этой теме.
Подробнее о релизе здесь
Версия 6.Х основной задачей имеет интеграцию контроллера ESP32. В самом начале работы над этой версией обнаружилось, что текущая реализация системы описания контроллера не позволяет описать этот процессор. В связи с этим пришлось полностью переделывать эту реализации. Под это дело я решил реализовать давно требующуюся функциональность – возможность пользователям создавать собственные описания контроллера. Поэтому архитектура новых описаний контроллеров сразу разрабатывалась с учетом этого функционала, и кроме того я постарался сделать её максимально гибкой, и масштабируемой.

В версии 6.0 в меню «Инструменты» главного окна появился пункт «Редактор описаний контроллеров», который и вызывает этот редактор. В нём можно как с нуля создать новое описание, так и создать новое на базе существующего, и потом отредактировать его под собственные нужды.

Созданные описания и целые библиотеки описаний, можно экспортировать в файл и импортировать из файла.

Более подробно работа с редактором будет описана мною в уроках в ближайшее время.

Создание новой архитектуры описаний контроллера, потянуло за собой коренную переделку программы, что и вызвало задержку в сроках выхода новой версии.

Наиболее большим изменениям подверглась среда программирования на языке LAD. Но мне удалось убрать многолетние «костыли» который были «подставлены», в связи с ошибками в архитектуре сделанными ещё в самом начале разработки программы.



Внимание! В связи с оптимизацией архитектуры проекта LAD в проектах, созданных в более ранних версиях при загрузке в версию 6.0 и выше (в будущем), на входах (контактах) будут сброшены галочки «Включить подтягивающий резистор» и «Защита от дребезга». Обратите на это внимание при редактировании старых проектов.



В остальном переход на новую версию должен происходить прозрачно, но всё-таки, не стоит забывать, что это БЭТА версия, и в работе программы возможны ошибки.

Так же обновлён просмоторщик описания контроллера, и информация, выводимая в нём теперь более полная.

В ближайшее время пока не устаканится новая архитектура описания контроллера, и не уберутся самые грубые ошибки, я не буду интегрировать ESPЗ32. На время первоначального тестирования у меня в качестве основной задачи, запланировано решение давно обещанной и востребованной задачи по реализации поддержки облака Каскады.

Так что приглашаю самых смелых пользователей к тестированию новой версии программы.

P.S. 11.09.2019 Выложил (пока на хабре) первый урок по работе с редактором описаний контроллера
Автор программы FLProg.

Аватара пользователя
DrMario
Рядовой
Сообщения: 98
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 0
Откуда: Камень-на-Оби
Контактная информация:

Тестирование новой версии программы 6.Х

#2

Сообщение DrMario » 08.09.2019{, 19:39}

Огромный размер окна при выборе контроллера и не помещается на экран. Для доступа к кнопке пришлось перемещать панель задач :shok:
Вложения
размер.png

Аватара пользователя
CraCk
Лейтенант
Сообщения: 543
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 7

Тестирование новой версии программы 6.Х

#3

Сообщение CraCk » 08.09.2019{, 20:53}

Если речь пошла за esp32, тогда еще бы наручные часы добавить.
TTGO T-Watch
https://www.banggood.com/ru/LILYGO-TTGO ... rehouse=CN

Аватара пользователя
Rovki
Полковник
Сообщения: 2511
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 68
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Тестирование новой версии программы 6.Х

#4

Сообщение Rovki » 08.09.2019{, 20:59}

Что то есп32 не нашел ...
Электронщик до мозга костей и не только

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

Тестирование новой версии программы 6.Х

#5

Сообщение Phazz » 08.09.2019{, 21:05}

Rovki,
IMG_20190908_230524.jpg

Аватара пользователя
RedSky
Сержант
Сообщения: 249
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 41
Откуда: Днепропетровск

Тестирование новой версии программы 6.Х

#6

Сообщение RedSky » 08.09.2019{, 21:10}

LAD. При попытке назначить аналоговый выход вылет.
error.log
(31.28 КБ) 2 скачивания
Не очень удобно каждый раз двигать новые надписи.
Снимок.PNG
Снимок.PNG (1.79 КБ) 1304 просмотра
И вопрос-предложение: нельзя ли для LAD сделать переменные как в FBD?

Ещё вылет при попытке компиляции самопальной платы
error.log
(31.58 КБ) 2 скачивания
85.zip
(794.82 КБ) 1 скачивание

Вносит путаницу, что в редакторе контроллеров счёт пинов начинается не с нуля. На схеме получается такое двоякое трактование номера пина.
Снимок.PNG
Снимок.PNG (3.86 КБ) 1272 просмотра
Здесь Pin1 компилируется как 0.

Аватара пользователя
dimonsustr
Рядовой
Сообщения: 19
Зарегистрирован: 15.03.2018{, 14:39}
Репутация: 0
Имя: Dima

Тестирование новой версии программы 6.Х

#7

Сообщение dimonsustr » 08.09.2019{, 22:30}

support писал(а):
08.09.2019{, 16:41}
С небольшой задержкой выпущена новая бэта версия программы с номером 6.0.
Обсуждаем ёё в этой теме.
Подробнее о релизе здесь
Глупый вопрос,а когда это (поддержка ESP32) примерно будет? Сейчас вынужден извращаться с Visuino, чтобы хоть как-то приподнять ESP32-Lora, какое же это Визуино тормозное убожество по сравнению с нашим, православным FLProg'ом :smile171: Только что-то простенькое слабать, голова уже трещит. MQTT я там не смог завести, REMOTE тоже.

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 327
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 35
Откуда: Днепр.UA
Имя: Григорий
Контактная информация:

Тестирование новой версии программы 6.Х

#8

Сообщение grin-mpx » 08.09.2019{, 22:45}

Проект на Mega 2560. Блок из датчиков температуры - MAX 6675. При открытии более раннего проекта с этим блоком- удаляет пины подключения в настройках. При попытке прописать пины - не сохраняет. Не сохраняет и в новом проекте с "чистым" блоком MAX 6675.
Win XP, портабл 6.0

Аватара пользователя
DrMario
Рядовой
Сообщения: 98
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 0
Откуда: Камень-на-Оби
Контактная информация:

Тестирование новой версии программы 6.Х

#9

Сообщение DrMario » 09.09.2019{, 05:53}

При компиляции проекта на контроллере DUE вылетает ошибка
Плата arduino_due_x_dbg (платформа sam, пакет arduino) неизвестна
Ошибка компиляции для платы Arduino Due (Programming Port).
Подобная история для контроллера ESP8266. Лечится переустановкой в менеджере плат. Баг тянется с прошлых версий.

Аватара пользователя
support
Супермодератор
Сообщения: 1351
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 452
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Тестирование новой версии программы 6.Х

#10

Сообщение support » 09.09.2019{, 09:56}

DrMario писал(а):
08.09.2019{, 19:39}
Огромный размер окна при выборе контроллера и не помещается на экран. Для доступа к кнопке пришлось перемещать панель задач :shok:
\
Поставил в TODO на следующую версию. Сейчас окно 1024х800. Сделаю 800х600

Отправлено спустя 4 минуты 30 секунд:
RedSky писал(а):
08.09.2019{, 21:10}
Вносит путаницу, что в редакторе контроллеров счёт пинов начинается не с нуля. На схеме получается такое двоякое трактование номера пина.
По умолчанию ставится номера именно ВЫВОДА платы или микросхемы. Это актуально если описывается именно микросхема. А у неё выводы начинаются с первого (от ключа). Если описывается плата, то более правильно записать альтернативное имя именно так как написано на физической плате. Тогда при наличии альтернативного имени выводится будет оно. В следующей версии я переименую это поле как просто имя вывода

Отправлено спустя 43 секунды:
DrMario писал(а):
09.09.2019{, 05:53}
При компиляции проекта на контроллере DUE вылетает ошибка
Плата arduino_due_x_dbg (платформа sam, пакет arduino) неизвестна
Ошибка компиляции для платы Arduino Due (Programming Port).
Подобная история для контроллера ESP8266. Лечится переустановкой в менеджере плат. Баг тянется с прошлых версий.
В следующей версии поправлю, сейчас не успел

Отправлено спустя 24 минуты 19 секунд:
grin-mpx писал(а):
08.09.2019{, 22:45}
Проект на Mega 2560. Блок из датчиков температуры - MAX 6675. При открытии более раннего проекта с этим блоком- удаляет пины подключения в настройках. При попытке прописать пины - не сохраняет. Не сохраняет и в новом проекте с "чистым" блоком MAX 6675.
Win XP, портабл 6.0
. Добавил в TODO на версию 6.1
Автор программы FLProg.

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

Тестирование новой версии программы 6.Х

#11

Сообщение Sancho » 09.09.2019{, 11:15}

support, Сергей, по моему, нужно отображать наоборот, альтернативное - по желанию и в скобках...
СпойлерПоказать
2019-09-09_11-10-54.png
Думал сделать для стм сразу в проге, что-бы своими ПБ не пользоваться - увы, опять только цифры, РА, РВ не вставляются при компиляции. На кой мне искать инфу всякую, кто и чего значит, если ide спокойно переваривает РА0, РА1 и т.д. в своих функциях, и эти названия практически везде на платах и схемах?
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

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

Тестирование новой версии программы 6.Х

#12

Сообщение Phazz » 09.09.2019{, 11:15}

support, В проекте при использовании блоков Nextion совместно с RemoteXY падает программа при компиляции
Вложения
error.log
(30.62 КБ) 5 скачиваний

Аватара пользователя
support
Супермодератор
Сообщения: 1351
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 452
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Тестирование новой версии программы 6.Х

#13

Сообщение support » 09.09.2019{, 11:43}

Sancho писал(а):
09.09.2019{, 11:15}
support, Сергей, по моему, нужно отображать наоборот, альтернативное - по желанию и в скобках...
А какое писать? Вот смотрите, вывод может быть аналоговым входом, или цифровым входом / выходом. При этом его номера как аналогового или цифрового отличаются. Что конкретно писать например при выборе его в качестве пина в ультразвуковом датчике расстояния? А ещё он может одновременно быть например SPI или I2C. Поэтому я принял решение дать возможность пользователю самому написать как он будет отображаться. С моей точки наиболее оптимальное решение - называть его так, как написано на плате. И в случае чего искать и подключать будет проще. Например у WeMos названия на плате одни, а номер цифрового пина - совершенно другие.
Автор программы FLProg.

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

Тестирование новой версии программы 6.Х

#14

Сообщение Sancho » 09.09.2019{, 12:15}

support, Как теперь я понял - имя у пина, по умолчанию, "Вывод 1", "Вывод 2".
Соответственно, альтернативное заменит его. Стало понятнее.

Отправлено спустя 5 минут 11 секунд:
Будет ли возможность писать имя пина, которое потом вставится в код, например, для STM вместо ардуновских 32 вписать PC13.
Или вписывать вчитываясь в картинку?
СпойлерПоказать
STM32F103_v03.png
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

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

Тестирование новой версии программы 6.Х

#15

Сообщение ecoins » 09.09.2019{, 13:40}

На заметку разработчику (возможно это уже реализовано)
1. В новых контроллерах если использовать некоторые пины не по назначению -приводит к фатальным последствиям. Например ШИМ в STM32.
2. DUE виснет если выполнить отдельно команду analogWrite на пины 66,67. С ESP32 схожие проблемы.
3. Наверное надо хранить во флэш номера пинов по каждому типу пина. Для ESP32 ещё и для сенсорного входа.
4. ESP8266 - максимальное значение считываемое со входа A0 командой analogRead равно не 1023, а 1024. В своих проектах я обрезаю сверху.
——-
ВОПРОС КО ВСЕМ КТО ЗНАКОМ С ТЕМОЙ: умею идентифицировать контроллеры ESP8266 и ESP32 по макросам. Но не могу идентифицировать их разновидности -Wemos, Lolin и т.д. C STM32 - в Arduino IDE под каждый тип STM указан макрос.
Как решить эту проблему?

Аватара пользователя
support
Супермодератор
Сообщения: 1351
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 452
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Тестирование новой версии программы 6.Х

#16

Сообщение support » 09.09.2019{, 13:56}

Sancho писал(а):
09.09.2019{, 12:21}
Будет ли возможность писать имя пина, которое потом вставится в код, например, для STM вместо ардуновских 32 вписать PC13.
Или вписывать вчитываясь в картинку?
Идея неплохая, но вот реализовать её будет очень сложно. Во первых в компиляторе везде переписывать методы вывода в скетч (сейчас используется printString - это для цифровых типов данных, а придётся использовать displayString - это для строк). Во вторых при использовании этих пинов в датчиках, сенсорах и подобном, я боюсь их библиотеки не поймут если при их инициализации к ним прилетит вместо типа данных byte тип данных CharArray со значением PC13. В общем мороки много, но я над этим подумаю. Пока как вариант, можно сделать пользовательский блок, в параметрах которого задавать номер пина, а внутри писать в нужный регистр. Загрузить его в описание контроллера (там есть специальная ветка), и этот блок появится в стандартной библиотеке при использовании этого описания.

P.S Только в блок надо делать в предыдущей версии, в 6.0 создание и редактирование пользовательских блоков сломалось(((( В 6.1 исправлю

Отправлено спустя 11 минут 26 секунд:
RedSky писал(а):
08.09.2019{, 21:10}
LAD. При попытке назначить аналоговый выход вылет.
error.log
(31.28 КБ) 0 скачиваний
Не очень удобно каждый раз двигать новые надписи.

Снимок.PNG (1.79 КБ) 348 просмотров
И вопрос-предложение: нельзя ли для LAD сделать переменные как в FBD?

Ещё вылет при попытке компиляции самопальной платы
error.log
(31.58 КБ) 0 скачиваний
85.zip
(794.82 КБ) 0 скачиваний
Добавил в TODO
Автор программы FLProg.

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

Тестирование новой версии программы 6.Х

#17

Сообщение ecoins » 09.09.2019{, 15:17}

Sancho писал(а): ↑Сегодня{, 12:21}
Будет ли возможность писать имя пина, которое потом вставится в код, например, для STM вместо ардуновских 32 вписать PC13.
Или вписывать вчитываясь в картинку?
support писал(а):
09.09.2019{, 14:08}
Идея неплохая, но вот реализовать её будет очень сложно. Во первых в компиляторе везде переписывать методы вывода в скетч (сейчас используется printString - это для цифровых типов данных, а придётся использовать displayString - это для строк).
Вопрос support: нельзя ли предусмотреть для пользовательских блоков (ПБ) тип #definе, так чтобы в DeclareSection появлялась конструкция #define ЗНАЧЕНИЕ СО ВХОДА #define ИМЯ_ЗАДАВАЕМОЕ_ПОЛЬЗОВАТЕЛЕМ.
В этом случае я вроде бы представляю как принимать значения типа PC13,D4 и т.п.
Написанные библиотеки позволяют это делать и сейчас, но огромные строковые переменные на входе в ПБ потребляют много оперативной памяти. И операции присваивания происходят всегда независимо от того, выполняются ли какие-либо действия ПБ. Для Arduino Nano критично и по RAM и по быстродействию - потому пока не реализовывал эту функцию.

User8
Сержант
Сообщения: 254
Зарегистрирован: 12.06.2017{, 14:44}
Репутация: 43
Имя: Евгений

Тестирование новой версии программы 6.Х

#18

Сообщение User8 » 09.09.2019{, 16:02}

ecoins, зачем это? При указании константы на вход, тоже самое происходит что и define делает, просто щас в пользовательских блоках баг, что указанные на вход даже константы создают глобальные переменные, что не правильно и занимает динамическую память постоянно, если это вход String, то это очень критично, особенно для uno, nano.

Отправлено спустя 6 минут 35 секунд:
К автору пожелание, при указании константы у переменной, запретить изменять эту переменную и при вставке этой переменной на любой вход, не создавать глобальную переменную а создавать константу или дефине (const uint8_t), другими словами добавить константы, как в c++.

Аватара пользователя
Nikan
Капитан
Сообщения: 812
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 45
Откуда: москва

Тестирование новой версии программы 6.Х

#19

Сообщение Nikan » 09.09.2019{, 17:29}

support писал(а):
09.09.2019{, 14:08}
Sancho писал(а):
09.09.2019{, 12:21}
для STM вместо ардуновских 32 вписать PC13.
Или вписывать вчитываясь в картинку?
Идея неплохая, но вот реализовать её будет очень сложно.
ну тогда и STM32 не реализуется- IDE для плат STM32(кроме варианта блю пилл) не принимает обозначение портов как в ардуине,
только прямое - PC13, РВ2....

Аватара пользователя
support
Супермодератор
Сообщения: 1351
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 452
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Тестирование новой версии программы 6.Х

#20

Сообщение support » 09.09.2019{, 18:28}

Nikan писал(а):
09.09.2019{, 17:29}
support писал(а):
09.09.2019{, 14:08}
для STM вместо ардуновских 32 вписать PC13.
Или вписывать вчитываясь в картинку?

Идея неплохая, но вот реализовать её будет очень сложно.
ну тогда и STM32 не реализуется- IDE для плат STM32(кроме варианта блю пилл) не принимает обозначение портов как в ардуине,
только прямое - PC13, РВ2....
До СТМ я ещё доберусь. У меня была идея дать возможность при описании входа дать возможность задавать регистры. Но пока я посчитал это преждевременным, да и сам пока ясно не вижу как это будет выглядеть. Но как я уже сказал, я над этим подумаю

Отправлено спустя 23 минуты 21 секунду:
RedSky писал(а):
08.09.2019{, 21:10}
И вопрос-предложение: нельзя ли для LAD сделать переменные как в FBD?
Вы понимаете, программа позиционируется как обучающая промышленному програмированию. А в "настоящем" ладе не бывает переменных, а есть промежуточные реле. Ведь лад все таки - это отражение реальных релейных схем (он и создавался в дремучие времена для упращения перевода старого релейного оборудования на контроллеры). Я даже немного расширил функционал лада и для остальных типов (реле только для булеановских велеичин) сделал аналоговый соеденитель. Ну и конечно есть именованные соеденения для работы в пределах платы, и клеммы для работы во всём проекте. Ну куда уже больше?
Автор программы FLProg.

Ответить

Вернуться в «Темы от автора»

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

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