Новый редактор для создания пользовательских блоков.

Появился в версии 7.

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

Новый редактор для создания пользовательских блоков.

#221

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

AlexCrane, Ну как вариант, но это в том случае если я знаю сколько будет блоков, а если нет?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Новый редактор для создания пользовательских блоков.

#222

Сообщение AlexCrane » 28.02.2022{, 21:27}

Phazz писал(а):
28.02.2022{, 21:05}
Ну как вариант, но это в том случае если я знаю сколько будет блоков, а если нет?
А можно четче сформулировать свою мысль, недопонял если честно.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

Новый редактор для создания пользовательских блоков.

#223

Сообщение Phazz » 28.02.2022{, 21:39}

AlexCrane, Вот смотрите, у вас в блоке можно выбрать 1 или 2. Ну допустим я сделаю 10, но вдруг в проекте мне нужно 11 или 20? В прочем посмотрев внимательно на библиотеку я уже отказался от этой идеи ) Как то я не представляю как ее сделать чтобы удобно было в флпрог ее использовать

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

Новый редактор для создания пользовательских блоков.

#224

Сообщение Dryundel » 28.02.2022{, 21:41}

av писал(а):
28.02.2022{, 21:22}
Но теперь параметры и условия не доступны. Кто как обходит такую проблему ?
Создать переменную с уникальным именем и идентификатор не использовать.
Присвоить этой переменной значение параметра первого блока.
Взять эту переменную другим блоком.

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

Новый редактор для создания пользовательских блоков.

#225

Сообщение Phazz » 28.02.2022{, 21:46}

А сделать параметр общим нельзя?

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

Новый редактор для создания пользовательских блоков.

#226

Сообщение Dryundel » 28.02.2022{, 21:55}

Phazz писал(а):
28.02.2022{, 21:46}
А сделать параметр общим нельзя?
Мультиблоки разные. Не получится.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Новый редактор для создания пользовательских блоков.

#227

Сообщение AlexCrane » 28.02.2022{, 22:00}

Phazz писал(а):
28.02.2022{, 21:39}
Как то я не представляю как ее сделать чтобы удобно было в флпрог ее использовать
Вот это верно, сделать то можно, но будет крайне интуитивно не понятно и легко будет запутаться....
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

Новый редактор для создания пользовательских блоков.

#228

Сообщение Phazz » 28.02.2022{, 22:10}

А если использовать Майн блок в котором настраиваются все параметры и блоки для графики. Хотя бы чтоб все блоки были в одном мультиблоке

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Новый редактор для создания пользовательских блоков.

#229

Сообщение aidar_i » 24.03.2022{, 17:46}

av писал(а):
24.03.2022{, 15:57}
Снова непонятки с новым редактором. Создаю условие по нескольким параметрам:
УСЛОВИЕ.png
Логически такое условие должно работать следующим образом( ( пар1 "ИЛИ" пар2 ) "И" ( пар3 "ИЛИ" пар4 "ИЛИ" пар5 "ИЛИ" пар6 ) ), но это так не работает. Так как на рисунке нет доп. скобок экранирующие операции. В действительности операции логики производятся тупо по порядку. В связи с этим придется лепить еще 4 условия для того чтобы получилось то что задумано. Кто как решает такие задачи ? Поделитесь !

Отправлено спустя 40 минут :
Увы... не помогает даже создание еще 4 дополнительных условий. Потому что все эти условия нужно как то привязывать к одному параметру, а это невозможно сделать в новом редакторе.
Нажмите Ctrl и левой кнопкой мыши или правой кнопкой на нужные условия, появятся скобки наверху и условия выделятся желтым цветом. Чтобы удалить скобки нажмите на скобку, сверху появится знак удаления скобок
СпойлерПоказать
ПБ условия.png
ПБ условия.png (5.29 КБ) 1131 просмотр

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

Новый редактор для создания пользовательских блоков.

#230

Сообщение Dryundel » 24.03.2022{, 17:51}

av писал(а):
24.03.2022{, 15:57}
Кто как решает такие задачи ? Поделитесь !
aidar_i писал(а):
24.03.2022{, 17:46}
Нажмите правой кнопкой на нужные условия, появятся скобки наверху и условия выделятся желтым цветом.
Так же работает выделение нескольких условий левой кнопкой + Ctrl. После чего появляется пиктограмма "()" (скобки)

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

Новый редактор для создания пользовательских блоков.

#231

Сообщение Naladchik » 24.04.2022{, 06:27}

support,
Сергей здравствуйте.
Когда Вы будете дорабатывать редактор блоков (проблема компиляции), прошу Вас рассмотреть возможность и следующей доработки: (Очень нужно!!!)
Суть проблемы в том, что есть библиотеки, для которых, при создании блоков, нужно создавать функции, код в которые должен добавляться по мере добавления блоков в проект. В случае, когда такая функция одна, такую задачу криво косо но решить можно, если таких функций две и более то уже очень проблематично. При этом тут же начинает возникать вопрос совместимости с другими блоками.
Что по идее должно получиться на выходе.
В секциях:
"Основные настройки"->"Общий код"->"секция Declare" и "секция Functions" и
"Пакет блоков"->"Основные настройки"->"Код блока"->"Общий код"->"секция Declare" и "секция Functions"
нужна возможность создания неких участков кода (именованных, с определенной меткой или т.п.), код в которые будет добавляться код из определенных участков (типа "поместить в ...." ) секций
"Пакет блоков"->"Основные настройки"->"Код блока"->"Код каждого экземпляра"->"секция Declare" и "секция Functions".
Спасибо.
Последний раз редактировалось Naladchik 25.04.2022{, 05:45}, всего редактировалось 1 раз.
Win10-64. FLProg Portable.
Изображение

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

