Новый редактор для создания пользовательских блоков.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
[ref=#00aa00]support[/ref], а возможно ли сделать так, что бы строчки проверки условий можно было добавлять. Это бы избавило от создания условий созданных из комбинаций условий.
. .
Отправлено спустя 7 часов 44 минуты 32 секунды:
[ref=#00aa00]support[/ref], есть еще предложение.
Не плохо было бы иметь в арсенале "Условный параметр"
Суть в том, что возникает потребность вводить значение параметра, в зависимости от комплекса условий.
Пример:
Ввод адреса I2C устройства в зависимости от подтяжки адресных пинов.
. .
Поместить "Условный параметр" думаю можно в выпадающий список "Вид параметра".
В случае его выбора, исключить этот параметр из настроек пользователя. (Параметр нужен, а настраивать его не требуется.)
А на месте поля текст, в этом случае, организовать "Условие". Текст ведь уже будет не нужен.
Сейчас для осуществления данного примера надо создать кучу условий, а потом кучу вариантов кода по этим условиям.
Получается довольно громоздко.
. .
Отправлено спустя 7 часов 44 минуты 32 секунды:
[ref=#00aa00]support[/ref], есть еще предложение.
Не плохо было бы иметь в арсенале "Условный параметр"
Суть в том, что возникает потребность вводить значение параметра, в зависимости от комплекса условий.
Пример:
Ввод адреса I2C устройства в зависимости от подтяжки адресных пинов.
. .
Поместить "Условный параметр" думаю можно в выпадающий список "Вид параметра".
В случае его выбора, исключить этот параметр из настроек пользователя. (Параметр нужен, а настраивать его не требуется.)
А на месте поля текст, в этом случае, организовать "Условие". Текст ведь уже будет не нужен.
Сейчас для осуществления данного примера надо создать кучу условий, а потом кучу вариантов кода по этим условиям.
Получается довольно громоздко.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Если все так, как описано, то здорово и вопрос снимается.support писал(а): 01 авг 2020, 18:13Ну почему же? Создаёте параметр "Массив", и делай с ним что хочеш.Dryundel писал(а): 01 авг 2020, 08:01 Но вот один и тот же массив использовать в разных ПБ не получается без внятного имени массива.
Почитайте здесь
https://flprog.ru/bez-rubriki/helppage/ ... ayParametr.
Там ещё и пины контроллера можно использовать, и уарты, и переменные без использования входа напрямую

Будем тестить.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Я так понял Вы хотите что бы пользователь указал в каком положении находятся перемычки адреса, и автоматически указался адрес в скетче. Предлагаю такое решение. Создаёте три параметра такого видаDryundel писал(а): 04 авг 2020, 16:03 Не плохо было бы иметь в арсенале "Условный параметр"
Суть в том, что возникает потребность вводить значение параметра от от комплекса условий.
Пример:
Ввод адреса I2C устройства в зависимости от подтяжки адресных пинов.
.
.
Поместить "Условный параметр" думаю можно в выпадающий список "Вид параметра".
В случае его выбора, исключить этот параметр из настроек пользователя. (Параметр нужен, а настраивать его не требуется.)
А на месте поля текст, в этом случае, организовать "Условие". Текст ведь уже будет не нужен.
Сейчас для осуществления данного примера надо создать кучу условий, а потом кучу вариантов кода по этим условиям.
Получается довольно громоздко.
А в конце секции декларе пишете такой код
В результате при компиляции получится вот это
Код: Выделить всё
byte PCF8575_Addres=0x20+B000;
void setup()
{
Ну а вообще идея с предварительными расчетами в компиляторе - интересная, но не сейчас. В будущем, возможно, когда хорошенько её обдумаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Костыль конечно, но спасибо за подсказку.support писал(а): 04 авг 2020, 17:08 В результате при компиляции получится вот это
Код: Выделить всё
byte PCF8575_Addres=0x20+B000;
void setup()
{
Ну а потом эту переменную (PCF8575_Addres) можете использовать где надо.

К синтаксису нового редактора ПБ надо еще привыкнуть.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
[ref=#00aa00]support[/ref], не прокатил костыль.support писал(а): 04 авг 2020, 17:08 В результате при компиляции получится вот это
Код: Выделить всё
byte PCF8575_Addres=0x20+B000;
void setup()
{
Ну а потом эту переменную (PCF8575_Addres) можете использовать где надо.

Идентификатор то не приклеивается.
А если две такие микросхемы в проекте?
.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Пока писал, понял как костыль к костылю приделать.
Вот так прокатило.

Вот так прокатило.
Код: Выделить всё
byte PCF8575_Addres_<A2><A1><A0> = 0x20+B<A2><A1><A0>;
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Ну я объяснял общий принцип. Что бы для каждого блока создавался свой адрес, эти параметры надо перенести в параметры каждого экземпляра, а код конец в секции декларе каждого экземпляра и немного его модернизировать.Dryundel писал(а): 04 авг 2020, 18:59 Идентификатор то не приклеивается.
А если две такие микросхемы в проекте?
Ну а потом использовать переменную адреса в таком же виде (естевственно в коде каждого экземпляра) - <INS.UUID>Address
Где то так например
Что получаем при двух блоках с разными адресами
Код: Выделить всё
byte 136263445Address=0x20+B100;
byte 197270287Address=0x20+B010;
void setup()
{
expander .begin(136263445Address);
expander .begin(197270287Address);
}
void loop()
{
//Плата:1
//Плата:2
}
не прокатило((( при изменении в одном блоке адреса изменятся и в дагом и адрес задасться оди разDryundel писал(а): 04 авг 2020, 19:04 Пока писал, понял как костыль к костылю приделать.![]()
Вот так прокатило.
Код: Выделить всё
byte PCF8575_Addres_<A2><A1><A0> = 0x20+B<A2><A1><A0>;
почитайте здесь
https://flprog.ru/bez-rubriki/helppage/ ... MainWindow
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Жуть!support писал(а): 04 авг 2020, 19:43 почитайте здесь
https://flprog.ru/bez-rubriki/helppage/ ... MainWindow

Общий принцип понятен, с нюансами разберемся.
.
Есть проблема поважней.
Не вставляются в код значения входов и выходов. (может и здесь я чего не понял)
. .
Вот проект: .
И еще, маленький трабл. После редактирования блока. Появляется артефакт. .
Win10 x 64
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Вот смотрите, Вы используете общий код блока. Он вставляется в скетч ОДИН раз вне зависимости от количества таких блоков используемых в проекте. Соответственно, если в схеме стоят ДВА одинаковых блока, значения входа какого из блоков использовать?Dryundel писал(а): 05 авг 2020, 00:55 Не вставляются в код значения входов и выходов. (может и здесь я чего не понял)
Поэтому тэги входов и выходов в общем коде не доступны. Общее правило использования тэгов, если они не становяться жирными, значит они не доступны в этом месте.
Входы и выходы доступны только в коде каждого экземпляра (там и кнопочки специальные есть), который вставляется в скетчь для КАЖДОГО блока используемого в проекте
Отправлено спустя 30 секунд:
Есть такое, поправлю, сейчас-если чуть пошевелить блок, все нормализуется.Dryundel писал(а): 05 авг 2020, 00:55 И еще, маленький трабл. После редактирования блока. Появляется артефакт.
Автор программы FLProg.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 14 раз
- Поблагодарили: 100 раз
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Да, такое есть тоже у меня, приходится ПБ шевелить, чтобы нормализовался.Dryundel писал(а): 05 авг 2020, 00:55 Есть такое, поправлю, сейчас-если чуть пошевелить блок, все нормализуется.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Ок. С этим понятно.support писал(а): 05 авг 2020, 06:07 Входы и выходы доступны только в коде каждого экземпляра (там и кнопочки специальные есть), который вставляется в скетчь для КАЖДОГО блока используемого в проекте
Не понятен следующий момент.
Есть возможность создавать входы и выходы блока на схеме по условию - это хорошо.
Но вот по этим условиям входы и выходы создаются на всех экземплярах блока, даже если условия прописаны "для каждого экземпляра блока".
А как же сделать так, что бы в каждом отдельном экземпляре блока присутствовал свой набор входов и выходов?
Ну так же как в штатном блоке MCP23017 .
И еще хотелось бы, что бы лейбл блока тоже мог видоизменяться по условию. Аналогично тому же штатному MCP23017.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Создавать условия в "Условиях каждого экземпляра блока", в этом случае для каждого экземпляра будут расчитыватся результаты учловия и соответственно показываться или нет входа и выходаDryundel писал(а): 05 авг 2020, 12:10 А как же сделать так, что бы в каждом отдельном экземпляре блока присутствовал свой набор входов и выходов?
Автор программы FLProg.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Все! С этим разобрался. Все дело в строгой иерархии условий и параметров.support писал(а): 05 авг 2020, 18:02Создавать условия в "Условиях каждого экземпляра блока", в этом случае для каждого экземпляра будут расчитыватся результаты учловия и соответственно показываться или нет входа и выходаDryundel писал(а): 05 авг 2020, 12:10 А как же сделать так, что бы в каждом отдельном экземпляре блока присутствовал свой набор входов и выходов?
А вот этот вопрос пока актуален:
Dryundel писал(а): 05 авг 2020, 12:10 И еще хотелось бы, что бы лейбл блока тоже мог видоизменяться по условию. Ну так же как в штатном блоке MCP23017.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
1. Общее описание из основных настроек мультиблока никак не отображается настройках пользователя. Отображается только описание из настроек блока.
2. Может быть реально сделать возможность создания группы параметров? Хотя бы для типа boolean с видом "флажок". Так что бы в пользовательских настройках мог отображаться не один чек бокс, а несколько. И несколько однотипных параметров можно было бы настроить из одной вкладки. Это к стати, было бы весьма актуально при настройке адреса девайса подтяжкой адресных пинов.
Ну и для вида переключатель такое очень бы пригодилось.
А в дереве проекта мультиблока в параметры добавить "Группа параметров", параметры из которой и объединялись бы на одной вкладке настроеек.
.
[spoiler=Ну как то так
]
[/spoiler]
Отправлено спустя 8 минут 27 секунд:
3. [ref=#00aa00]support[/ref], добавьте пожалуйста количество строк для вида переключатель. Ну хотя бы 8 шт.
Не просто так прошу. Обосновано битностью. Выбор бита весьма актуальная штука.
Отправлено спустя 12 минут 11 секунд:
4. Возвращаюсь к вопросу возможности добавлять в лейбол тег, дабы на плате можно было видеть - номер девайса, адрес девайса, буквенное отличие девайса и т.п.
2. Может быть реально сделать возможность создания группы параметров? Хотя бы для типа boolean с видом "флажок". Так что бы в пользовательских настройках мог отображаться не один чек бокс, а несколько. И несколько однотипных параметров можно было бы настроить из одной вкладки. Это к стати, было бы весьма актуально при настройке адреса девайса подтяжкой адресных пинов.
Ну и для вида переключатель такое очень бы пригодилось.
А в дереве проекта мультиблока в параметры добавить "Группа параметров", параметры из которой и объединялись бы на одной вкладке настроеек.
.
[spoiler=Ну как то так

Отправлено спустя 8 минут 27 секунд:
3. [ref=#00aa00]support[/ref], добавьте пожалуйста количество строк для вида переключатель. Ну хотя бы 8 шт.
Не просто так прошу. Обосновано битностью. Выбор бита весьма актуальная штука.
Отправлено спустя 12 минут 11 секунд:
4. Возвращаюсь к вопросу возможности добавлять в лейбол тег, дабы на плате можно было видеть - номер девайса, адрес девайса, буквенное отличие девайса и т.п.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Новый редактор для создания пользовательских блоков.
Оффтоп:
Проект не для программистов, а кол-во и размер "хотелок" прямо пропорционален скилу программирования
И каждый "затачивает" инструмент под себя.
Не нужно писать, что так будет удобнее/функциональней/и т.д., это понятно.
Для хотелок есть отдельный раздел
Отвлекаете Автора от выпуска стабильной версии... Имейте совесть короче.
Проект не для программистов, а кол-во и размер "хотелок" прямо пропорционален скилу программирования

Не нужно писать, что так будет удобнее/функциональней/и т.д., это понятно.
Для хотелок есть отдельный раздел
Отвлекаете Автора от выпуска стабильной версии... Имейте совесть короче.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 14 раз
- Поблагодарили: 100 раз
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Убрать бы со старого редактора лишние ограничения, проверки в декларе секции, цены бы не было.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Новый редактор для создания пользовательских блоков.
Уважаемый [ref]Ingwar[/ref], как Вы считаете, пользователи которые не сильны в программировании, или не желающие им заморачиваться, имеют хотелки по появлению на форуме новых, функциональных и удобных блоков?Ingwar писал(а): 09 авг 2020, 16:49 Оффтоп:
Проект не для программистов, а кол-во и размер "хотелок" прямо пропорционален скилу программированияИ каждый "затачивает" инструмент под себя.
Не нужно писать, что так будет удобнее/функциональней/и т.д., это понятно.
Для хотелок есть отдельный раздел
Отвлекаете Автора от выпуска стабильной версии... Имейте совесть короче.
На рынке куча девайсов, отличающихся например низкой ценой или интересным функционалом, которые несправедливо и не обосновано забыты.
По Вашему мнению новые хорошие блоки не нужны? Или может надеетесь что Автор все это для Вас сможет успеть сделать?
Люди которые хоть немного понимают в программировании сотворили и выложили на форум кучу полезных блоков.
Так почему бы им не предоставить такой же хороший, удобный и функциональный инструмент?
Или я один та считаю?

Отправлено спустя 2 минуты 53 секунды:
А если эта тема Вам не интересна, чужда, или просто слишком сложна. Так проходите мимо. Или читайте про себя (не в слух

-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Новый редактор для создания пользовательских блоков.
Похоже Вы читаете между строк или между слов, если не поняли посыла. А судя по реакции, по жизни очень болезненно воспринимаете замечания/критику/ и т.д. в свой адрес

Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 14 раз
- Поблагодарили: 100 раз
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Пример создания входов с выбором типа переменной.
Жаль лейбл не меняется по условию , у всех блоков одинаковое название
Жаль лейбл не меняется по условию , у всех блоков одинаковое название
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Новый редактор для создания пользовательских блоков.
Есть предложение по редактору.
Предлагаю ввести добавить вкладку в редакторе, где можно будет вводить текст с глобальной информацией которая можно было бы посмотреть в "обзор схемы" или еще где.
Информация такого рода как
- Блок "###" ограничил использование ШИМ на пинах 0, 1 и 12
- Скоросной счетчик не работает на пине 3 всвязи с использованием библиотеки "###"
- Блок "###" содержит delay(10000), что задержит старт основного кода при перезагрузке.
- Отключите внутренний ЕЕПРОМ, Блок "###" имеет другую библиотеку и но конфликтует со встроенной библиотекой ЕЕПРОМ
- UART не работает на пинах 0,1 и 6,7
- Данный блок "###" не работает на ЕСП32
- и многое другое
Часто требуется сделать пометку которая нужна не каждый раз но может забыться, однако при создание блока эту информацию помнишь и можно прописать. А если проект большой то все ограничения не запомнишь и лазить в каждый ПБ чтобы прочитать описание не очень удобно.
Предлагаю ввести добавить вкладку в редакторе, где можно будет вводить текст с глобальной информацией которая можно было бы посмотреть в "обзор схемы" или еще где.
Информация такого рода как
- Блок "###" ограничил использование ШИМ на пинах 0, 1 и 12
- Скоросной счетчик не работает на пине 3 всвязи с использованием библиотеки "###"
- Блок "###" содержит delay(10000), что задержит старт основного кода при перезагрузке.
- Отключите внутренний ЕЕПРОМ, Блок "###" имеет другую библиотеку и но конфликтует со встроенной библиотекой ЕЕПРОМ
- UART не работает на пинах 0,1 и 6,7
- Данный блок "###" не работает на ЕСП32
- и многое другое
Часто требуется сделать пометку которая нужна не каждый раз но может забыться, однако при создание блока эту информацию помнишь и можно прописать. А если проект большой то все ограничения не запомнишь и лазить в каждый ПБ чтобы прочитать описание не очень удобно.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей