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

Создаем свой блок. Вопросы, помощь знатоков.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

[ref=#00aa00]support[/ref], можно сделать, чтобы название блока (инстанса) менялось по условию? Мне нравится делать один блок и по условию менять его. Хотелось бы, чтобы менялось и название блока.
Пример viewtopic.php?f=71&t=6595#p91917
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

[ref=#00aa00]support[/ref], создал ПБ, при компиляции вылет программы
error_FLP703_PB.log
Рация на Ардуино UNO и NRF24L01.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение support »

Ardudue писал(а): 29 июл 2020, 18:52 [ref=#00aa00]support[/ref], создал ПБ, при компиляции вылет программы
error_FLP703_PB.log
Рация на Ардуино UNO и NRF24L01.flp
Исправил.
Что бы сейчас заработало, уберите в блоке вот это
Снимок12345.PNG
.
Потому что вместо этого тэга вставляется значение полученное со входа (В новом редакторе для входа НЕ СОЗДАЮТСЯ ПЕРЕМЕННЫЕ) и получается следующее. В Вашей схеме:

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

RF24 radio(10, 9);
RF24V Sound(radio,0);
boolean flag = 0;
#include <SPI.h>
#include <RF24.h>
#include <RF24V.h>
(0) = 0;
(0) = 0;
void setup()
А чуть изменим схему, и получим ещё интереснее
6.PNG

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

RF24 radio(10, 9);
RF24V Sound(radio,0);
boolean flag = 0;
#include <SPI.h>
#include <RF24.h>
#include <RF24V.h>
(((1) && (1))) = 0;
(((1) && (1))) = 0;
void setup()
Отправлено спустя 22 минуты 54 секунды:
Ardudue писал(а): 29 июл 2020, 18:52 [ref=#00aa00]support[/ref], создал ПБ, при компиляции вылет программы
error_FLP703_PB.log
Рация на Ардуино UNO и NRF24L01.flp
Немного поправил Ваш блок. Так будет правильнее и красивее.

Отправлено спустя 57 секунд:
Основной код не трогал, так как не разбирался в нём. И я думаю ещё надо подгрузить библиотеки в блок
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Закончил создание блока здесь.
Чтобы освоить новый редактор, все засунул в один блок, и типы контроллера, и режимы работ, создаваемые и удаляемые входы, выходы и тп.
Да, возможности редактора большие. Время тоже занимает немало. Посмотрите блок, параметры поизменяйте, интересно будет :)
Gordon0007
Сержант
Сообщения: 138
Зарегистрирован: 19 апр 2018, 13:37
Имя: Павел

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

Сообщение Gordon0007 »

Добрый день
Хочу узнать, есть ли возможность видеть сколько занято в ЕЕПРОМ, если используешь его в ПБ?
Если нет то есть ли возможность это реализовать?
Например мне нужно записывать массив в ЕЕПРОМ или название ЕЕПРОМ назначить как переменную. Библиотека это позволяет, но функционал не раскрыт в стандартных блоках (хотя очень бы хотелось). "Есть конечно более простое решение, это добавить это в стандартные блоки, но я понимаю что у Автора нет времени на это"
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

support писал(а): 29 июл 2020, 23:20 Потому что вместо этого тэга вставляется значение полученное со входа (В новом редакторе для входа НЕ СОЗДАЮТСЯ ПЕРЕМЕННЫЕ) и получается следующее. В Вашей схеме:

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

RF24 radio(10, 9);
RF24V Sound(radio,0);
boolean flag = 0;
#include <SPI.h>
#include <RF24.h>
#include <RF24V.h>
(0) = 0;
(0) = 0;
void setup()

А чуть изменим схему, и получим ещё интереснее
вот это и хотел увидеть в коде ради интереса :smile38: но при вызове IDE получал вылеты.
блок только набросок , в выходные будет пару часов вычищу.
И вот что то #include раскладывает не по фэншую
У автора скетча так:

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

#include <RF24.h>   
#include <SPI.h>
#include <RF24V.h>
RF24 radio(7,8);    
RF24V Sound(radio,0);
boolean flag = 0;
boolean V_Up = 0;
boolean V_Down = 0;
Программа делает так: всегда сверху ставит #include <SPI.h>

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

#include <SPI.h>
#include <RF24.h>
#include <RF24V.h>
RF24 radio(7, 8);
RF24V Sound(radio,0);
boolean flag = 0;
boolean V_Up = 0;
boolean V_Down = 0;
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

av писал(а): 30 июл 2020, 15:52 так есть же несколько секций декларации начало и конец. Если нужно чтобы было первым ставьте в начальную секцию.
именно так и делаю, FLP всегда сверху ставит #include <SPI.h>
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

Ardudue писал(а): 30 июл 2020, 17:39 именно так и делаю, FLP всегда сверху ставит #include <SPI.h>
Почитайте Хелп "Элемент кода" а именно: Чек бокс«Запретить компилятору видеть #Include»
Win10-64, FLProg (portable)
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

rw6cm писал(а): 30 июл 2020, 18:37 Почитайте Хелп "Элемент кода" а именно: Чек бокс«Запретить компилятору видеть #Include»
уже обсуждали с автором
support писал(а): 15 май 2020, 11:17 Для того что бы было по феншую, есть части кода Declare - в начале секции и в конце. Так вот инклюды пишутся в начале секции, а создание инстанса - в конце. С галочкой "Запретить видеть...." надо быть осторожнее, Ведь если компилятор не видит Include то он и не проверяет наличие библиотеки, и не выгружает её из блока. У меня есть мысли как поправить эту ситуацию, если получится - отпишусь.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

Ardudue писал(а): 31 июл 2020, 07:42 уже обсуждали с автором
не пойму тогда Вашу иронию.
Не пристегивайте к блоку библиотеки, и пользуйтесь этой опцией.

Отправлено спустя 33 минуты 51 секунду:
[ref=#00aa00]support[/ref],
Ardudue писал(а): 31 июл 2020, 07:42 support писал(а): ↑
15.05.2020{11:17}
С галочкой "Запретить видеть...." надо быть осторожнее, Ведь если компилятор не видит Include то он и не проверяет наличие библиотеки, и не выгружает её из блока.
В старом блоке не вкладывал библиотеки в блок.
Во первых такие блоки сильно утяжеляли проект, (как следствие увеличивались тормоза при работе с такими проектами)
Во вторых вносили путаницу в версиях библиотек.
Вопрос про библиотеки в новом блоке:
Какой алгоритм действий встроенной библиотеки, если в базе библиотека уже есть но отличается.
И по какому пути она будет ставится. Интересует ардуино, есп8266, есп32, т.к у них свои приоритеты по установке.
Win10-64, FLProg (portable)
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

rw6cm писал(а): 31 июл 2020, 08:23 не пойму тогда Вашу иронию.
Не пристегивайте к блоку библиотеки, и пользуйтесь этой опцией.
никакой иронии, тогда была версия 700 , а вчера версия уже 703, дал инфу автору о прблеме.
Пристегивать библиотеки к ПБ это правильно, иначе где их потом искать. А с конфликтующими библами разобраться это не проблема.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Ardudue писал(а): 31 июл 2020, 14:17 Пристегивать библиотеки к ПБ это правильно, иначе где их потом искать.
Очень спорное утверждение, согласен с rw6cm о весе ПБ и скорости открытия.
При каждой компиляции прога пытается запихнуть их в нужное место. Зачем?
Бибки сразу класть в папку libraries, у меня C:\Users\Omelchuk\Documents\Arduino\libraries
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2435
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

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

Сообщение Dryundel »

[ref=#00aa00]support[/ref], вопрос на засыпку. :smile37:
Реально ли, в новом редакторе, реализовать генерацию входов/выходов (группы входов/выходов) по шаблону. Ну типа как в штатном блоке микросхемы расширения 74HC595 ?

[spoiler=74HC595]
2020-07-31_151028.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Dryundel писал(а): 31 июл 2020, 15:24 Реально ли, в новом редакторе, реализовать генерацию входов/выходов (группы входов/выходов) по шаблону.
Если вот так?
74CH595.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2435
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

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

Сообщение Dryundel »

aidar_i писал(а): 31 июл 2020, 18:18Если вот так?
Если вот так, то оно конечно понятно.
А если к примеру требуется штук 50 однотипных входов, с которых ну к примеру данные пишутся в массив, где тоже все по шаблону можно реализовать. В этом случае очень уж долго прописывать все варианты. И обязательно потребуется массив на 51 значение. :yes:
Как то ведь это в блоке 74HC595 реализовано.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Надо один раз сделать на 100 и всю жизнь использоваться!:)
Аватара пользователя
Dryundel
Полковник
Сообщения: 2435
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

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

Сообщение Dryundel »

aidar_i писал(а): 31 июл 2020, 18:48 Надо один раз сделать на 100 и всю жизнь использоваться!:)
:smile171:
Точно! Один такой блок сделаешь и больше не захочешь. И все равно, обязательно кому то потребуется на 101. :smile171:

Отправлено спустя 9 минут 5 секунд:
И еще. Давнишний вопрос. Почему бы в FLProg не добавить такой тип данных как массив?
Понимаю конечно, что вопрос офтоп, в связи с таким прорывом как новый редактор пользовательских блоков, этот вопрос стал еще более актуален.
Работа штатных блоков по работе с массивами очень сильно ограничена.

[ref=#00aa00]support[/ref], Сергей. Ответь пожалуйста, возможно ли такое?

Переменная типа Array. И не в блоке его создавать а во вкладке переменные. Это же здорово! :yes:
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение support »

Dryundel писал(а): 31 июл 2020, 19:06
aidar_i писал(а): 31 июл 2020, 18:48 Надо один раз сделать на 100 и всю жизнь использоваться!:)
:smile171:
Точно! Один такой блок сделаешь и больше не захочешь. И все равно, обязательно кому то потребуется на 101. :smile171:

Отправлено спустя 9 минут 5 секунд:
И еще. Давнишний вопрос. Почему бы в FLProg не добавить такой тип данных как массив?
Понимаю конечно, что вопрос офтоп, в связи с таким прорывом как новый редактор пользовательских блоков, этот вопрос стал еще более актуален.
Работа штатных блоков по работе с массивами очень сильно ограничена.

[ref=#00aa00]support[/ref], Сергей. Ответь пожалуйста, возможно ли такое?

Переменная типа Array. И не в блоке его создавать а во вкладке переменные. Это же здорово! :yes:
Ну хорошо, сделал я такой тип данных (в принципе несложно показывать в дереве проекта все используемые в проекте массивы), создали Вы там новый массив, то же несложно, а дальше? Перетаскиваем его на рабочее поле, что тут делать? Надо выбрать какой блок ставить, записи или чтения? Ну ладно, сперосили пользователя, он выбрал, поставили блок. И зачем эти сложности? Может действительно проще как сейчас, вытащил из библиотеки сразу нужный блок, и в его настройках уже выбрал, или создал массив.
Dryundel писал(а): 31 июл 2020, 19:06 Работа штатных блоков по работе с массивами очень сильно ограничена.
А какие ещё есть базовые функции по работе с массивами, предлагайте.
Ну и в конце концов специфические функции обработки массива легко можно реализовать в новом редакторе.
Автор программы FLProg.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2435
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

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

Сообщение Dryundel »

support писал(а): 01 авг 2020, 04:50 И зачем эти сложности? Может действительно проще как сейчас, вытащил из библиотеки сразу нужный блок, и в его настройках уже выбрал, или создал массив.
Да все бы ничего. Можно было бы и пользоваться имеющимися блоками. Только массив создается без внятного имени и использовать его в проекте можно только с помощью штатных блоков. А сделать что то отличное невозможно. Этот массив уже не пропишешь. Только если из скетча вытащить и ручками что то в скетче прописать. Вот в чем беда.

Отправлено спустя 8 минут 20 секунд:
support писал(а): 01 авг 2020, 04:50 А какие ещё есть базовые функции по работе с массивами, предлагайте.
Ну и в конце концов специфические функции обработки массива легко можно реализовать в новом редакторе.
Да мало ли что можно сделать. Буфер FIFO к примеру. viewtopic.php?f=77&t=5829
Цифровые фильтры всевозможные. Т тд.
Можно с новым можно со старым редактором делать. Но вот один и тот же массив использовать в разных ПБ не получается без внятного имени массива.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение support »

Dryundel писал(а): 01 авг 2020, 08:01 Но вот один и тот же массив использовать в разных ПБ не получается без внятного имени массива.
Ну почему же? Создаёте параметр "Массив", и делай с ним что хочеш.
Почитайте здесь
https://flprog.ru/bez-rubriki/helppage/ ... ayParametr.
Там ещё и пины контроллера можно использовать, и уарты, и переменные без использования входа напрямую
Автор программы FLProg.
Ответить

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

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

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