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

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

Добавлено: 27 июл 2020, 19:59
aidar_i
[ref=#00aa00]support[/ref], можно сделать, чтобы название блока (инстанса) менялось по условию? Мне нравится делать один блок и по условию менять его. Хотелось бы, чтобы менялось и название блока.
Пример viewtopic.php?f=71&t=6595#p91917

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

Добавлено: 29 июл 2020, 18:52
Ardudue
[ref=#00aa00]support[/ref], создал ПБ, при компиляции вылет программы
error_FLP703_PB.log
Рация на Ардуино UNO и NRF24L01.flp

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

Добавлено: 29 июл 2020, 23:20
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 секунд:
Основной код не трогал, так как не разбирался в нём. И я думаю ещё надо подгрузить библиотеки в блок

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

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

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

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

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

Добавлено: 30 июл 2020, 14:16
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;

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

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

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

Добавлено: 30 июл 2020, 18:37
rw6cm
Ardudue писал(а): 30 июл 2020, 17:39 именно так и делаю, FLP всегда сверху ставит #include <SPI.h>
Почитайте Хелп "Элемент кода" а именно: Чек бокс«Запретить компилятору видеть #Include»

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

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

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

Добавлено: 31 июл 2020, 08:23
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, т.к у них свои приоритеты по установке.

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

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

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

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

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

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

[spoiler=74HC595]
2020-07-31_151028.jpg
[/spoiler]

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

Добавлено: 31 июл 2020, 18:18
aidar_i
Dryundel писал(а): 31 июл 2020, 15:24 Реально ли, в новом редакторе, реализовать генерацию входов/выходов (группы входов/выходов) по шаблону.
Если вот так?
74CH595.flp

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

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

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

Добавлено: 31 июл 2020, 18:48
aidar_i
Надо один раз сделать на 100 и всю жизнь использоваться!:)

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

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

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

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

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

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

Добавлено: 01 авг 2020, 04:50
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 Работа штатных блоков по работе с массивами очень сильно ограничена.
А какие ещё есть базовые функции по работе с массивами, предлагайте.
Ну и в конце концов специфические функции обработки массива легко можно реализовать в новом редакторе.

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

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

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

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

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