Версия 6.3.х

Это мой личный форум. Здесь я буду задавать вопросы пользователям, проводить опросы, и тому подобное. Темы в этом форуме могу создавать только я, Вы можете создавать комментарии и отвечать на опросы.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Версия 6.3.х

Сообщение support »

ecoins писал(а): 27 апр 2020, 22:52 Есть небольшой недостаток - если выключить из компиляции плату, на которой создан контакт, то ошибка компиляции. Не критично, но не удобно.
Упс, не знал. Поправил

Отправлено спустя 20 минут 6 секунд:
av писал(а): 27 апр 2020, 22:14 [ref=#00aa00]support[/ref], проблема при создании в коде пользовательского блока. Ситуация следующая: нужно создать два блока для TFT Adafruit ST7735 дисплея главный блок с декларированием, настройками в секции setup и второй блок вывода текста на дисплей с входами координат, цвета и т.д. Блоки созданы все в порядке редактор не ругается. При компиляции в IDE FLProg почему то добавляет к задекларированому имени свой индентефикатор, который не совпадает с именами второго блока без дополнительного индентификатора. См. скриншоты:
[spoiler title=Секция декларации]Declare.png[/spoiler]
[spoiler title=Секция Setup]Setup.png[/spoiler]
[spoiler title=Секция Loop второго блока]Loop.png[/spoiler]
[spoiler title=Схема блоков]Схема блоков.png[/spoiler]

А вот что происходит в IDE:

[spoiler title=IDE]IDE.png[/spoiler]

Примерно догадываюсь почему так происходит. Дело в том что в библиотеке пользовательских блоков есть очень похожий блок, но только для Adafruit ILI9341 и имена в секции декларации такие же. Но ведь блоки для другого дисплея не используются в данном проекте а программа все равно присваивает свои дополнительные маркеры. Попытался дать другое имя но не позволяет вероятно библиотека это сделать. Подскажите как обойти этот баг ?
Вот для решения как раз таких проблемм и создаётся новый редактор. В текущем такую функциональность не реализовать
Автор программы FLProg.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

av писал(а): 27 апр 2020, 23:30 Извиняюсь за каламбур, но мне кажется что попал в тему "У кого больше". Уважаемые форумчане давайте не будем тему по отлову ошибок и багов превращать в дискуссионный зал . Для этих целей есть соответствующие разделы.
В предыдущем посте Вы писали о проблемах ST7735. Подобных проблем подымается много и зачастую вопросы больше к не разработчику, а к библиотекам Arduino, которые в большинстве случаев написаны очень неаккуратно. Когда устройство тестируется одно - вроде проблем нет, когда проект разрастается, начинаются проблемы - то связь оборвалась, то блок тормозит, то конфликты с другими библиотеками. В большинстве случаев автор об этом наверное и знает, но решать эти задачи с общим развитием проекта сложно и трудоемко.
Разработчик на это не раз обращал внимание - все коды написаны только им или взяты внешние библиотеки как есть.

Полагаю, что один из действенных способов поддержки FLProg может быть исследования существующих библиотек, при необходимости их доработка/переработка и разработка новых библиотек, эксплуатация которых могла бы снять много из подымаемых в этой теме вопросов.
Для этого полезны и обсуждения, в том числе и в этой теме - автор её всегда видит.
А вот пресекать обсуждения, как Вы это предлагаете, на мой взгляд , путь неверный и не способствует развитию системы.
------
Тем более в последнее время форум "не страдает" от избытков тем и любое оживление во благо.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Версия 6.3.х

Сообщение rw6cm »

[ref=#00aa00]support[/ref],
При инициализации массивов, если размер массива больше 8 (когда появляется вертикальный скроил),
Строки которые ниже 8 не возможно редактировать, (поставить курсор в строку)
можно только стереть в ней информацию и заново написать.
Win10-64, FLProg (portable)
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

av писал(а): 28 апр 2020, 08:48 Повторюсь но причем здесь библиотеки не понимаю если все проблемные действия производит сама программа.
Предположу, то в Вашем случае программа FLProg ничего не производит - производит то, что создает Arduino IDE используя имеющиеся библиотеки указанных устройств. FLProg только генерит код и подключает библиотеки.
Для того, чтобы с этим разбираться, надо смотреть получаемые тексты на C++ и в них пробовать искать и выделять проблемы. Именно такая деятельность могла бы оказать прикладное значение и быть полезной для развития проекта FLProg.
Но это работа тяжелая, ею заниматься - своё время тратить, вникать в системный софт не хочется - проще написать в этой ветке (явно/неявно) разработчику, что вот у Вас в FLprog что-то не так работает, система Ваша, Вы и исправляйте, потому что это кому-то (обычно пишут о проблемах непосредственно того, кто обращается) надо...
Подобные подходы распространены, возможно в них есть и здравый смысл, но я лично такое не одобряю, считаю это потребительским подходом... без особых личных вложений.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

Блок "Детектор изменения строки"
---------------------------------------------
В тестовом примере выявилось, что переменная String для этого блока создается не в секции setup, а в начале секции loop();
---------------------------
void loop()
{

String _tempVariable_String;
--------------------------
Это внешне безобидная конструкция для переменной String на Nano отнимает 35 мкс в каждом цикле loop().
Если убрать эту переменную в секцию Setup, то проблема уйдет сама по себе.
-----------------------
P.S. При разработке системных библиотек ecoins, мы тщательно избавляемся от лишних операций - из ни собираются десятки,сотни мкс - а потом процесс выходит из под контроля.
Переменные String - эта проблема в FLProg, поскольку даже любая операция присваивания отнимает время...
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

Определение переменных в DeclareSection "uint8_t d1:4, x1:4;"
приводит к коду "uint8_t d1:4, x1:4_54531062_1;"
---
Т.е. первому элементу не присваивается уникальный номер, только последнему.
Это происходит во всех случаях, когда используются определение переменных через запятую - уникальный номер присваивается только последнему элементу.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Версия 6.3.х

Сообщение edyapd »

ecoins писал(а): 04 май 2020, 10:26 Определение переменных в DeclareSection "uint8_t d1:4, x1:4;"
приводит к коду uint8_t d1:4, x1:4_54531062_1;
Я давно заметил этот баг. Но использовал его как фичу. Таким образом можно создать глобальную переменную, которую можно использовать в нескольких блоках. Только надо вставить ещё проверку на наличие этой переменной.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

edyapd писал(а): 04 май 2020, 10:52 Я давно заметил этот баг. Но использовал его как фичу. Таким образом можно создать глобальную переменную, которую можно использовать в нескольких блоках. Только надо вставить ещё проверку на наличие этой переменной.

И вот когда возникает потребность уменьшить пространство переменных (создавать переменные размером не только кратные байту), возникают трудности.
Остроумен и любопытен подход по использованию бага как фичу. Неожиданно.
Но это ведь рискованно - а внесет разработчик изменения и начнутся проблемы... :smile37:
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Версия 6.3.х

Сообщение support »

ecoins писал(а): 04 май 2020, 14:20 Но это ведь рискованно - а внесет разработчик изменения и начнутся проблемы...
В новом редакторе этой проблеммы не будет. Я очень постараюсь выпустить семёрку бэта до 15 го числа. Редактор полностью готов, сейчас интегрирую новый блок в проект.
Блок пользователя.PNG
Блок пользователя1.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
holodaleksey
Лейтенант
Сообщения: 595
Зарегистрирован: 10 янв 2016, 13:47
Благодарил (а): 1 раз

Версия 6.3.х

Сообщение holodaleksey »

скачал на рабочий комп 6,3,1 портабл, столкнулся с невиданным ранее, типа "разорвимойдисплей", винда10. что посоветуете по настройкам интерфейса?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Версия 6.3.х

Сообщение EgorKa »

[ref]holodaleksey[/ref], так ведь есть настройки размера шрифтов в FLP.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Версия 6.3.х

Сообщение aidar_i »

av, у Вас в главном блоке должен стоять галочка на Разрешено использовать в проекте один раз!
holodaleksey
Лейтенант
Сообщения: 595
Зарегистрирован: 10 янв 2016, 13:47
Благодарил (а): 1 раз

Версия 6.3.х

Сообщение holodaleksey »

EgorKa писал(а): 04 май 2020, 19:29 [ref]holodaleksey[/ref], так ведь есть настройки размера шрифтов в FLP.
А с толщиной рамки как быть?
Да и со шрифтами я не совладал полностью, шапки поменял кое как, а с обозначениями выводов внутри блоков - все никак.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

[/quote]
В новом редакторе этой проблеммы не будет. Я очень постараюсь выпустить семёрку бэта до 15 го числа. Редактор полностью готов, сейчас интегрирую новый блок в проект.
[/quote]
Ух-ты! Многообещающе...
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Версия 6.3.х

Сообщение DrMario »

Ошибка при редактировании описания пользовательского контроллера. После чего программа выдавала что не может открыть файл, пришлось удалить и загрузить из резервной копии. Один контроллер грохнулся окончательно, не успел сохранить :(
error.log
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Версия 6.3.х

Сообщение ecoins »

support писал(а): 04 май 2020, 17:44 В новом редакторе этой проблеммы не будет. Я очень постараюсь выпустить семёрку бэта до 15 го числа. Редактор полностью готов, сейчас интегрирую новый блок в проект.
Здорово и соблазнительно.
Аватара пользователя
Cancertanly
Сержант
Сообщения: 214
Зарегистрирован: 06 апр 2016, 19:59
Откуда: bish
Имя: Антон
Поблагодарили: 1 раз

Версия 6.3.х

Сообщение Cancertanly »

[ref]holodaleksey[/ref], в новой программе ведь есть масштабирование рабочего поля. Cntrl+колесо мыши по моему
FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Версия 6.3.х

Сообщение support »

holodaleksey писал(а): 04 май 2020, 18:35 скачал на рабочий комп 6,3,1 портабл, столкнулся с невиданным ранее, типа "разорвимойдисплей", винда10. что посоветуете по настройкам интерфейса?
Именно в вашей ситуации рекомендую поиграться с настройкой параметра "шаг сетки привязки"

Отправлено спустя 4 минуты 42 секунды:
DrMario писал(а): 04 май 2020, 22:41 Ошибка при редактировании описания пользовательского контроллера. После чего программа выдавала что не может открыть файл, пришлось удалить и загрузить из резервной копии. Один контроллер грохнулся окончательно, не успел сохранить :(
error.log
Пришлите мне пожалуйста, файлик который не открывается. Если он конечно сохранился. Надо понять в чем дело. По логу понятно почему он не открывается, но вот почему в список контроллеров затесался Nil, надо разобраться.
Автор программы FLProg.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Версия 6.3.х

Сообщение DrMario »

Прошлый файл не сохранил, но ошибка повторяется, если вставить текст в описание контроллера. Текст был с даташита контроллера, копипастил с гугл переводчика. Уже удалил все подозрительные символы но ошибка повторяется. Файл прикрепить не могу, слишком большой.
Попробуйте вставить этот текст в описание контроллера, если вылета не будет, то залью куда нибудь архив.
Не в тему. Напрягает ситуация с дозволенными размерами, попахивает старыми добрым временами и компами на Z80 :D
Документ Microsoft Word.doc
Отправлено спустя 42 минуты 44 секунды:
Опять не в тему...
В некоторых контроллерах, например в STM32 номера выводов в портах I2C и SPI могут назначаться по выбору. Ну как в softserial выводы RX TX.
Вот пример с даташита для одного вывода SPI1_NSS/I2S1_WS, SPI3_NSS/I2S3_WS, USART2_CK, EVENTOUT
Сейчас в флпроге в кастомном контроллере можно назначить вывод только для одной какой нибудь шины. Будет возможность исправить этот недостаток?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Версия 6.3.х

Сообщение Ardudue »

support писал(а): 04 май 2020, 17:44 Я очень постараюсь выпустить семёрку бэта до 15 го числа. Редактор полностью готов, сейчас интегрирую новый блок в проект.
в новом редакторе на такой код не будет ругаться? в 6,3,1 сейчас не пускает volatile и функции void которые декларирую до void setup()
код:
[spoiler]

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

#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
volatile int val_fr = 533;      // длительность полупериода f=18000000/val_fr/2(Гц),
volatile int dead_time = 91;    // пауза между периодами, не должна быть меньше 92 и больше val_fr-92
byte uk=0;
int f_val, d_val; 
float rpm, dtm;
//  ********************************************************************
//  ********************************************************************
void poluper1(void) { 
PORTD&=~(1<<5);             // на пин 5 лог 0
PORTD|=(1<<4);              // на пин 4 лог 1, формируем первый полупериод
if(dead_time<92) {OCR1A=val_fr; uk=2;}  // если пауза меньше 92 тогда она формироваться не будет
else {OCR1A=val_fr-dead_time; uk=1;}  // иначе уменьшаем полупериод на длительность паузы чтоб сохранить частоту
  }
void dead_time1(void) { 
PORTD&=~(1<<4);             // на пинах 4 и 5 лог 0, формируем dead_time паузу
OCR1A=dead_time; uk=2;
  }
void poluper2(void) { 
PORTD&=~(1<<4);             // на пин 4 лог 0
PORTD|=(1<<5);              // на пин 5 лог 1, формируем второй полупериод
if(dead_time<92) {OCR1A=val_fr; uk=0;}
else {OCR1A=val_fr-dead_time; uk=3;}
  }
void dead_time2(void) { 
PORTD&=~(1<<5);             // на пинах 4 и 5 лог 0, формируем dead_time паузу
OCR1A=dead_time; uk=0;
  }
//  ********************************************************************

void (*mas[4]) (void)={poluper1, dead_time1, poluper2, dead_time2};   // массив указателей функций       

//  ********************************************************************
//  ********************************************************************
void setup()
[/spoiler]
Ответить

Вернуться в «Темы от автора»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей