Страница 37 из 56

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 13:03
WildCat
[ref]pipapsix[/ref], попробуйте блоки из простого редактора.
У меня на блоках nxt из проф редактора тоже ошибки были.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 13:09
pipapsix
WildCat писал(а): 30 мар 2023, 13:03 [ref]pipapsix[/ref], попробуйте блоки из простого редактора.
У меня на блоках nxt из проф редактора тоже ошибки были.
Пример из простого редактора я проверил, компилируется, хотелось начать с чистого листа , так сказать.
А если не получится , придется так и поступить.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 13:18
WildCat
Я после выхода новых библиотек ещё в январе или феврале обнаружил тот баг, но сразу не сообщил, в потом забылось. Может в следующей версии исправят.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 14:21
ecoins
pipapsix писал(а): 30 мар 2023, 12:15 Добрый день. Выскакивает такая ошибка. И блоки и библиотеки последние, загрузил сегодня.
Благодарю за внимательность и поддержку этих блоков.
Поправить не сложно, но....
1.Действительно и то, что блоки на старом редакторе работают. Мы в основном на них и тестируем, иначе даже при работе только на Nextion, проект быстро вырастает в объеме.
2.Опция эта вроде редкая для использования, и мы её реализовали больше как факультативную - для тестировки и отладки программного обеспечения.
3.Пока нет ясного понимания когда и в каком виде Nextion будет интегрирован в штатные блоки, и будет ли интегрирован. Если это будет реализовано в обозримые сроки(насколько понимаю это у разработчика не самая приоритетная задача), то и делать ничего не придется. :)
4.Если неудобно в проекте один из блоков пока использовать из старой версии, то напишите - оперативно исправим.
С Уважением, Энвер.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 14:30
kulibinsvv
ecoins писал(а): 30 мар 2023, 14:21 Пока нет ясного понимания когда и в каком виде Nextion будет интегрирован в штатные блоки, и будет ли интегрирован.
[spoiler=Может я чего-то не понимаю?]
Nextion.jpg
[/spoiler]

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 14:57
ecoins
kulibinsvv писал(а): 30 мар 2023, 14:30 Может я чего-то не понимаю?
У ecoins своя реализация Nextion - другой подход.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 15:35
pipapsix
[ref]ecoins[/ref],

Просто в новых блоках увидал передачу ФЛОАТ, думал использовать.

Сейчас пока разбираюсь с прошлыми блоками, запустил, работает, не соображу как с запятой передать,.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 15:40
WildCat
pipapsix писал(а): 30 мар 2023, 15:35 не соображу как с запятой передать,.
х10, передать int, на стороне nxt использовать вывод float (x.val) .

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 16:42
ecoins
pipapsix писал(а): 30 мар 2023, 15:35 Просто в новых блоках увидал передачу ФЛОАТ, думал использовать.

Сейчас пока разбираюсь с прошлыми блоками, запустил, работает, не соображу как с запятой передать,.
Внутри блока Float преобразование v=(int32_t)float х 100.

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 17:07
pipapsix
WildCat писал(а): 30 мар 2023, 15:40
pipapsix писал(а): 30 мар 2023, 15:35 не соображу как с запятой передать,.
х10, передать int, на стороне nxt использовать вывод float (x.val) .
Так не получилось, оказывается там еще переменная появилась xfloat она позволила вывести без делений.

[spoiler]
2023-03-30_17-36-20.png
[/spoiler]

ЭкоСреда ecoins

Добавлено: 30 мар 2023, 22:25
ecoins
pipapsix писал(а): 30 мар 2023, 17:07 Так не получилось, оказывается там еще переменная появилась xfloat она позволила вывести без делений.
Завтра попробую тест выложить - какой у Вас контроллер и размер и тип Nextion?

ЭкоСреда ecoins

