Страница 4 из 6
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 17:49
CraCk
Пробую создать свой блок. Конечно что с ИИ))
Показать
//* Блок для получения ссылки через запрос GET.
String link = ""; // out
bool updated = false; // out
String _internalUrl = ""; // var
bool _newDataFlag = false; // var
void _qrGetHandler(FLProgWebServer *server) {
if (server->hasArgumentKey("url")) {
_internalUrl = server->argumentValueAtKey("url");
_newDataFlag = true;
server->sendDefault200Page();
} else {
server->sendDefault404Page();
}
}
void setup() {
// Используем ID сервера из вашего проекта
WebServer_125260369.addHandler("/generate", _qrGetHandler);
}
void loop() {
if (_newDataFlag) {
link = _internalUrl;
updated = true;
_newDataFlag = false;
} else {
updated = false;
}
}
В одном проекте заработал, но на втором проекте проблема, что ИД сервера WebServer_125260369 стал другой, как можно оптимизировать чтоб не было привязки к ИД сервера?
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 18:35
Phazz
не знаю, может задефайнить
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 18:46
aidar_i
Phazz писал(а): 01 фев 2026, 18:35
не знаю, может задефайнить
Эта программа только для 9 версий делает блоки? На 8 при попытке открыть Ардуино Иде вылетает, Предварительный просмотр пустой. Такие определения #define ENC_DT_PIN 6 можно в программе в параметры засунуть?
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 18:58
Phazz
aidar_i писал(а): 01 фев 2026, 18:46
Phazz писал(а): 01 фев 2026, 18:35
не знаю, может задефайнить
Эта программа только для 9 версий делает блоки? На 8 вылетает.
странно, я пробовал на 8 версии, работало. Но тестирую на 9ой. Даже не знаю как это отловить теперь
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 18:59
Phazz
Да дефайны тоже можно в параметры засунуть
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 20:00
aidar_i
Phazz писал(а): 01 фев 2026, 18:59
Да дефайны тоже можно в параметры засунуть
В 9 версии не вылетает.
Еще структуры выкидывает из декларации:
Показать
// --- КОМПАКТНЫЕ СТРУКТУРЫ ДАННЫХ ---
typedef struct {
uint8_t btn_press : 1;
uint8_t btn_last : 1;
uint8_t setup_mode : 1;
uint8_t setup_last : 1;
uint8_t display_init : 1;
uint8_t temp_changed : 1;
uint8_t set_changed : 1;
uint8_t relay_state : 1;
} Flags;
typedef struct {
int16_t current; // текущая температура x10 (например, 45 = 4.5°C)
int16_t target; // целевая температура x10 (сохраняемое значение)
int16_t last_saved; // последнее сохраненное значение для сравнения
} Temperatures;
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 20:48
Phazz
aidar_i писал(а): 01 фев 2026, 20:00
Phazz писал(а): 01 фев 2026, 18:59
Да дефайны тоже можно в параметры засунуть
В 9 версии не вылетает.
Еще структуры выкидывает из декларации:
Показать
// --- КОМПАКТНЫЕ СТРУКТУРЫ ДАННЫХ ---
typedef struct {
uint8_t btn_press : 1;
uint8_t btn_last : 1;
uint8_t setup_mode : 1;
uint8_t setup_last : 1;
uint8_t display_init : 1;
uint8_t temp_changed : 1;
uint8_t set_changed : 1;
uint8_t relay_state : 1;
} Flags;
typedef struct {
int16_t current; // текущая температура x10 (например, 45 = 4.5°C)
int16_t target; // целевая температура x10 (сохраняемое значение)
int16_t last_saved; // последнее сохраненное значение для сравнения
} Temperatures;
проверил, у меня не вылетает в 823. А можно пример кода с которым вылетает?
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 21:45
Phazz
aidar_i писал(а): 01 фев 2026, 18:46
Phazz писал(а): 01 фев 2026, 18:35
не знаю, может задефайнить
Эта программа только для 9 версий делает блоки? На 8 при попытке открыть Ардуино Иде вылетает, Предварительный просмотр пустой. Такие определения #define ENC_DT_PIN 6 можно в программе в параметры засунуть?
Обновление
V1.6
- Добавлен определение макроса define в качестве параметра работает также по комментарию //par
- Исправлена работа со структурами
- Устранены падения при открытии окна выбора файла
- Загрузка обновления теперь загружает сразу архив программы (опционально)
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 01 фев 2026, 21:49
Phazz
Проверьте обновление из программы кто-нибудь
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 02 фев 2026, 07:40
vitalik9
при запуске программы пишет что есть новая версия нажимаешь да перекидывает на страницу загрузки
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 02 фев 2026, 15:44
Ilich
Добрый день!
В созданном из приложенного примера блоке возникает ошибка "invalid argument"
scr_1.jpg
"Чистый" файл компилируется нормально.
Версия утилиты 1.6
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 02 фев 2026, 16:28
Phazz
Этот баг я уже отловил, в следующей версии будет исправлен
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 02 фев 2026, 21:35
Phazz
v1.7.2
- Порядок расположения входов, выходов и параметров зависит от того местонахождения переменной или define в коде
- Генератор кода улучшен теперь блоки содержат меньше ошибок (возможно не будет падать в версии ниже 9)
- Парсер автоматически определяет тип переменной если Define используется в качестве параметра
- Исправлено добавление параметра из Define в блок
- Исправлена обработка static
- исправлена ссылка на обновление (теперь закачка начинается сразу)
Re: Мечты и надежды
Добавлено: 02 фев 2026, 21:47
Phazz
strela писал(а): 12 янв 2026, 10:24
Phazz у вас случаем не остались исходники от этого проекта ? Очень интересует сериализация XML SIXX .ubi файлов.
Скрипты раздели по функционалу. Сборщик блоков в папке scripts/generator.py
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 04 фев 2026, 10:55
Phazz
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 04 фев 2026, 16:19
maxim79
онлайн хороший вариант нет зависимости от разрядности системы
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 04 фев 2026, 17:01
aidar_i
Phazz писал(а): 02 фев 2026, 21:35
v1.7.2
- Порядок расположения входов, выходов и параметров зависит от того местонахождения переменной или define в коде
- Генератор кода улучшен теперь блоки содержат меньше ошибок (возможно не будет падать в версии ниже 9)
- Парсер автоматически определяет тип переменной если Define используется в качестве параметра
- Исправлено добавление параметра из Define в блок
- Исправлена обработка static
- исправлена ссылка на обновление (теперь закачка начинается сразу)
D 8.2.3 так же как было, просмотр пустой, стрелка - вылет, в параметрах переменные указаны LongDataType, StringDataType .
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 04 фев 2026, 17:29
SerOv
Огромное спасибо за ваши работы. Просьба ссылочку продублировать в первом посте.
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 04 фев 2026, 18:20
golloper
В онлайн версии строчка const char* str = "Hello"; после парсинга становится const char* = str = "Hello";
Re: ino2ubi - утилита автоматического преобразования кода в пользовательский блок
Добавлено: 04 фев 2026, 22:12
Phazz
golloper писал(а): 04 фев 2026, 18:20
В онлайн версии строчка const char* str = "Hello"; после парсинга становится const char* = str = "Hello";
исправил
8 версия теперь тоже работает