Новый редактор для создания пользовательских блоков.

#232

Сообщение support » 24.04.2022{, 07:19}

Когда Вы будете дорабатывать редактор блоков (проблема компиляции),
да буду конечно. в 7.5.2. я код вообще не менял, проблема была на ферме релизов, то есть я просто пересобрал релиз, и что бы не было путаницы, задал новый номер версии

Отправлено спустя 1 минуту 6 секунд:
Naladchik писал(а):
24.04.2022{, 06:27}
(Очень нужно!!!)
Суть проблемы в том, что есть библиотеки, для которых, при создании блоков, нужно создавать функции, код в которые должен добавляться по мере добавления блоков в проект. В случае когда такая функция одна такую задачу криво косо но решить можно, если таких функций две и более то уже очень проблематично. При этом тут же начинает возникать вопрос совместимости с другими блоками.
Что по идее должно получиться на выходе.
В секциях:
"Основные настройки"->"Общий код"->"секция Declare" и "секция Functions" и
"Пакет блоков"->"Основные настройки"->"Код блока"->"Общий код"->"секция Declare" и "секция Functions"
нужна возможность создания неких участков кода (именованных, с определенной меткой или т.п.), код в которые будет добавляться код из определенных участков (типа "поместить в ...." ) секций
"Пакет блоков"->"Основные настройки"->"Код блока"->"Код каждого экземпляра"->"секция Declare" и "секция Functions".
а вот с этим попозже. работы много, и переключатся сейчас не очень хорошая идея
Автор программы FLProg.

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

Новый редактор для создания пользовательских блоков.

#233

Сообщение Naladchik » 25.04.2022{, 08:26}

support,
Сергей, и еще, небольшая просьба.
В заголовке окна редактора хотелось бы вместо надписи "Редактор пользовательских блоков....." видеть само название блока.
СпойлерПоказать
11.png
Когда одновременно открыто несколько версий блоков путаешься, с какой именно версией в данный момент работаешь.
Спасибо.
Win10-64. FLProg Portable.
Изображение

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

Новый редактор для создания пользовательских блоков.

#234

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

Naladchik писал(а):
25.04.2022{, 08:26}
support,
Сергей, и еще, небольшая просьба.
В заголовке окна редактора хотелось бы вместо надписи "Редактор пользовательских блоков....." видеть само название блока.
СпойлерПоказать
11.png
Когда одновременно открыто несколько версий блоков путаешься, с какой именно версией в данный момент работаешь.
Спасибо.
это можно сделать только при открытии окна. То есть невозможно изменить его на лету(то есть вы поменяете название блока, а оно изментся только когда вы закроете окно и снова его откроете).
Автор программы FLProg.

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

Новый редактор для создания пользовательских блоков.

#235

Сообщение Naladchik » 25.04.2022{, 10:18}

support писал(а):
25.04.2022{, 09:56}
... То есть невозможно изменить его на лету ...
Да вообще не проблема. Создал, назвал, закрыл, открыл и работай дальше.
Когда открываешь 2-3 версии блока (по крайней мере у меня они отличаются названиями) и начинаешь сравнивать/переносить код вот тогда путаница и возникает.
Win10-64. FLProg Portable.
Изображение

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

Новый редактор для создания пользовательских блоков.

#236

Сообщение ecoins » 26.04.2022{, 09:45}

Остается пожелание группировать строки в пользовательском редакторе в разделе "Место вставки блока loop".
Так в блоке ecoins MCP23x17 в этой секции более 60 строк и при добавлении новой строки в начало, строка добавляется снизу и приходиться ее передвигать вверх курсором несколько десятков раз.
И группировать входы-выходы - те же сложности при проектировании.
----
И еще - размер блоков в новом редакторе получается большим - мегабайты. Если ли пути и планы по оптимизации размеров блоков?

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Новый редактор для создания пользовательских блоков.

#237

Сообщение aidar_i » 20.12.2022{, 19:18}

av писал(а):
20.12.2022{, 18:29}
есть какой то непонятный баг
Кстати , когда редактируешь параметр, могут появляться аналогичные баги.
Я решаю так: В коде удаляю этот параметр, сохраняю блок и открыв, снова вставляю в код этот же параметр, сохраняю блок, и все появляется.

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

Новый редактор для создания пользовательских блоков.

#238

Сообщение Naladchik » 20.12.2022{, 22:27}

av,
Делаю по другому. Надо переименовать то, что не вставляется (параметр, вход и т.д.), как переименовал проходишься по коду и где этот параметр не вставился с новым именем, вставляешь по новой. После этого можно переименовать обратно. У меня срабатывало.
Win10-64. FLProg Portable.
Изображение

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

Новый редактор для создания пользовательских блоков.

#239

Сообщение JonyBest » 14.01.2023{, 18:46}

Доброго времени!
Начал осваивать новый редактор для создания пользовательских блоков. Столкнулся с проблемой.
При создании блока со String входом
[/code]
В описании библиотеки:

Код: Выделить всё

setValue(constchar*value)
PARAMETERS
value – String representation of the sensor’s value.
Arduino IDE формирует код

Код: Выделить всё

valve190208383.setValue(_swi1);
Получаю ошибку:

Код: Выделить всё

error: no matching function for call to 'HASensor::setValue(String)'
             valve190208383.setValue(_swi1);
Если переменную входа _swi1 заменить на "любой текст", то компилируется без ошибок, блок работает.
При использовании других типов данных в других блоках - ошибок нет. Что делаю не так?

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

Новый редактор для создания пользовательских блоков.

#240

Сообщение ecoins » 14.01.2023{, 19:09}

Интересно. Выложите какой Ваш пользовательский блок порождает эту проблему и мы попробуем поисследовать.

Ответить

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