Добавлено: 31 мар 2023, 08:35
pipapsix
ecoins писал(а): 30 мар 2023, 22:25 Завтра попробую тест выложить - какой у Вас контроллер и размер и тип Nextion?
.Да будет очень интересно и полезно увидеть Ваш вариант. У меня получилось вывести показания с минимум лишних движений и действий. Разбираюсь дальше.

ESP32 и экран под спойлером, самый первый и простой.

[spoiler]
2023-03-31_08-28-57.png
[/spoiler]

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 14:30
vlad1451
Всем доброго времени суток. Может вопрос не по теме. Использую в проекте вывод настроечных данных в консоль. Для проекта создаётся приложение для ПК, использую Delphi. Вопрос в следующем, как отсортировать получаемые данные? Судя по получаемым данным в терминал, разделитель на строки 0A(#10). Как в принимаемой программе осуществить перевод строк, пока не получается. Процедур вывода с Com порта в Memo в сети полно, но как отловить символ конца строки?

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 15:16
ecoins
vlad1451 писал(а): 06 апр 2023, 14:30 Всем доброго времени суток. Может вопрос не по теме. Использую в проекте вывод настроечных данных в консоль. Для проекта создаётся приложение для ПК, использую Delphi. Вопрос в следующем, как отсортировать получаемые данные? Судя по получаемым данным в терминал, разделитель на строки 0A(#10). Как в принимаемой программе осуществить перевод строк, пока не получается. Процедур вывода с Com порта в Memo в сети полно, но как отловить символ конца строки?
Давайте попробуем разобрать Ваш вопрос и после этого вместе подберем решение:
1.Что такое надстроечные данные? Это данные подобранные Вами, которые нужно отобразить на консоли? Или набор данных, которые выдают блоки в FLProg типа board->cns? Последние блоки выдают перечень пинов и пр. конкретного используемого контроллера.
2.Что такое консоль? В наших блоках это подразумевает "монитор порта" в Arduino IDE (символ лупы в правом верхнем углу) - его работу поддерживают программные средства Arduino IDE. Или Вы имеете вывод через USB непосредственно в Вашу программу?
3.Действительно в реализуемых блоками вывода на консоль, в качестве символа завершения вывода используется перевод строки LF '\n' - код 10 (0xA).
Возможно в Вашей реализации к коду \'n' надо программно добавить перевод каретки CR '\r' - код 13(0xD).
-------
Буду ждать от Вас уточняющих ответов.
С уважением, Энвер.

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 17:00
vlad1451
ecoins писал(а): 06 апр 2023, 15:16
vlad1451 писал(а): 06 апр 2023, 14:30 Всем доброго времени суток. Может вопрос не по теме. Использую в проекте вывод настроечных данных в консоль. Для проекта создаётся приложение для ПК, использую Delphi. Вопрос в следующем, как отсортировать получаемые данные? Судя по получаемым данным в терминал, разделитель на строки 0A(#10). Как в принимаемой программе осуществить перевод строк, пока не получается. Процедур вывода с Com порта в Memo в сети полно, но как отловить символ конца строки?
Давайте попробуем разобрать Ваш вопрос и после этого вместе подберем решение:
1.Что такое надстроечные данные? Это данные подобранные Вами, которые нужно отобразить на консоли? Или набор данных, которые выдают блоки в FLProg типа board->cns? Последние блоки выдают перечень пинов и пр. конкретного используемого контроллера.
2.Что такое консоль? В наших блоках это подразумевает "монитор порта" в Arduino IDE (символ лупы в правом верхнем углу) - его работу поддерживают программные средства Arduino IDE. Или Вы имеете вывод через USB непосредственно в Вашу программу?
3.Действительно в реализуемых блоками вывода на консоль, в качестве символа завершения вывода используется перевод строки LF '\n' - код 10 (0xA).
Возможно в Вашей реализации к коду \'n' надо программно добавить перевод каретки CR '\r' - код 13(0xD).
-------
Буду ждать от Вас уточняющих ответов.
С уважением, Энвер.
Прошу прощения, вопрос конечно может и не для этого форума, может и я не так объяснил. Имеется небольшой стенд на Mega2560. Через блоки от ECOINS(диспетчер, консоль) данные о настройках платы (проекта) отправляю в Com порт ПК. Параллельно пишу программу для последующего общения с проектом, в данный момент используется как терминал. Использую Delphi 7,, приём данных в Memo. Код чтения с порта следующий:
procedure TForm1.BComPort1RxChar(Sender: TObject; Count: Integer);
var
S : String;
Y : Integer;
begin
BComPort1.ReadStr(S, Count);

if CRLF.Checked and (S[Length(S)] = '0A') then // Добавление перевода строки
begin
S := S + #10;
end;
RzMemo1.Text := RzMemo1.Text + S;
end;

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 17:21
ecoins
vlad1451 писал(а): 06 апр 2023, 17:00 Прошу прощения, вопрос конечно может и не для этого форума, может и я не так объяснил.
Не смущайтесь, другого способа донести друг другу не всегда понятное нет.
vlad1451 писал(а): 06 апр 2023, 17:00 if CRLF.Checked and (S[Length(S)] = '0A') then // Добавление перевода строки
begin
S := S + #10;
end;
По смыслу вроде все правильно делаете.
Не уверен что Вы верно выделяете код очередного байта для проверки-> if CRLF.Checked and (S[Length(S)] = '0A')
Не уверен что Вы нужный код добавляете - нужно 13 или 0xD.
Возможно не обязательно добавлять к строке, а просто дослать на вывод еще один символ.
С уважением, Энвер.

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 18:19
vlad1451
ecoins писал(а): 06 апр 2023, 17:21
vlad1451 писал(а): 06 апр 2023, 17:00 Прошу прощения, вопрос конечно может и не для этого форума, может и я не так объяснил.
Не смущайтесь, другого способа донести друг другу не всегда понятное нет.
vlad1451 писал(а): 06 апр 2023, 17:00 if CRLF.Checked and (S[Length(S)] = '0A') then // Добавление перевода строки
begin
S := S + #10;
end;
По смыслу вроде все правильно делаете.
Не уверен что Вы верно выделяете код очередного байта для проверки-> if CRLF.Checked and (S[Length(S)] = '0A')
Не уверен что Вы нужный код добавляете - нужно 13 или 0xD.
Возможно не обязательно добавлять к строке, а просто дослать на вывод еще один символ.
С уважением, Энвер.
Данные комбинации (13 и 0xD) пробовал, эффект тот же. И не форумах в сети тишина, как будь то язык умер.

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 18:26
ecoins
vlad1451 писал(а): 06 апр 2023, 18:19 Данные комбинации (13 и 0xD) пробовал, эффект тот же. И не форумах в сети тишина, как будь то язык умер.
В итоге нужно отправлять два кода 10,13 (0xA,0xD) - можно добавить такую опцию и непосредственно в библиотеку консоли, но пока таких планов нет.
Попробуйте все же решить проблему на стороне ПК.
С уважением, Энвер.

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 18:41
vlad1451
ecoins писал(а): 06 апр 2023, 18:26
vlad1451 писал(а): 06 апр 2023, 18:19 Данные комбинации (13 и 0xD) пробовал, эффект тот же. И не форумах в сети тишина, как будь то язык умер.
В итоге нужно отправлять два кода 10,13 (0xA,0xD) - можно добавить такую опцию и непосредственно в библиотеку консоли, но пока таких планов нет.
Попробуйте все же решить проблему на стороне ПК.
С уважением, Энвер.
На данный момент у меня других вариантов нет. Спасибо за понимание.

Отправлено спустя 10 минут 9 секунд:
Кстати, в других терминалах перевод строки работает, так что в ваших блоках думаю ни каких изменений не нужно.

ЭкоСреда ecoins

Добавлено: 06 апр 2023, 21:16
ecoins
Отлично, у Вас почти все получилось, получится и остальное.
Успехов.
С Уважением, Энвер.