Страница 6 из 18
Новый редактор для создания пользовательских блоков.
Добавлено: 13 авг 2020, 09:35
Gordon0007
Так же есть предложение добавить информацию номера версии блока, допустим есть проект в нем уже вставил ПБ и как бы пользовался этим блоком и нашел ошибку когда начал другой проект. Вернулся к старому проекту, а программа предлагает обновить ПБ так как есть более свежая версия ПБ.
Новый редактор для создания пользовательских блоков.
Добавлено: 13 авг 2020, 09:38
Gordon0007
Проблема обычно в том, что название блока не меняется и забывается, что эта версия блока уже устарела и не актуально.
Сам сталкивался с такой проблемой.
Новый редактор для создания пользовательских блоков.
Добавлено: 19 авг 2020, 23:31
aidar_i
Коды в ПБ выстраиваются в цепочку, если в секции имеются несколько элементов кода
[spoiler]
Безымянный.png
[/spoiler]
Если первую строку элемента кода сделать пустым, то выстраиваются друг под другом, как надо.
[spoiler]
Безымянный3.png
[/spoiler]
Фото с ПБ
шаблона.
Новый редактор для создания пользовательских блоков.
Добавлено: 19 авг 2020, 23:34
aidar_i
Очень нужна опция перенос элементов кода в другую секцию. Создашь их и обнаруживаешь - не там, и нужно их удалять и снова создавать в другом месте. Когда их много, руки опускаются.
[spoiler]
Безымянный1.png
[/spoiler]
Новый редактор для создания пользовательских блоков.
Добавлено: 19 авг 2020, 23:57
support
aidar_i писал(а): 19 авг 2020, 23:31
Коды в ПБ выстраиваются в цепочку, если в секции имеются несколько элементов кода
[spoiler]Безымянный.png[/spoiler]
Если первую строку элемента кода сделать пустым, то выстраиваются друг под другом, как надо.
[spoiler]Безымянный3.png[/spoiler]
Ну во первых для иполнения кода это не критично)))).
Во вторых это не бага, это фитча)))))
Вот смотрите, как например вывести такую конструццию.
где вместо
a,b,c подстваляются какие то значения в зависимости от условий. причем в зависимости от условий в каждое место могут подставляться несколько значений.
поэтому в первом коде пишем
мотом идут несколько условных элементов кода для
a затем элемент кода
затем условные элементы для
b
затем элемент кода
затем условные элементы для
c
и в конце элемент
Для этого я перенос строк после элемента кода и не делал.
Отправлено спустя 2 минуты 48 секунд:
Gordon0007 писал(а): 13 авг 2020, 09:35
Так же есть предложение добавить информацию номера версии блока, допустим есть проект в нем уже вставил ПБ и как бы пользовался этим блоком и нашел ошибку когда начал другой проект. Вернулся к старому проекту, а программа предлагает обновить ПБ так как есть более свежая версия ПБ.
Это есть в планах, но пока не реализовано. В будущем будет. Честно говоря просто реализовать это достаточно сложно.
Новый редактор для создания пользовательских блоков.
Добавлено: 20 авг 2020, 13:43
Ardudue
[ref=#00aa00]support[/ref], сделал ПБ для расширения частоты PWM по этому примеру:
[spoiler]
Код: Выделить всё
#include <GyverPWM.h>
void setup() {
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
// Данные функции убирают один ШИМ выход у 8-ми битных таймеров, оставляя нам ШИМ пины D3, D5, D9 и D10 на ATmega328
// запустить ШИМ на D3 с частотой 66.666 Гц, режим FAST_PWM
PWM_frequency(3, 66666, FAST_PWM);
// запустить ШИМ на D5 с частотой 25'000 Гц, режим CORRECT_PWM. Сломает millis()!
PWM_frequency(5, 25000, CORRECT_PWM);
// запустить ШИМ на D9 с частотой 150'000 Гц, режим FAST_PWM
PWM_frequency(9, 150000, FAST_PWM);
// запустить ШИМ на D10 с частотой 150'000 Гц, режим FAST_PWM
PWM_frequency(10, 150000, FAST_PWM);
// пины 9 и 10 работают на одной частоте, запустить на разных не получится!
}
void loop() {
PWM_set(3, analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
PWM_set(5, analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
PWM_set(9, analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
PWM_set(10, 255 - analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
}
[/spoiler]
Но когда ставлю два ПБ, то pin на всех ПБ автоматом ставится одинаковый , при чем тот который самый последний установил.
Gyver PWM V2 FLP704.flp
Надо так
БП ШИМ.PNG
Новый редактор для создания пользовательских блоков.
Добавлено: 21 авг 2020, 02:54
support
Ardudue писал(а): 20 авг 2020, 13:43
[ref=#00aa00]support[/ref], сделал ПБ для расширения частоты PWM по этому примеру:
[spoiler]
Код: Выделить всё
#include <GyverPWM.h>
void setup() {
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
// Данные функции убирают один ШИМ выход у 8-ми битных таймеров, оставляя нам ШИМ пины D3, D5, D9 и D10 на ATmega328
// запустить ШИМ на D3 с частотой 66.666 Гц, режим FAST_PWM
PWM_frequency(3, 66666, FAST_PWM);
// запустить ШИМ на D5 с частотой 25'000 Гц, режим CORRECT_PWM. Сломает millis()!
PWM_frequency(5, 25000, CORRECT_PWM);
// запустить ШИМ на D9 с частотой 150'000 Гц, режим FAST_PWM
PWM_frequency(9, 150000, FAST_PWM);
// запустить ШИМ на D10 с частотой 150'000 Гц, режим FAST_PWM
PWM_frequency(10, 150000, FAST_PWM);
// пины 9 и 10 работают на одной частоте, запустить на разных не получится!
}
void loop() {
PWM_set(3, analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
PWM_set(5, analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
PWM_set(9, analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
PWM_set(10, 255 - analogRead(0) / 4); // заполнение регулируем потенциометром на А0 (8 бит)
}
[/spoiler]
Но когда ставлю два ПБ, то pin на всех ПБ автоматом ставится одинаковый , при чем тот который самый последний установил. Gyver PWM V2 FLP704.flp
Надо так
БП ШИМ.PNG
Если хотите что бы значения параметра было независимым для каждого экземпляра блока то эти параметры необходимо создавать в параметрах каждого экземпляра.
Почитайте тут
https://flprog.ru/bez-rubriki/helppage/ ... MainWindow.
И второе. Я к сожалению в хелпе это не осветил (исправлюсь))) ), если в коде используете однострочный комментарий типа вот такого
Код: Выделить всё
// заполнение регулируем потенциометром на А0 (8 бит)
то после такого комметнария ОБЯЗАТЕЛЬНО должна быть новая строка. Даже если это последняя строка в элементе кода. Иначе первая строка из следующего эдемента кода станет то же комментарием.
Приложил исправленный работающий ваш проект с исправленным блоком.
Gyver PWM V2 FLP704.flp
Новый редактор для создания пользовательских блоков.
Добавлено: 23 авг 2020, 16:45
Ardudue
support писал(а): 21 авг 2020, 02:54
Если хотите что бы значения параметра было независимым для каждого экземпляра блока то эти параметры необходимо создавать в параметрах каждого экземпляра.
спасибо, теперь все как у Гайвера выдает код

. Тестим дальше

Новый редактор для создания пользовательских блоков.
Добавлено: 16 окт 2020, 09:32
golloper
Такой вопрос. Как поменять очерёдность отображения параметра в блоке? В редакторе есть возможность передвигать меняя очерёдность а в конечном блоке они остаются в очерёдности их создания.
[spoiler]Такая очерёдность в редакторе
редактор.png
а так в блоке
настройки.png
[/spoiler]
Новый редактор для создания пользовательских блоков.
Добавлено: 16 окт 2020, 11:57
Naladchik
golloper писал(а): 16 окт 2020, 09:32
Как поменять очерёдность отображения параметра в блоке?
1-я страница этой же темы сообщение №15, уже было.
viewtopic.php?f=112&t=6485#p91211
Новый редактор для создания пользовательских блоков.
Добавлено: 16 окт 2020, 12:49
golloper
Спасибо. Слона то я и не заметил.
Новый редактор для создания пользовательских блоков.
Добавлено: 16 окт 2020, 16:14
Naladchik
Бывает.
Новый редактор для создания пользовательских блоков.
Добавлено: 28 окт 2020, 08:33
Ardudue
[ref=#00aa00]support[/ref], в версии 711 раскладывает include по своему
Код: Выделить всё
#include <SPI.h>
#include <Adafruit_PCD8544.h>
#include <Adafruit_GFX.h>
по фэншую должно быть вот так
Код: Выделить всё
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
include.flp
Новый редактор для создания пользовательских блоков.
Добавлено: 29 окт 2020, 11:12
Ardudue
av писал(а): 28 окт 2020, 10:03
Попробуйте строку #include <Adafruit_PCD8544.h> вставить в секцию "Конец секции "Declare" ".
все перепробовал, не раскладыват как надо, только если галку поставить что бы компилятор не видел include
Новый редактор для создания пользовательских блоков.
Добавлено: 30 окт 2020, 09:54
RedSky
Ardudue писал(а): 29 окт 2020, 11:12
только если галку поставить что бы компилятор не видел include
Так вроде так и задумано. Из справки:
[spoiler]Чек бокс «Запретить компилятору видеть #Include»(3) присутствует в тулбаре редактора элемента кода только при расположении этого элемента в секции Declare. Он предназначен для управления компилятором проекта. Если его не отметить то компилятор соберёт все строки #Include из секций Declare всех экземпляров блоков и вставит их в код скетча в том месте, которое посчитает нужным, подчиняясь своей логикой. Установка данного чек бокса сообщает компилятору, что в данном элементе кода нельзя трогать строку #Include и необходимо вставить её в скетчь в том месте, где её прописал разработчик блока. В некоторых случаях это необходимо. Например, где включение одной библиотеки должно производиться только после включения другой, от которой первая зависит. Но в этом случае возможно дублирование подключение библиотек. Это не страшно конечно, но как говорится – «не кошерно».[/spoiler]
Новый редактор для создания пользовательских блоков.
Добавлено: 30 окт 2020, 14:01
Ardudue
RedSky писал(а): 30 окт 2020, 09:54
Так вроде так и задумано. Из справки:
но тогда вшитые в ПБ библиотеки не заливает в IDE
Новый редактор для создания пользовательских блоков.
Добавлено: 01 ноя 2020, 12:41
Dryundel
Столкнулся с проблемой использования библиотек прикрепленных к пользовательским блокам.
Суть проблемы связана с версией библиотеки и состоит в следующем:
Если в IDE уже установлена более старая версия библиотеки с тем же именем, то вшитая в блок более новая библиотека не подменяет уже установленную в IDE. Соответственно при компиляции (заливке) используется именно та, старая библиотека из IDE. В связи с чем возникают ошибки.
[ref=#00aa00]support[/ref], Сергей, возможно ли решить данную проблему, используя к примеру файл library.properties, присутсвующий в большинстве обновляемых библиотек?
Возможно ли использовать к примеру параметр version= из данного файла для проверки и сравнения с установленной версией библиотеки?
И в случае если в ПБ вшита более новая версия, логично было бы заменять уже установленную на свежую.
Кроме этого, в проекте могут присутствовать несколько блоков, с разными версиями одной и той же библиотеки.
Было бы здорово перезаливать в IDE наиболее свежую из них.
Эта проблема относится и к базовой версии редактора ПБ.
Новый редактор для создания пользовательских блоков.
Добавлено: 01 ноя 2020, 15:27
rw6cm
Dryundel писал(а): 01 ноя 2020, 12:41
И в случае если в ПБ вшита более новая версия, логично было бы заменять уже установленную на свежую.
И все более старые блоки перестанут работать ))
(Пример с библиотекой json, перешла с 5 на 6 версию и сотни скетчей перестали работать)
Здесь как вариант если пристегнута библиотека к блоку, использовать именно ее, не трогая другие.
Например чтобы перед компиляцией флп создавал папку, клал в нее библиотеки с блоков и сформированный скетч, а после передавал IDE.
При этом в блоке указывать библиотеки в "", а не <>
Иначе для себя в этом ни какой пользы не увидел, (сплошная путаница, и громадный вес проектов) и давно этим не пользуюсь.
Новый редактор для создания пользовательских блоков.
Добавлено: 01 ноя 2020, 17:21
Dryundel
rw6cm писал(а): 01 ноя 2020, 15:27
И все более старые блоки перестанут работать ))
Как правило новые библиотеки поддерживают функции предыдущих версий.
Конечно же есть исключения. Но исключения лишь подтверждают правила.
rw6cm писал(а): 01 ноя 2020, 15:27
Например чтобы перед компиляцией флп создавал папку, клал в нее библиотеки с блоков и сформированный скетч, а после передавал IDE.
[ref=#ff8000]rw6cm[/ref], отличный вариант! Тем более FLProg уже создает такую временную папку. Осталось только сложить в нее все библиотеки из блоков проекта.
[ref=#00aa00]support[/ref], Сергей, это возможно сделать?
Отправлено спустя 8 минут 10 секунд:
rw6cm писал(а): 01 ноя 2020, 15:27
Иначе для себя в этом ни какой пользы не увидел, (сплошная путаница, и громадный вес проектов) и давно этим не пользуюсь.
Если библиотека из ПБ будет попадать во временную папку со скетчем, путаницы уже не будет.
А по поводу громадного веса, это уже на совести разработчиков блоков. Если перед тем как прикрепить библиотеку к блоку, выкинуть из нее все примеры и прочий мусор, то и вес уменьшиться.
А вот пользоваться этим или нет, дело сугубо личное. И для новичка, скачавшего блок без требующейся библиотеки, становится проблемой ошибка выданная IDE.
Новый редактор для создания пользовательских блоков.
Добавлено: 01 ноя 2020, 20:26
Phazz
Вес проекта не является существенной проблемой. Поэтому вариант с отдельной папкой вполне себе рабочий.