FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Понедельник, 11.12.2017, 12:24
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей, Олег, Anydy 
Форум » Основной » Спросить у знатоков » Не получается блок пользователя (Блок не корректен | Блок не изменён)
Не получается блок пользователя
Iron Дата: Суббота, 25.11.2017, 23:38 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 1
Репутация: 1
Статус: Offline
Нужна помощь.
Блок не отправляется на компиляцию, в низу редактора блока красная надпись"Блок не корректен | Блок не изменён"

Что неверно в блоке.
Опасаюсь, что без знаний Си  много чего неверно  wacko .

Выкладываю проект блока и источник.

С уважением.
Прикрепления: mlt_receive.txt(5Kb)
 
Mikhail72 Дата: Суббота, 25.11.2017, 23:49 | Сообщение # 2
Сержант
Группа: Проверенные
Сообщений: 42
Награды: 4
Репутация: 2
Статус: Offline
Такая надпись может появиться из-за незаполненного параметра пользователя, например. Но если блок добавить на плату и заполнить все необходимые параметры проект должен скомпилироваться.
 
Iron Дата: Суббота, 25.11.2017, 23:59 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 1
Репутация: 1
Статус: Offline
Удалил единственный пользовательский параметр , не помогло sad
 
Mikhail72 Дата: Воскресенье, 26.11.2017, 00:00 | Сообщение # 4
Сержант
Группа: Проверенные
Сообщений: 42
Награды: 4
Репутация: 2
Статус: Offline
А где проект блока?
 
Iron Дата: Воскресенье, 26.11.2017, 00:02 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 1
Репутация: 1
Статус: Offline
Прошу пардон
Прикрепления: mlt_receive-COD.ubi(50Kb)
 
Mikhail72 Дата: Воскресенье, 26.11.2017, 00:30 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 42
Награды: 4
Репутация: 2
Статус: Offline
Я думаю, это из-за несовершенства редактора, видимо он считает недопустимой секцию Declare с таким содержимым, т.к. при создании нового блока после вставки кода в данную секцию блок становится некорректным при добавлении объединения(union), если его удалить в вашем блоке, то блок становится корректным. Может кто-то из генералов знает как это обыграть, у меня пока не хватает знаний в этой области.

Сообщение отредактировал Mikhail72 - Воскресенье, 26.11.2017, 01:03
 
Dev1 Дата: Воскресенье, 26.11.2017, 01:04 | Сообщение # 7
Генерал-лейтенант
Группа: Проверенные
Сообщений: 683
Награды: 13
Репутация: 17
Статус: Online
Читаем пост №51 и делаем как там написано.

И переносим код правильно, без лишних скобок... facepalm 
В SetupSection вставляем 
Код
pinMode(IR_SENSOR_PIN, INPUT);
   Serial.begin(9600);
   Serial.println("Ready...");
 
а не 

Код
{
   pinMode( IR_SENSOR_PIN , INPUT);
   }

Так же в Loop и Function...
И сначала перенесите код как есть, добейтесь работы, а потом уже выкидывайте лишнее, вроде вывода инфы в Serial... Чтоб потом не спрашивать, а почему не компилиться...


Win7/10-64 FLProg v3.0.2 external IDE 1.8.5

 
rw6cm Дата: Воскресенье, 26.11.2017, 07:15 | Сообщение # 8
Генерал-полковник
Группа: Проверенные
Сообщений: 1004
Награды: 87
Репутация: 68
Статус: Offline
Iron,
В FLProg, в секции Declare, в строках с директорией #define, не вставить данные из "параметров пользователя" не под каким соусом.
В той же секции Declare пропихнуть такое через FLProg:

надо очень хорошо по изгаляться :))
и не факт что после компиляции это заработает.
плюс очень много ошибок со скобками.
Прикрепления: mlt_receive1-CO.ubi(51Kb)


Win7-32, FLProg (portable)

Сообщение отредактировал rw6cm - Воскресенье, 26.11.2017, 07:15
 
Iron Дата: Воскресенье, 26.11.2017, 08:57 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 1
Репутация: 1
Статус: Offline
rw6cm, Вы правы НЕ ЗАРАБОТАЛО facepalm .

Спасибо всем за внимание. Попробую разобраться в том что написал rw6cm, пока не чего не понял shy .
 
С уважением
 
