Новый редактор для создания пользовательских блоков.
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Новый редактор для создания пользовательских блоков.
Так же есть предложение добавить информацию номера версии блока, допустим есть проект в нем уже вставил ПБ и как бы пользовался этим блоком и нашел ошибку когда начал другой проект. Вернулся к старому проекту, а программа предлагает обновить ПБ так как есть более свежая версия ПБ.
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Новый редактор для создания пользовательских блоков.
Проблема обычно в том, что название блока не меняется и забывается, что эта версия блока уже устарела и не актуально.
Сам сталкивался с такой проблемой.

Сам сталкивался с такой проблемой.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Коды в ПБ выстраиваются в цепочку, если в секции имеются несколько элементов кода
[spoiler] [/spoiler]
Если первую строку элемента кода сделать пустым, то выстраиваются друг под другом, как надо.
[spoiler] [/spoiler]
Фото с ПБ шаблона.
[spoiler] [/spoiler]
Если первую строку элемента кода сделать пустым, то выстраиваются друг под другом, как надо.
[spoiler] [/spoiler]
Фото с ПБ шаблона.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 19 авг 2020, 23:45, всего редактировалось 1 раз.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Очень нужна опция перенос элементов кода в другую секцию. Создашь их и обнаруживаешь - не там, и нужно их удалять и снова создавать в другом месте. Когда их много, руки опускаются.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Ну во первых для иполнения кода это не критично)))).aidar_i писал(а): 19 авг 2020, 23:31 Коды в ПБ выстраиваются в цепочку, если в секции имеются несколько элементов кода
[spoiler]Безымянный.png[/spoiler]
Если первую строку элемента кода сделать пустым, то выстраиваются друг под другом, как надо.
[spoiler]Безымянный3.png[/spoiler]
Во вторых это не бага, это фитча)))))
Вот смотрите, как например вывести такую конструццию.
Код: Выделить всё
int val = a+b+c;
поэтому в первом коде пишем
Код: Выделить всё
int val =
мотом идут несколько условных элементов кода для a затем элемент кода
Код: Выделить всё
+
затем элемент кода
Код: Выделить всё
+
и в конце элемент
Код: Выделить всё
;
Отправлено спустя 2 минуты 48 секунд:
Это есть в планах, но пока не реализовано. В будущем будет. Честно говоря просто реализовать это достаточно сложно.Gordon0007 писал(а): 13 авг 2020, 09:35 Так же есть предложение добавить информацию номера версии блока, допустим есть проект в нем уже вставил ПБ и как бы пользовался этим блоком и нашел ошибку когда начал другой проект. Вернулся к старому проекту, а программа предлагает обновить ПБ так как есть более свежая версия ПБ.
Автор программы FLProg.
-
- Лейтенант
- Сообщения: 418
- Зарегистрирован: 13 апр 2020, 18:22
- Имя: Антон
- Поблагодарили: 3 раза
Новый редактор для создания пользовательских блоков.
[ref=#00aa00]support[/ref], сделал ПБ для расширения частоты PWM по этому примеру:
[spoiler]
[/spoiler]
Но когда ставлю два ПБ, то pin на всех ПБ автоматом ставится одинаковый , при чем тот который самый последний установил. Надо так
[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 бит)
}
Но когда ставлю два ПБ, то pin на всех ПБ автоматом ставится одинаковый , при чем тот который самый последний установил. Надо так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Новый редактор для создания пользовательских блоков.
Если хотите что бы значения параметра было независимым для каждого экземпляра блока то эти параметры необходимо создавать в параметрах каждого экземпляра.Ardudue писал(а): 20 авг 2020, 13:43 [ref=#00aa00]support[/ref], сделал ПБ для расширения частоты PWM по этому примеру:
[spoiler][/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 бит) }
Но когда ставлю два ПБ, то pin на всех ПБ автоматом ставится одинаковый , при чем тот который самый последний установил. Gyver PWM V2 FLP704.flp
Надо так
БП ШИМ.PNG
Почитайте тут https://flprog.ru/bez-rubriki/helppage/ ... MainWindow.
И второе. Я к сожалению в хелпе это не осветил (исправлюсь))) ), если в коде используете однострочный комментарий типа вот такого
Код: Выделить всё
// заполнение регулируем потенциометром на А0 (8 бит)
Приложил исправленный работающий ваш проект с исправленным блоком.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
-
- Лейтенант
- Сообщения: 418
- Зарегистрирован: 13 апр 2020, 18:22
- Имя: Антон
- Поблагодарили: 3 раза
Новый редактор для создания пользовательских блоков.
спасибо, теперь все как у Гайвера выдает кодsupport писал(а): 21 авг 2020, 02:54 Если хотите что бы значения параметра было независимым для каждого экземпляра блока то эти параметры необходимо создавать в параметрах каждого экземпляра.


