Страница 5 из 6
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 06 фев 2026, 11:10
Phazz
Вроде починил совместимость с 8 версией. Теперь основная версия это браузерная, все обновления будут в ней.
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 13:59
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 наглухо.
Отдельно загруженная программа работает.
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 14:25
Phazz
Спасибо за обратную связь. Вечером посмотрю
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 14:50
Rovki
Куча delay , убрать бы
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 14:59
Engineer200
Rovki писал(а): 09 фев 2026, 14:50
Куча delay , убрать бы
Может сразу автоматически?

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 15:06
Engineer200
Rovki писал(а): 09 фев 2026, 14:50
Куча delay , убрать бы
Убрал делеи. Сгенерированный и загруженный в ФЛПрог блок дал себя рассмотреть.
А потом подвесил FLProg наглухо.

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 15:11
Engineer200
Rovki писал(а): 09 фев 2026, 14:50
Куча delay , убрать бы
Далее убрал комментарии. Генератор увидел функции.

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 15:27
Phazz
Это маловероятно автоматизировать, но можно выводить предупреждения. Хотя может просто вырезать эти строки?)
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 20:53
Phazz
Engineer200 писал(а): 09 фев 2026, 15:11
Rovki писал(а): 09 фев 2026, 14:50
Куча delay , убрать бы
Далее убрал комментарии. Генератор увидел функции.
Исправил
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 20:54
Phazz
Engineer200 писал(а): 09 фев 2026, 15:06
А потом подвесил FLProg наглухо.
Исправил
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 09 фев 2026, 21:22
Ilich
Здравствуйте!
В процессе тестирования выявлен такой баг - блок, сгенерированный с помошью утилиты, вызывает ошибку компиляции "expected unqualified-id before numeric constant"
err.jpg
Но исходный код, и блок из него сделанный вручную в базовом редакторе, компилируется без ошибок.
cc1101_test.ubi
cc1101tx_rx_(Code_-_Basic).ubi
cc1101tx_rx.ino
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 10 фев 2026, 07:17
Engineer200
Phazz писал(а): 09 фев 2026, 20:54
Engineer200 писал(а): 09 фев 2026, 15:06
А потом подвесил FLProg наглухо.
Исправил
Всё класно!
Генератор принял исходник с комментариями, создал блок.
FLProg принял блок, дал возможность посмотреть, откомпилировал и даже не чихнул.
Ваш генератор отработал нормально. Спасибо.
Есть нюансы генератора:
При повторном редактировании переменной, в окошке появляются изначально заданные вещи. Т.е. если была переменная и я её преобразовал в параметр, то при повторном редактировании, в окне пишется, что это переменная.
Непонятно назначение и возможность редактирования псевдонима, ведь это дальше не идёт.
В целом генератор работает. Спасибо.

Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 10 фев 2026, 20:51
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
исправлено
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 10 фев 2026, 20:58
Phazz
Engineer200 писал(а): 10 фев 2026, 07:17
Есть нюансы генератора:
При повторном редактировании переменной, в окошке появляются изначально заданные вещи. Т.е. если была переменная и я её преобразовал в параметр, то при повторном редактировании, в окне пишется, что это переменная.
Непонятно назначение и возможность редактирования псевдонима, ведь это дальше не идёт.
В целом генератор работает. Спасибо.
Исправил.
Псевдоним задает название входа или параметра в блоке
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 11 фев 2026, 10:31
Phazz
Добавлена возможность установки в виде отдельного приложения
2026-02-11 09-48-22 ino2ubi — конвертер Arduino в блоки FLProg - Google Chrome.png
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 22 фев 2026, 15:23
Ilich
Здравствуйте!
Снова в сгенерированном блоке возникла ошибка-
err.jpg
однако исходный код компилируется нормально.
c_menu.ino
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 22 фев 2026, 18:16
aidar_i
Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 22 фев 2026, 19:43
Ilich
aidar_i писал(а): 22 фев 2026, 18:16
Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Если исходный код компилируется штатно, значит потеря инициализации дисплея происходит на этапе генерации блока. Подобные ошибки уже имели место, выше я писал. Какой-либо системы в этом я не нашел. Я лишь хотел обратить внимание уважаемого Анатолия на этот момент.
Блок прилагаю.
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 25 фев 2026, 08:45
Phazz
Ilich писал(а): 22 фев 2026, 19:43
aidar_i писал(а): 22 фев 2026, 18:16
Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Если исходный код компилируется штатно, значит потеря инициализации дисплея происходит на этапе генерации блока. Подобные ошибки уже имели место, выше я писал. Какой-либо системы в этом я не нашел. Я лишь хотел обратить внимание уважаемого Анатолия на этот момент.
Блок прилагаю.
Спасибо, на следующей неделе постараюсь исправить
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 06 мар 2026, 13:33
Phazz
Ilich писал(а): 22 фев 2026, 19:43
aidar_i писал(а): 22 фев 2026, 18:16
Похоже инициализацию дисплея потеряли, а вообще нужно блок свой выкладывать, чтобы посмотреть. Просто сравните код с блока и код со скетча, для этого не нужно разбираться в коде и подправьте.
Если исходный код компилируется штатно, значит потеря инициализации дисплея происходит на этапе генерации блока. Подобные ошибки уже имели место, выше я писал. Какой-либо системы в этом я не нашел. Я лишь хотел обратить внимание уважаемого Анатолия на этот момент.
Блок прилагаю.
исправлено