Mikhail72 Дата: Воскресенье, 26.11.2017, 09:59 | Сообщение # 10
Сержант
Группа: Проверенные
Сообщений: 42
Награды: 4
Репутация: 2
Статус: Offline
Меня конечно удивил ответ генералов, но я ожидал большего. Я же указал в чём проблема, остальное подсказал бы компилятор Arduino IDE. Лучше бы подсказали где почитать про структуры, как их преобразовать в понятный для FLprog код. Я для начала вставил в IDE предложенный код чтобы убедится, что он компилируется, потом обнаружил возможную причину, а лишние фигурные скобки не влияют на корректность для редактора блоков.

Ironrw6cm имеет ввиду, что Вам придётся изменить секцию Declare примерно по такому принципу:

  • Убираете в Declare строку #define IR_SENSOR_PIN IR_Sensor
  • В секции Setup пишите pinMode(IR_Sensor, INPUT); // Где IR_Sensor ваш пользовательский параметр
  • А в остальных функциях, где упоминается IR_SENSOR_PIN, меняете его на IR_Sensor

Остальные параметры Вам я так понял не нужны, поэтому их можно оставить константами. Но необходимо разобраться со структурами. И преобразовать указанный rw6cm, кусок кода во что-то более понятное для FLprog, но возможно более сложное для восприятия человеком на С, т.к. структуры это предполагаю что-то типа оптимизации кода, ранее не сталкивался поэтому не подскажу.
 
Iron Дата: Воскресенье, 26.11.2017, 10:54 | Сообщение # 11
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 1
Репутация: 1
Статус: Offline
Mikhail72, Спасибо. Сейчас буду проверять
Цитата
  • Убираете в Declare строку #define IR_SENSOR_PIN IR_Sensor

  • В секции Setup пишите pinMode(IR_Sensor, INPUT); // Где IR_Sensor ваш пользовательский параметр

  • А в остальных функциях, где упоминается IR_SENSOR_PIN, меняете его на IR_Sensor


Здесь вроде даже для меня понятно. :)

Добавлено (26.11.2017, 10:54)
---------------------------------------------
Mikhail72, Первый , пункт уже был выполнен rw6cm, Выполнил второй и третий, но увы безрезультатно.
Я взялся за пользовательский блок, не зная Си из за одной проблемки. 
 Может вы что то подскажите. Я постараюсь описать ее.
    Есть такой встроенный блок IR  Ressive.  Так вот. Создаю проект в котором кроме него и индикатора 16х2 нечего нет,  он отлично читает т.е. я вижу на индикаторе правильные данные сигнала. Но как только в блоке появляются элементы логики с генераторами, логикой , счетчиками, все кирдык показаниям,точнее уйма неверных срабатываний и часть логики перестает работать.
    Может попытаться как то  с помощью реализации каких то временных задержек это реализовать. Хочу добавить что извлекая этот блок из проекта и коммутируя сигналы кнопками, логическая часть тоже работает.
    Я уже правда открывал об этом тему http://flprog.ru/forum/49-2730-1 но увы предложений не было. Так и сижу у разбитого корыта.

С уважением.

 
R2PM Дата: Воскресенье, 26.11.2017, 10:54 | Сообщение # 12
Рядовой
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
rw6cm, Доброе время суток!!
Возможно с Вами связаться по эд. почте

R2PM


R2PM

Сообщение отредактировал R2PM - Воскресенье, 26.11.2017, 11:10
 
rw6cm Дата: Воскресенье, 26.11.2017, 10:58 | Сообщение # 13
Генерал-полковник
Группа: Проверенные
Сообщений: 1004
Награды: 87
Репутация: 68
Статус: Offline
Для начала всегда надо вставить в блок код такой, какой он есть (естественно скетч должен быть рабочим).
И заставить его работать (как в оригинале)
Только после этого можно пытаться прикручивать ему входы, выходы, и т д.

Попробуйте этот блок посмотреть на ком порте, что он будет выдавать.
Если что, измените последнюю строку Declare в скетче, на вид как в оригинале,
если все работает и разницы нет, то можно приступать к модернизации кода под себя.
Прикрепления: mlt_receive2-CO.ubi(26Kb)


Win7-32, FLProg (portable)

Сообщение отредактировал rw6cm - Воскресенье, 26.11.2017, 11:02
 
Iron Дата: Воскресенье, 26.11.2017, 13:01 | Сообщение # 14
Рядовой
Группа: Проверенные
Сообщений: 18
Награды: 1
Репутация: 1
Статус: Offline
rw6cm
Таки да. Загрузил оригинальный скетч и выяснилось что у меня проблемс на первом этапе shy .

А ваш блок похоже все верно выводит на Сом порт, точно без стабильных результатов утверждать не могу.

Буду начинать все с начала.
С уважением.
 
Форум » Основной » Спросить у знатоков » Не получается блок пользователя (Блок не корректен | Блок не изменён)
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика