Страница 17 из 18

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

Добавлено: 29 июл 2023, 06:24
vlad1451
AlexCrane писал(а): 28 июл 2023, 14:09 [ref]vlad1451[/ref], Добавь к переменной UIID (идентификатор экземпляра). Есть кнопка такая в редакторе
Где прописываются параметры, нет этой кнопки. Сразу подумал что нужно как то привязать к UIID, вопрос как.
034.jpg

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

Добавлено: 29 июл 2023, 06:30
aidar_i
[ref]vlad1451[/ref], в коде после SP нажми правой кнопкой на мышку

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

Добавлено: 29 июл 2023, 08:11
vlad1451
aidar_i писал(а): 29 июл 2023, 06:30 [ref]vlad1451[/ref], в коде после SP нажми правой кнопкой на мышку
Когда пишешь код блока это понятно, суть в другом. Например, если в одном из блоков уже есть параметр "Текст", то при создании нового блока при попытке ввести параметр и идентичным именем, к нему прибавляются цифры (_1, _2 и т.д.). В итогу если есть несколько блоков с одинаковым именем параметра, то редактор их нумерует.

Отправлено спустя 2 минуты 36 секунд:
Я и предположил, что есть возможность параметр привязать к конкретному блоку, типа UIID.

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

Добавлено: 29 июл 2023, 09:50
Phazz
Да ничего вы не сделаете. Только смириться.

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

Добавлено: 10 авг 2023, 07:55
aidar_i
В последней версии программы в проф редакторе расположение скетча в лооп тоже зависит от порядка вытаскивания блоков из библиотеки ПБ.
Сделал тестовый блок, в лооп ни в общих блоках, ни в экземплярах код не зависит от расположения блоков.
Посмотрите у себя тоже. В примере вытащил сперва 2й блок, потом 1й, в проекте их переставил , как нужно их расположить в скетче, но компилируется в порядке , как вытащил.
Тест редактора.flp
PS. Компилируется правильно только, если поставить в Место вставки блока в "Loop"/
Хотел GyverPortal перевести в профредактор, build расположить в loop, чтобы блоки не зависели от порядка вытаскивания.
В функциях зависит только от порядка вытаскивания, даже с платами невозможно сдвинуть, как в сетап.
Есть также необходимость создать Перенос кода, как в параметрах и условиях.
Одинаковые параметры, хотя и находятся в разных блоках , невозможно создать, добавляется цифра на последующие, очень неудобно.
Нужна возможность сохранения экземпляров блоков или папки с такими блоками отдельно и возможность импортирования их в общий блок. Потребность такая возникла при работе над общим блоком нескольких человек.
Хотел форумчанин помочь мне , но редактор не позволил.

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

Добавлено: 16 авг 2023, 11:15
vlad1451
Есть два мульти-блока, созданные отдельно друг от друга, но завязаны на работу с одной библиотекой. Внутри себя они синхронизированы. При использовании в проекте блоки из разных мульти-блоков не корректно работают друг с другом, нарушается порядок блоков в коде. При объединении всех блоков в один сразу появляются "тормоза" редактора. Как заставить их корректно работать?
test_001.zip
Отправлено спустя 1 час 32 минуты 23 секунды:
Было бы не плохо иметь возможность сохранять (экспортировать) блок из мульти-блока, Про импорт так же вопрос поднимали, редактор принимает только файлы ubl, хотелось бы ещё поддержку файлов ubi.

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

Добавлено: 16 авг 2023, 12:11
Naladchik
Использование в одном проекте блоков из одинаковых мультиблоков разных версий это очень плохая идея
[spoiler]
111.png
[/spoiler]
В мультиблоках чаще всего есть общий код для всех блоков, соответственно при использовании разных версий мультиблоков в одном проекте он дублируется, что неминуемо приводит к ошибкам.

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

Добавлено: 16 авг 2023, 12:36
aidar_i
Naladchik писал(а): 16 авг 2023, 12:11 мультиблоках чаще всего есть общий код для всех блоков
здесь нет общего кода. Попытались объединить, но программа тормозила на редакторе, когда блоков набирается .
Отдельно не тормозит, но блоки располагаются в пределах блоков разделов, во внутрь не пускают блоки другого блока раздела..

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

Добавлено: 16 авг 2023, 16:54
vlad1451
Naladchik писал(а): 16 авг 2023, 12:11 Использование в одном проекте блоков из одинаковых мультиблоков разных версий это очень плохая идея
[spoiler]111.png[/spoiler]
В мультиблоках чаще всего есть общий код для всех блоков, соответственно при использовании разных версий мультиблоков в одном проекте он дублируется, что неминуемо приводит к ошибкам.
Вы скорее всего не так меня поняли (плохой из меня объяснитель)... Есть несколько блоков, созданных для одной библиотеки. Созданы отдельно, синхронизированы. Блоки сгруппированы по функционалу.
041.jpg
В тестовом проекте были использованы блоки формирования страницы из одного блока, а содержимое из других блоков.
Предыдущая версия блоков (на старом редакторе) работает корректно. Новые блоки в код "ложатся" как попало, не так как расположены на платах.
039.jpg
040.jpg
042.jpg
Отправлено спустя 2 минуты 3 секунды:
test_001.zip

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

Добавлено: 16 авг 2023, 17:21
ivansidor012
vlad1451 писал(а): 29 июл 2023, 06:24 Новые блоки в код "ложатся" как попало
не "как попало", а согласно хронологии их вытаскивания на плату (и это для любого кода из setup секции)

много раз уже этот нюанс обсуждался)))

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

Добавлено: 16 авг 2023, 17:37
vlad1451
ivansidor012 писал(а): 16 авг 2023, 17:21
vlad1451 писал(а): 29 июл 2023, 06:24 Новые блоки в код "ложатся" как попало
не "как попало", а согласно хронологии их вытаскивания на плату (и это для любого кода из setup секции)

много раз уже этот нюанс обсуждался)))
На плату вытаскивались именно в той последовательности, что на фото.
043.jpg
044.jpg
Так нагляднее?

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

Добавлено: 16 авг 2023, 18:03
aidar_i
ivansidor012 писал(а): 16 авг 2023, 17:21
vlad1451 писал(а): 29 июл 2023, 06:24 Новые блоки в код "ложатся" как попало
не "как попало", а согласно хронологии их вытаскивания на плату (и это для любого кода из setup секции)

много раз уже этот нюанс обсуждался)))
Обсуждалось, но для старого редактора, в новом более запутаннее, мы с Владимиром бьемся уже больше недели. Когда блоков начинается становится больше - тормозит.

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

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

Добавлено: 16 авг 2023, 18:34
ivansidor012
vlad1451 писал(а): 29 июл 2023, 06:24 Так нагляднее?
а к чему на скрине порядок компиляции блоков?
эта опция не влияет на тот нюанс, который мы обсуждаем)

Отправлено спустя 1 минуту 11 секунд:
aidar_i писал(а): 16 авг 2023, 18:33 Обсуждалось, но для старого редактора
в новом редакторе все тоже самое - примерно год назад эта тема поднималась...но год назад ты сказал что тебе это неинтересно и будешь юзать старый редактор, ибо тебя в нем все устраивает)))

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

Добавлено: 16 авг 2023, 18:53
aidar_i
ivansidor012 писал(а): 16 авг 2023, 18:34 в новом редакторе все тоже самое - примерно год назад эта тема поднималась...но год назад ты сказал что тебе это неинтересно и будешь юзать старый редактор, ибо тебя в нем все устраивает)))
К сожалению не все тоже самое. Каждый раздел там работает по своему, тестирую уже неделю и больше.
Старый редактор меня устраивает, тк даёт экономию времени на создание блоков, небольшой вес блоков, несмотря некоторые недостатки, я им стараюсь пользоваться.
У нового возможностей больше, но он громоздкий, хотел перевести портал на него , по желаниям некоторых форумчан, пока неудачно, если кто хочет поучаствуйте в переводе, критиковать и я умею, вот тестировщика искал, никто не отозвался, думаю, нет смысла переводить на новый редактор. Просто сосредоточусь на тестах и исправлениях недостатков.

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

Добавлено: 06 окт 2023, 11:53
vlad1451
Доброго всем времени суток. Хотел бы вернуться к теме вывода параметра из настроек блока на его вход. Пытался реализовать это в блоке для MAX31865. Есть потребность удалённо (через web интерфейс) изменять настройки блока. Вроде и проштудировал всю тему, но на сростается как то. Блок настроек сделал, переменная объявлена, но в конечную функцию данные со входа не попадают.

Делаю так:

<Wire.Name>=<In_Wire>;
wire=&<Wire.Name>[0];
thermo.begin(MAX31865_wire);


В коде получается так:

void setup()
{
// * * * * * * * * * * * * * * * * * * * * * * * * * *
_gtv1=(String("_4WIRE"));
wire=&_gtv1[0];
thermo.begin(MAX31865_wire);
// * * * * * * * * * * * * * * * * * * * * * * * * * *
}


Где я что пропустил?
Test_Max.flp
Отправлено спустя 3 часа 54 минуты 58 секунд:
P.S. Вся "фишка" в том, что проблема не в конвертации, а в том что функция thermo.begin(MAX31865_*** не воспринимает данные. В библиотеке функция имеет 3 значения: MAX31865_2wire, MAX31865_3wire, MAX31865_4wire. В блоке через параметры выбирается нужное значение и подставляется к MAX31865_. А подставление переменной не проходит.

Отправлено спустя 20 минут 45 секунд:
P.S. Пробовал не "дробить" функцию (в ковычках), на вход блока настроек подавал целиком (MAX31865_3wire). В консоль выдаётся как надо, но функцией на воспринимается. Причём эта же функция прекрасно работает (даже раздробленая) когда используется стандартный параметр.

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

Добавлено: 06 окт 2023, 12:25
Naladchik
vlad1451 писал(а): 06 окт 2023, 11:53 "...Хотел бы вернуться к теме вывода параметра из настроек блока на его вход..."
Никак не могу понять в чем смысл этого действия?
Что такое вход? Это то, что может принимать информацию, изменяющуюся по мере выполнения программы.
Что такое параметр? Это то, что служит для задания определенных начальных значений, которые, чаще всего, в процессе выполнения программы неизменны.
При этом очень часто параметр может принимать значение из строго определенного набора (как раз данный случай).
И зачем одно подменять другим?

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

Добавлено: 06 окт 2023, 12:34
vlad1451
Naladchik писал(а): 06 окт 2023, 12:25
vlad1451 писал(а): 06 окт 2023, 11:53 "...Хотел бы вернуться к теме вывода параметра из настроек блока на его вход..."
Никак не могу понять в чем смысл этого действия?
Что такое вход? Это то, что может принимать информацию, изменяющуюся по мере выполнения программы.
Что такое параметр? Это то, что служит для задания определенных начальных значений, которые, чаще всего, в процессе выполнения программы неизменны.
И зачем одно подменять другим?
Смысл в том, что к устройству будут подключаться датчики с разным подключением. Что бы не прошивать под новый датчик, проще менять тип подключения.

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

Добавлено: 07 окт 2023, 07:57
aidar_i
vlad1451 писал(а): 06 окт 2023, 11:53 библиотеке функция имеет 3 значения: MAX31865_2wire, MAX31865_3wire, MAX31865_4wire
Создайте 3 кода и подключайте код по условию.
На вход подавайте, например, 1,2,3.
Но нужно будет перезагружать МК.

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

Добавлено: 23 окт 2024, 23:21
aidar_i
Нужно в редакторе пользовательских блоков предусмотреть возможность вывода в компилированный код текста из входа string по выбору, или в string или в char array.
Те сейчас текст из входа вставляется в таком виде: String("Текст")), нужно еще чтобы вставлялся так: "Текст", чтобы дополнительно не преобразовывать его в char array. Что позволит во многих случаях избавиться от тяжелой строки.

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

Добавлено: 25 окт 2024, 15:41
ecoins
aidar_i писал(а): 23 окт 2024, 23:21 Нужно в редакторе пользовательских блоков предусмотреть возможность вывода в компилированный код текста из входа string по выбору, или в string или в char array.
Те сейчас текст из входа вставляется в таком виде: String("Текст")), нужно еще чтобы вставлялся так: "Текст", чтобы дополнительно не преобразовывать его в char array. Что позволит во многих случаях избавиться от тяжелой строки.
Со временем возможно, пока нет.