Не получается блок пользователя

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Iron
Рядовой
Сообщения: 26
Зарегистрирован: 23 ноя 2016, 17:20

Не получается блок пользователя

Сообщение Iron »

Нужна помощь.
Блок не отправляется на компиляцию, в низу редактора блока красная надпись"Блок не корректен | Блок не изменён"

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

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

С уважением.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21 дек 2016, 06:01
Откуда: Тюмень
Имя: Михаил

Не получается блок пользователя

Сообщение Mikhail72 »

Такая надпись может появиться из-за незаполненного параметра пользователя, например. Но если блок добавить на плату и заполнить все необходимые параметры проект должен скомпилироваться.
Iron
Рядовой
Сообщения: 26
Зарегистрирован: 23 ноя 2016, 17:20

Не получается блок пользователя

Сообщение Iron »

Удалил единственный пользовательский параметр , не помогло
Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21 дек 2016, 06:01
Откуда: Тюмень
Имя: Михаил

Не получается блок пользователя

Сообщение Mikhail72 »

А где проект блока?
Iron
Рядовой
Сообщения: 26
Зарегистрирован: 23 ноя 2016, 17:20

Не получается блок пользователя

Сообщение Iron »

Прошу пардон
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21 дек 2016, 06:01
Откуда: Тюмень
Имя: Михаил

Не получается блок пользователя

Сообщение Mikhail72 »

Я думаю, это из-за несовершенства редактора, видимо он считает недопустимой секцию Declare с таким содержимым, т.к. при создании нового блока после вставки кода в данную секцию блок становится некорректным при добавлении объединения(union), если его удалить в вашем блоке, то блок становится корректным. Может кто-то из генералов знает как это обыграть, у меня пока не хватает знаний в этой области.
Последний раз редактировалось Mikhail72 26 ноя 2017, 01:03, всего редактировалось 1 раз.
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Не получается блок пользователя

Сообщение Dev1 »

Читаем пост №51 и делаем как там написано.

И переносим код правильно, без лишних скобок...  
В SetupSection вставляем 

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

pinMode(IR_SENSOR_PIN, INPUT);
   Serial.begin(9600);
   Serial.println("Ready...");
 
а не 


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

{
   pinMode( IR_SENSOR_PIN , INPUT);
   }
Так же в Loop и Function...
И сначала перенесите код как есть, добейтесь работы, а потом уже выкидывайте лишнее, вроде вывода инфы в Serial... Чтоб потом не спрашивать, а почему не компилиться...
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Не получается блок пользователя

Сообщение rw6cm »

Iron,
В FLProg, в секции Declare, в строках с директорией #define, не вставить данные из "параметров пользователя" не под каким соусом.
В той же секции Declare пропихнуть такое через FLProg:
[spoiler=Спойлер]struct mlt_command{
mlt_command_type command_type;
union {
mlt_shot_data shot_data;
mlt_system_command sys_cmd;
};
};[/spoiler]
надо очень хорошо по изгаляться :))
и не факт что после компиляции это заработает.
плюс очень много ошибок со скобками.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rw6cm 26 ноя 2017, 07:15, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
Iron
Рядовой
Сообщения: 26
Зарегистрирован: 23 ноя 2016, 17:20

Не получается блок пользователя

Сообщение Iron »

rw6cm, Вы правы НЕ ЗАРАБОТАЛО  .

Спасибо всем за внимание. Попробую разобраться в том что написал rw6cm, пока не чего не понял  .
 
С уважением
Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21 дек 2016, 06:01
Откуда: Тюмень
Имя: Михаил

Не получается блок пользователя

Сообщение Mikhail72 »

Меня конечно удивил ответ генералов, но я ожидал большего. Я же указал в чём проблема, остальное подсказал бы компилятор 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
Зарегистрирован: 23 ноя 2016, 17:20

Не получается блок пользователя

Сообщение Iron »

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://forum.flprogwiki.ru/viewtopic.php?f=49&t=2730 но увы предложений не было. Так и сижу у разбитого корыта.

С уважением.
R2PM
Рядовой
Сообщения: 16
Зарегистрирован: 18 сен 2015, 22:58
Откуда: Тула

Не получается блок пользователя

Сообщение R2PM »

rw6cm, Доброе время суток!!
Возможно с Вами связаться по эд. почте

R2PM
Последний раз редактировалось R2PM 26 ноя 2017, 11:10, всего редактировалось 1 раз.
R2PM
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Не получается блок пользователя

Сообщение rw6cm »

Для начала всегда надо вставить в блок код такой, какой он есть (естественно скетч должен быть рабочим).
И заставить его работать (как в оригинале)
Только после этого можно пытаться прикручивать ему входы, выходы, и т д.

Попробуйте этот блок посмотреть на ком порте, что он будет выдавать.
Если что, измените последнюю строку Declare в скетче, на вид как в оригинале,
если все работает и разницы нет, то можно приступать к модернизации кода под себя.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rw6cm 26 ноя 2017, 11:02, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
Iron
Рядовой
Сообщения: 26
Зарегистрирован: 23 ноя 2016, 17:20

Не получается блок пользователя

Сообщение Iron »

rw6cm
Таки да. Загрузил оригинальный скетч и выяснилось что у меня проблемс на первом этапе  .

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

Буду начинать все с начала.
С уважением.
Ответить

Вернуться в «Спросить у знатоков»

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

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