ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Вроде починил совместимость с 8 версией. Теперь основная версия это браузерная, все обновления будут в ней.
Engineer200
Рядовой
Сообщения: 53
Зарегистрирован: 19 дек 2025, 06:16
Имя: Александр
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Engineer200 »

Очень интересная тема.
Подсунул на сайте следующий код
Показать
// Example 51.1
// Motorola MC14489 with HP 5082-7415 5-digit, 7-segment LED display
// 2k0 resistor on MC14489 Rx pin
// John Boxall 2013 CC by-sa-nc
// define pins for data from Arduino to MC14489
// we treat it just like a 74HC595
int data = 5;
int clock = 6;
int enable = 7;
void setup()
{
pinMode(data, OUTPUT);
pinMode(enable, OUTPUT);
pinMode(clock, OUTPUT);
displayOn(); // display defaults to off at power-up
}
void displayTest1()
// displays 5.4321
{
digitalWrite(enable, LOW); // send 3 bytes to display register. See data sheet page 9
// you can also insert decimal or hexadecimal numbers in place of the binary numbers
// we're using binary as you can easily match the nibbles (4-bits) against the table
// in data sheet page 8
shiftOut(data, clock, MSBFIRST, B11010101); // D23~D16
shiftOut(data, clock, MSBFIRST, B01000011); // D15~D8
shiftOut(data, clock, MSBFIRST, B00100001); // D7~D0
digitalWrite(enable, HIGH);
delay(10);
}
void displayTest2()
// displays ABCDE
{
digitalWrite(enable, LOW); // send 3 bytes to display register. See data sheet page 9
// you can also insert decimal or hexadecimal numbers in place of the binary numbers
// we're using binary as you can easily match the nibbles (4-bits) against the table
// in data sheet page 8
shiftOut(data, clock, MSBFIRST, B10001010); // D23~D16
shiftOut(data, clock, MSBFIRST, B10111100); // D15~D8
shiftOut(data, clock, MSBFIRST, B11011110); // D7~D0
digitalWrite(enable, HIGH);
delay(10);
}
void displayOn()
// turns on display
{
digitalWrite(enable, LOW);
shiftOut(data, clock, MSBFIRST, B00000001);
digitalWrite(enable, HIGH);
delay(10);
}
void displayOff()
// turns off display
{
digitalWrite(enable, LOW);
shiftOut(data, clock, MSBFIRST, B00000000);
digitalWrite(enable, HIGH);
delay(10);
}
void loop()
{
displayOn();
displayTest1();
delay(1000);
displayTest2();
delay(1000);
displayOff();
delay(500);
}
Генератор не видит функции.
А сгенерированный и загруженный блок, вешает FLProg 9.6.9 наглухо.
:(

Отдельно загруженная программа работает.
Люблю делать то, что потом само работает.
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Спасибо за обратную связь. Вечером посмотрю
Аватара пользователя
Rovki
Полковник
Сообщения: 5984
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 95 раз
Поблагодарили: 316 раз
Контактная информация:

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Rovki »

Куча delay , убрать бы
Электронщик до мозга костей и не только
Engineer200
Рядовой
Сообщения: 53
Зарегистрирован: 19 дек 2025, 06:16
Имя: Александр
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Engineer200 »

Rovki писал(а): 09 фев 2026, 14:50 Куча delay , убрать бы
Может сразу автоматически? :)
Люблю делать то, что потом само работает.
Engineer200
Рядовой
Сообщения: 53
Зарегистрирован: 19 дек 2025, 06:16
Имя: Александр
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Engineer200 »

Rovki писал(а): 09 фев 2026, 14:50 Куча delay , убрать бы
Убрал делеи. Сгенерированный и загруженный в ФЛПрог блок дал себя рассмотреть.
А потом подвесил FLProg наглухо. :(
Люблю делать то, что потом само работает.
Engineer200
Рядовой
Сообщения: 53
Зарегистрирован: 19 дек 2025, 06:16
Имя: Александр
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Engineer200 »

Rovki писал(а): 09 фев 2026, 14:50 Куча delay , убрать бы
Далее убрал комментарии. Генератор увидел функции. :)
Люблю делать то, что потом само работает.
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Это маловероятно автоматизировать, но можно выводить предупреждения. Хотя может просто вырезать эти строки?)
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Engineer200 писал(а): 09 фев 2026, 15:11
Rovki писал(а): 09 фев 2026, 14:50 Куча delay , убрать бы
Далее убрал комментарии. Генератор увидел функции. :)
Исправил
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Engineer200 писал(а): 09 фев 2026, 15:06
А потом подвесил FLProg наглухо. :(
Исправил
Аватара пользователя
Ilich
Рядовой
Сообщения: 56
Зарегистрирован: 12 авг 2024, 11:56
Имя: Игорь
Благодарил (а): 17 раз
Поблагодарили: 27 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Ilich »

Здравствуйте!
В процессе тестирования выявлен такой баг - блок, сгенерированный с помошью утилиты, вызывает ошибку компиляции "expected unqualified-id before numeric constant"
err.jpg
Но исходный код, и блок из него сделанный вручную в базовом редакторе, компилируется без ошибок.
cc1101_test.ubi
cc1101tx_rx_(Code_-_Basic).ubi
cc1101tx_rx.ino
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Engineer200
Рядовой
Сообщения: 53
Зарегистрирован: 19 дек 2025, 06:16
Имя: Александр
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Engineer200 »

Phazz писал(а): 09 фев 2026, 20:54
Engineer200 писал(а): 09 фев 2026, 15:06
А потом подвесил FLProg наглухо. :(
Исправил
Всё класно!
Генератор принял исходник с комментариями, создал блок.
FLProg принял блок, дал возможность посмотреть, откомпилировал и даже не чихнул.
Ваш генератор отработал нормально. Спасибо.

Есть нюансы генератора:
При повторном редактировании переменной, в окошке появляются изначально заданные вещи. Т.е. если была переменная и я её преобразовал в параметр, то при повторном редактировании, в окне пишется, что это переменная.
Непонятно назначение и возможность редактирования псевдонима, ведь это дальше не идёт.

В целом генератор работает. Спасибо. :)
Люблю делать то, что потом само работает.
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Ilich писал(а): 09 фев 2026, 21:22 Здравствуйте!
В процессе тестирования выявлен такой баг - блок, сгенерированный с помошью утилиты, вызывает ошибку компиляции "expected unqualified-id before numeric constant"
err.jpg
Но исходный код, и блок из него сделанный вручную в базовом редакторе, компилируется без ошибок.
cc1101_test.ubi
cc1101tx_rx_(Code_-_Basic).ubi
cc1101tx_rx.ino
исправлено
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Engineer200 писал(а): 10 фев 2026, 07:17

Есть нюансы генератора:
При повторном редактировании переменной, в окошке появляются изначально заданные вещи. Т.е. если была переменная и я её преобразовал в параметр, то при повторном редактировании, в окне пишется, что это переменная.
Непонятно назначение и возможность редактирования псевдонима, ведь это дальше не идёт.

В целом генератор работает. Спасибо. :)
Исправил.
Псевдоним задает название входа или параметра в блоке
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Добавлена возможность установки в виде отдельного приложения
2026-02-11 09-48-22 ino2ubi — конвертер Arduino в блоки FLProg - Google Chrome.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Ilich
Рядовой
Сообщения: 56
Зарегистрирован: 12 авг 2024, 11:56
Имя: Игорь
Благодарил (а): 17 раз
Поблагодарили: 27 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Ilich »

Здравствуйте!
Снова в сгенерированном блоке возникла ошибка-
err.jpg
однако исходный код компилируется нормально.
c_menu.ino
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 205 раз
Контактная информация:

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение aidar_i »

Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Аватара пользователя
Ilich
Рядовой
Сообщения: 56
Зарегистрирован: 12 авг 2024, 11:56
Имя: Игорь
Благодарил (а): 17 раз
Поблагодарили: 27 раз

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Ilich »

aidar_i писал(а): 22 фев 2026, 18:16 Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Если исходный код компилируется штатно, значит потеря инициализации дисплея происходит на этапе генерации блока. Подобные ошибки уже имели место, выше я писал. Какой-либо системы в этом я не нашел. Я лишь хотел обратить внимание уважаемого Анатолия на этот момент.
Блок прилагаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Ilich писал(а): 22 фев 2026, 19:43
aidar_i писал(а): 22 фев 2026, 18:16 Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Если исходный код компилируется штатно, значит потеря инициализации дисплея происходит на этапе генерации блока. Подобные ошибки уже имели место, выше я писал. Какой-либо системы в этом я не нашел. Я лишь хотел обратить внимание уважаемого Анатолия на этот момент.
Блок прилагаю.
Спасибо, на следующей неделе постараюсь исправить
Аватара пользователя
Phazz
Полковник
Сообщения: 3516
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 381 раз
Поблагодарили: 262 раза

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок

Сообщение Phazz »

Ilich писал(а): 22 фев 2026, 19:43
aidar_i писал(а): 22 фев 2026, 18:16 Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Если исходный код компилируется штатно, значит потеря инициализации дисплея происходит на этапе генерации блока. Подобные ошибки уже имели место, выше я писал. Какой-либо системы в этом я не нашел. Я лишь хотел обратить внимание уважаемого Анатолия на этот момент.
Блок прилагаю.
исправлено
Ответить

Вернуться в «Электронщикам - Непрограммистам»

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

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