-
- Сержант
- Сообщения: 140
- Зарегистрирован: 28 сен 2018, 17:16
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 28 раз
Новый редактор для создания пользовательских блоков.
Такой вопрос. Как поменять очерёдность отображения параметра в блоке? В редакторе есть возможность передвигать меняя очерёдность а в конечном блоке они остаются в очерёдности их создания.
[spoiler]Такая очерёдность в редакторе а так в блоке [/spoiler]
[spoiler]Такая очерёдность в редакторе а так в блоке [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Капитан
- Сообщения: 908
- Зарегистрирован: 04 окт 2015, 19:10
- Откуда: Новосибирск
- Имя: Павел
- Благодарил (а): 20 раз
- Поблагодарили: 22 раза
Новый редактор для создания пользовательских блоков.
-
- Сержант
- Сообщения: 140
- Зарегистрирован: 28 сен 2018, 17:16
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 28 раз
Новый редактор для создания пользовательских блоков.
Спасибо. Слона то я и не заметил.Naladchik писал(а): 16 окт 2020, 11:571-я страница этой же темы сообщение №15, уже было.
viewtopic.php?f=112&t=6485#p91211
-
- Лейтенант
- Сообщения: 418
- Зарегистрирован: 13 апр 2020, 18:22
- Имя: Антон
- Поблагодарили: 3 раза
Новый редактор для создания пользовательских блоков.
[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>
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 418
- Зарегистрирован: 13 апр 2020, 18:22
- Имя: Антон
- Поблагодарили: 3 раза
Новый редактор для создания пользовательских блоков.
все перепробовал, не раскладыват как надо, только если галку поставить что бы компилятор не видел includeav писал(а): 28 окт 2020, 10:03 Попробуйте строку #include <Adafruit_PCD8544.h> вставить в секцию "Конец секции "Declare" ".
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Новый редактор для создания пользовательских блоков.
Так вроде так и задумано. Из справки:
[spoiler]Чек бокс «Запретить компилятору видеть #Include»(3) присутствует в тулбаре редактора элемента кода только при расположении этого элемента в секции Declare. Он предназначен для управления компилятором проекта. Если его не отметить то компилятор соберёт все строки #Include из секций Declare всех экземпляров блоков и вставит их в код скетча в том месте, которое посчитает нужным, подчиняясь своей логикой. Установка данного чек бокса сообщает компилятору, что в данном элементе кода нельзя трогать строку #Include и необходимо вставить её в скетчь в том месте, где её прописал разработчик блока. В некоторых случаях это необходимо. Например, где включение одной библиотеки должно производиться только после включения другой, от которой первая зависит. Но в этом случае возможно дублирование подключение библиотек. Это не страшно конечно, но как говорится – «не кошерно».[/spoiler]
-
- Лейтенант
- Сообщения: 418
- Зарегистрирован: 13 апр 2020, 18:22
- Имя: Антон
- Поблагодарили: 3 раза
Новый редактор для создания пользовательских блоков.
но тогда вшитые в ПБ библиотеки не заливает в IDE
- Dryundel
- Полковник
- Сообщения: 2431
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 30 раз
Новый редактор для создания пользовательских блоков.
Столкнулся с проблемой использования библиотек прикрепленных к пользовательским блокам.
Суть проблемы связана с версией библиотеки и состоит в следующем:
Если в IDE уже установлена более старая версия библиотеки с тем же именем, то вшитая в блок более новая библиотека не подменяет уже установленную в IDE. Соответственно при компиляции (заливке) используется именно та, старая библиотека из IDE. В связи с чем возникают ошибки.
[ref=#00aa00]support[/ref], Сергей, возможно ли решить данную проблему, используя к примеру файл library.properties, присутсвующий в большинстве обновляемых библиотек?
Возможно ли использовать к примеру параметр version= из данного файла для проверки и сравнения с установленной версией библиотеки?
И в случае если в ПБ вшита более новая версия, логично было бы заменять уже установленную на свежую.
Кроме этого, в проекте могут присутствовать несколько блоков, с разными версиями одной и той же библиотеки.
Было бы здорово перезаливать в IDE наиболее свежую из них.
Эта проблема относится и к базовой версии редактора ПБ.
Суть проблемы связана с версией библиотеки и состоит в следующем:
Если в IDE уже установлена более старая версия библиотеки с тем же именем, то вшитая в блок более новая библиотека не подменяет уже установленную в IDE. Соответственно при компиляции (заливке) используется именно та, старая библиотека из IDE. В связи с чем возникают ошибки.
[ref=#00aa00]support[/ref], Сергей, возможно ли решить данную проблему, используя к примеру файл library.properties, присутсвующий в большинстве обновляемых библиотек?
Возможно ли использовать к примеру параметр version= из данного файла для проверки и сравнения с установленной версией библиотеки?
И в случае если в ПБ вшита более новая версия, логично было бы заменять уже установленную на свежую.
Кроме этого, в проекте могут присутствовать несколько блоков, с разными версиями одной и той же библиотеки.
Было бы здорово перезаливать в IDE наиболее свежую из них.
Эта проблема относится и к базовой версии редактора ПБ.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Новый редактор для создания пользовательских блоков.
И все более старые блоки перестанут работать ))Dryundel писал(а): 01 ноя 2020, 12:41 И в случае если в ПБ вшита более новая версия, логично было бы заменять уже установленную на свежую.
(Пример с библиотекой json, перешла с 5 на 6 версию и сотни скетчей перестали работать)
Здесь как вариант если пристегнута библиотека к блоку, использовать именно ее, не трогая другие.
Например чтобы перед компиляцией флп создавал папку, клал в нее библиотеки с блоков и сформированный скетч, а после передавал IDE.
При этом в блоке указывать библиотеки в "", а не <>
Иначе для себя в этом ни какой пользы не увидел, (сплошная путаница, и громадный вес проектов) и давно этим не пользуюсь.
Win10-64, FLProg (portable)
- Dryundel
- Полковник
- Сообщения: 2431
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 30 раз
Новый редактор для создания пользовательских блоков.
Как правило новые библиотеки поддерживают функции предыдущих версий.
Конечно же есть исключения. Но исключения лишь подтверждают правила.

[ref=#ff8000]rw6cm[/ref], отличный вариант! Тем более FLProg уже создает такую временную папку. Осталось только сложить в нее все библиотеки из блоков проекта.rw6cm писал(а): 01 ноя 2020, 15:27 Например чтобы перед компиляцией флп создавал папку, клал в нее библиотеки с блоков и сформированный скетч, а после передавал IDE.
[ref=#00aa00]support[/ref], Сергей, это возможно сделать?
Отправлено спустя 8 минут 10 секунд:
Если библиотека из ПБ будет попадать во временную папку со скетчем, путаницы уже не будет.rw6cm писал(а): 01 ноя 2020, 15:27 Иначе для себя в этом ни какой пользы не увидел, (сплошная путаница, и громадный вес проектов) и давно этим не пользуюсь.
А по поводу громадного веса, это уже на совести разработчиков блоков. Если перед тем как прикрепить библиотеку к блоку, выкинуть из нее все примеры и прочий мусор, то и вес уменьшиться.
А вот пользоваться этим или нет, дело сугубо личное. И для новичка, скачавшего блок без требующейся библиотеки, становится проблемой ошибка выданная IDE.
- Phazz
- Полковник
- Сообщения: 3126
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Новый редактор для создания пользовательских блоков.
Вес проекта не является существенной проблемой. Поэтому вариант с отдельной папкой вполне себе рабочий.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость