Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

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

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#1

Сообщение aidar_i » 30.06.2022{, 05:20}

Классический редактор ПБ, несмотря, что уже является "устаревшим", мощный и , самое главное, простой инструмент для создания ПБ (особенно начинающим), который , к тому же, имеет легкий "вес" по сравнению с профессиональным редактором.
Но у него есть недостатки, которые мешают создавать корректно некоторые ПБ:
- проверка корректности кода в DeclareSecion,
я считаю, это лишнее , тк усложняет создание блоков, приходится обходить проверку, переделывая код;
-в этой же секции библиотеки располагаются в скетче не в том порядке, как они стояли в блоке, в результате проекты, где это критично, компилируются с ошибками.
-в секции функций имя функции создается в отдельном окошке, а тело функции в основном, удобнее было бы, чтобы все было в одном, как в других секциях. При создании некоторых ПБ это очень мешает. Да ещё, проверка корректности имени функции мешается.
-при компиляции секций Setup и функций, в скетче код располагается в порядке очереди вытаскивания блоков из редактора, а не в порядке расположения их в проекте, что мешает при создании некоторых блоков.
-нет возможности самому к элементам кода приставить идентификатор, который менялся бы при повторных использованиях этих же блоков, там есть уникальный идентификатор, аналогично ему.
Вот основные недостатки этого редактора, которые лично мне мешают сильно.
В этой теме предлагается делиться секретами обхода недостатков редактора.
Только не нужно описывать все достоинства профессионального редактора, чтобы они были здесь. Тема только для обхода недостатков существующего редактора.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#21

Сообщение AlexCrane » 04.06.2023{, 18:18}

Dmitrybcr, В файле microLED.h

Было. Тут библиотека ws2812_send.h подключается до того как проверяется наличие COLOR_DEBTH и если не объявлена то объявляется по умолчанию как 3.
СпойлерПоказать
#include "ws2812_send.h"

#ifndef COLOR_DEBTH
#define COLOR_DEBTH 3 // по умолчанию 24 бита
#endif
Сделал как правильно. Сначала проверили и объявили COLOR_DEBTH, затем подключили ws2812_send.h
СпойлерПоказать
#ifndef COLOR_DEBTH
#define COLOR_DEBTH 3 // по умолчанию 24 бита
#endif

#include "ws2812_send.h"
Скинь Гайверу на почту, поправит
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Dmitrybcr
Рядовой
Сообщения: 26
Зарегистрирован: 10.01.2023{, 18:17}
Репутация: 2
Имя: Дмитрий

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#22

Сообщение Dmitrybcr » 04.06.2023{, 18:24}

AlexCrane писал(а):
04.06.2023{, 17:52}
измени файл в библиотеке
ЗАРАБОТАЛО!!!
А где ошибка ? Хочу понять . И спасибо :smile9:

Dmitrybcr
Рядовой
Сообщения: 26
Зарегистрирован: 10.01.2023{, 18:17}
Репутация: 2
Имя: Дмитрий

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#23

Сообщение Dmitrybcr » 04.06.2023{, 18:26}

AlexCrane писал(а):
04.06.2023{, 18:18}
Скинь Гайверу на почту, поправит
:smile9: :smile9: :smile9:

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#24

Сообщение AlexCrane » 04.06.2023{, 19:01}

Dmitrybcr писал(а):
04.06.2023{, 13:49}
А теперь можно более развёрнуто ответить как это работает ?
Смотрите, есть #difine которые передаются в библиотеку, тут как я понял в старом редакторе не получается задать, но часто в библиотеке эти #difine задаются по умолчанию на самые распространенные значения и их можно убрать из ПБ.

А есть #define которые используются в самом скетче (читай ПБ), вот тут их можно просто объявить в параметрах под такими-же именами и сами #define удалить. старый редактор сам подставит нужные данные из параметров.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Dmitrybcr
Рядовой
Сообщения: 26
Зарегистрирован: 10.01.2023{, 18:17}
Репутация: 2
Имя: Дмитрий

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#25

Сообщение Dmitrybcr » 04.06.2023{, 19:13}

То есть то что вы закомментировали оно в принципе не нужно ??? :smile37:
Вот по этому у меня не получилось . :smile453:
Как их отличать ???

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#26

Сообщение AlexCrane » 04.06.2023{, 19:18}

Dmitrybcr, Можно и так сказать, были заданы значения такие-же как по умолчанию в библиотеке.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Dmitrybcr
Рядовой
Сообщения: 26
Зарегистрирован: 10.01.2023{, 18:17}
Репутация: 2
Имя: Дмитрий

Классический ("старый") редактор пользовательских блоков. Маленькие хитрости.

#27

Сообщение Dmitrybcr » 04.06.2023{, 19:21}

Похоже что прийдётся всё таки учить С++ :smile37:

Ответить

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