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

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

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

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

#61

Сообщение aidar_i » 27.07.2020{, 19:59}

support, можно сделать, чтобы название блока (инстанса) менялось по условию? Мне нравится делать один блок и по условию менять его. Хотелось бы, чтобы менялось и название блока.
Пример viewtopic.php?f=71&t=6595#p91917

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#62

Сообщение Ardudue » 29.07.2020{, 18:52}

support, создал ПБ, при компиляции вылет программы
error_FLP703_PB.log
(32.23 КБ) 38 скачиваний
Рация на Ардуино UNO и NRF24L01.flp
(103.81 КБ) 43 скачивания

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

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

#63

Сообщение support » 29.07.2020{, 22:56}

Ardudue писал(а):
29.07.2020{, 18:52}
support, создал ПБ, при компиляции вылет программы
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
6.PNG (3.88 КБ) 1442 просмотра

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

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.07.2020{, 18:52}
support, создал ПБ, при компиляции вылет программы
error_FLP703_PB.log
Рация на Ардуино UNO и NRF24L01.flp
Немного поправил Ваш блок. Так будет правильнее и красивее.

Отправлено спустя 57 секунд:
Основной код не трогал, так как не разбирался в нём. И я думаю ещё надо подгрузить библиотеки в блок
Вложения
walkie-talkie_(Code)_1.ubi
(87.69 КБ) 44 скачивания
Автор программы FLProg.

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

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

#64

Сообщение aidar_i » 30.07.2020{, 00:17}

Закончил создание блока здесь.
Чтобы освоить новый редактор, все засунул в один блок, и типы контроллера, и режимы работ, создаваемые и удаляемые входы, выходы и тп.
Да, возможности редактора большие. Время тоже занимает немало. Посмотрите блок, параметры поизменяйте, интересно будет :)

Gordon0007
Сержант
Сообщения: 138
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

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

#65

Сообщение Gordon0007 » 30.07.2020{, 13:26}

Добрый день
Хочу узнать, есть ли возможность видеть сколько занято в ЕЕПРОМ, если используешь его в ПБ?
Если нет то есть ли возможность это реализовать?
Например мне нужно записывать массив в ЕЕПРОМ или название ЕЕПРОМ назначить как переменную. Библиотека это позволяет, но функционал не раскрыт в стандартных блоках (хотя очень бы хотелось). "Есть конечно более простое решение, это добавить это в стандартные блоки, но я понимаю что у Автора нет времени на это"

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#66

Сообщение Ardudue » 30.07.2020{, 14:16}

support писал(а):
29.07.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
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#67

Сообщение Ardudue » 30.07.2020{, 17:39}

av писал(а):
30.07.2020{, 15:52}
так есть же несколько секций декларации начало и конец. Если нужно чтобы было первым ставьте в начальную секцию.
именно так и делаю, FLP всегда сверху ставит #include <SPI.h>

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#68

Сообщение rw6cm » 30.07.2020{, 18:37}

Ardudue писал(а):
30.07.2020{, 17:39}
именно так и делаю, FLP всегда сверху ставит #include <SPI.h>
Почитайте Хелп "Элемент кода" а именно: Чек бокс«Запретить компилятору видеть #Include»
Win10-64, FLProg (portable)

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#69

Сообщение Ardudue » 31.07.2020{, 07:42}

rw6cm писал(а):
30.07.2020{, 18:37}
Почитайте Хелп "Элемент кода" а именно: Чек бокс«Запретить компилятору видеть #Include»
уже обсуждали с автором
support писал(а):
15.05.2020{, 11:17}
Для того что бы было по феншую, есть части кода Declare - в начале секции и в конце. Так вот инклюды пишутся в начале секции, а создание инстанса - в конце. С галочкой "Запретить видеть...." надо быть осторожнее, Ведь если компилятор не видит Include то он и не проверяет наличие библиотеки, и не выгружает её из блока. У меня есть мысли как поправить эту ситуацию, если получится - отпишусь.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#70

Сообщение rw6cm » 31.07.2020{, 07:49}

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

Отправлено спустя 33 минуты 51 секунду:
support,
Ardudue писал(а):
31.07.2020{, 07:42}
support писал(а): ↑
15.05.2020{11:17}
С галочкой "Запретить видеть...." надо быть осторожнее, Ведь если компилятор не видит Include то он и не проверяет наличие библиотеки, и не выгружает её из блока.
В старом блоке не вкладывал библиотеки в блок.
Во первых такие блоки сильно утяжеляли проект, (как следствие увеличивались тормоза при работе с такими проектами)
Во вторых вносили путаницу в версиях библиотек.
Вопрос про библиотеки в новом блоке:
Какой алгоритм действий встроенной библиотеки, если в базе библиотека уже есть но отличается.
И по какому пути она будет ставится. Интересует ардуино, есп8266, есп32, т.к у них свои приоритеты по установке.
Win10-64, FLProg (portable)

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#71

Сообщение Ardudue » 31.07.2020{, 14:17}

rw6cm писал(а):
31.07.2020{, 08:23}
не пойму тогда Вашу иронию.
Не пристегивайте к блоку библиотеки, и пользуйтесь этой опцией.
никакой иронии, тогда была версия 700 , а вчера версия уже 703, дал инфу автору о прблеме.
Пристегивать библиотеки к ПБ это правильно, иначе где их потом искать. А с конфликтующими библами разобраться это не проблема.

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

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

#72

Сообщение Sancho » 31.07.2020{, 15:01}

Ardudue писал(а):
31.07.2020{, 14:17}
Пристегивать библиотеки к ПБ это правильно, иначе где их потом искать.
Очень спорное утверждение, согласен с rw6cm о весе ПБ и скорости открытия.
При каждой компиляции прога пытается запихнуть их в нужное место. Зачем?
Бибки сразу класть в папку libraries, у меня C:\Users\Omelchuk\Documents\Arduino\libraries
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

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

#73

Сообщение Dryundel » 31.07.2020{, 15:24}

support, вопрос на засыпку. :smile37:
Реально ли, в новом редакторе, реализовать генерацию входов/выходов (группы входов/выходов) по шаблону. Ну типа как в штатном блоке микросхемы расширения 74HC595 ?
74HC595Показать
2020-07-31_151028.jpg

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

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

#74

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

Dryundel писал(а):
31.07.2020{, 15:24}
Реально ли, в новом редакторе, реализовать генерацию входов/выходов (группы входов/выходов) по шаблону.
Если вот так?
74CH595.flp
(106.73 КБ) 67 скачиваний

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

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

#75

Сообщение Dryundel » 31.07.2020{, 18:36}

aidar_i писал(а):
31.07.2020{, 18:18}
Если вот так?
Если вот так, то оно конечно понятно.
А если к примеру требуется штук 50 однотипных входов, с которых ну к примеру данные пишутся в массив, где тоже все по шаблону можно реализовать. В этом случае очень уж долго прописывать все варианты. И обязательно потребуется массив на 51 значение. :yes:
Как то ведь это в блоке 74HC595 реализовано.

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

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

#76

Сообщение aidar_i » 31.07.2020{, 18:48}

Надо один раз сделать на 100 и всю жизнь использоваться!:)

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

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

#77

Сообщение Dryundel » 31.07.2020{, 18:57}

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

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

support, Сергей. Ответь пожалуйста, возможно ли такое?

Переменная типа Array. И не в блоке его создавать а во вкладке переменные. Это же здорово! :yes:

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

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

#78

Сообщение support » 01.08.2020{, 04:50}

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

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

support, Сергей. Ответь пожалуйста, возможно ли такое?

Переменная типа Array. И не в блоке его создавать а во вкладке переменные. Это же здорово! :yes:
Ну хорошо, сделал я такой тип данных (в принципе несложно показывать в дереве проекта все используемые в проекте массивы), создали Вы там новый массив, то же несложно, а дальше? Перетаскиваем его на рабочее поле, что тут делать? Надо выбрать какой блок ставить, записи или чтения? Ну ладно, сперосили пользователя, он выбрал, поставили блок. И зачем эти сложности? Может действительно проще как сейчас, вытащил из библиотеки сразу нужный блок, и в его настройках уже выбрал, или создал массив.
Dryundel писал(а):
31.07.2020{, 19:06}
Работа штатных блоков по работе с массивами очень сильно ограничена.
А какие ещё есть базовые функции по работе с массивами, предлагайте.
Ну и в конце концов специфические функции обработки массива легко можно реализовать в новом редакторе.
Автор программы FLProg.

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

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

#79

Сообщение Dryundel » 01.08.2020{, 07:52}

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

Отправлено спустя 8 минут 20 секунд:
support писал(а):
01.08.2020{, 04:50}
А какие ещё есть базовые функции по работе с массивами, предлагайте.
Ну и в конце концов специфические функции обработки массива легко можно реализовать в новом редакторе.
Да мало ли что можно сделать. Буфер FIFO к примеру. viewtopic.php?f=77&t=5829
Цифровые фильтры всевозможные. Т тд.
Можно с новым можно со старым редактором делать. Но вот один и тот же массив использовать в разных ПБ не получается без внятного имени массива.

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

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

#80

Сообщение support » 01.08.2020{, 18:13}

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

Ответить

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