ЭкоСреда ecoins

Мультиплатформенная среда реального времени - библиотеки, блоки, примеры

WildCat
Лейтенант
Сообщения: 425
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

ЭкоСреда ecoins

#721

Сообщение WildCat » 30.03.2023{, 13:03}

pipapsix, попробуйте блоки из простого редактора.
У меня на блоках nxt из проф редактора тоже ошибки были.

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

ЭкоСреда ecoins

#722

Сообщение pipapsix » 30.03.2023{, 13:09}

WildCat писал(а):
30.03.2023{, 13:03}
pipapsix, попробуйте блоки из простого редактора.
У меня на блоках nxt из проф редактора тоже ошибки были.
Пример из простого редактора я проверил, компилируется, хотелось начать с чистого листа , так сказать.
А если не получится , придется так и поступить.

WildCat
Лейтенант
Сообщения: 425
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

ЭкоСреда ecoins

#723

Сообщение WildCat » 30.03.2023{, 13:18}

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

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#724

Сообщение ecoins » 30.03.2023{, 14:21}

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

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

ЭкоСреда ecoins

#725

Сообщение kulibinsvv » 30.03.2023{, 14:30}

ecoins писал(а):
30.03.2023{, 14:21}
Пока нет ясного понимания когда и в каком виде Nextion будет интегрирован в штатные блоки, и будет ли интегрирован.
Может я чего-то не понимаю?Показать
Nextion.jpg
Nextion.jpg (13.46 КБ) 823 просмотра
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#726

Сообщение ecoins » 30.03.2023{, 14:57}

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

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

ЭкоСреда ecoins

#727

Сообщение pipapsix » 30.03.2023{, 15:35}

ecoins,

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

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

WildCat
Лейтенант
Сообщения: 425
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

ЭкоСреда ecoins

#728

Сообщение WildCat » 30.03.2023{, 15:40}

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

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#729

Сообщение ecoins » 30.03.2023{, 16:42}

pipapsix писал(а):
30.03.2023{, 15:35}
Просто в новых блоках увидал передачу ФЛОАТ, думал использовать.

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

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

ЭкоСреда ecoins

#730

Сообщение pipapsix » 30.03.2023{, 17:07}

WildCat писал(а):
30.03.2023{, 15:40}
pipapsix писал(а):
30.03.2023{, 15:35}
не соображу как с запятой передать,.
х10, передать int, на стороне nxt использовать вывод float (x.val) .
Так не получилось, оказывается там еще переменная появилась xfloat она позволила вывести без делений.
СпойлерПоказать
2023-03-30_17-36-20.png
2023-03-30_17-36-20.png (6.41 КБ) 762 просмотра

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#731

Сообщение ecoins » 30.03.2023{, 22:25}

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

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

ЭкоСреда ecoins

#732

Сообщение pipapsix » 31.03.2023{, 08:35}

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

ESP32 и экран под спойлером, самый первый и простой.
СпойлерПоказать
2023-03-31_08-28-57.png

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

ЭкоСреда ecoins

#733

Сообщение vlad1451 » 06.04.2023{, 14:30}

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

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#734

Сообщение ecoins » 06.04.2023{, 15:16}

vlad1451 писал(а):
06.04.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).
-------
Буду ждать от Вас уточняющих ответов.
С уважением, Энвер.

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

ЭкоСреда ecoins

#735

Сообщение vlad1451 » 06.04.2023{, 17:00}

ecoins писал(а):
06.04.2023{, 15:16}
vlad1451 писал(а):
06.04.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
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#736

Сообщение ecoins » 06.04.2023{, 17:21}

vlad1451 писал(а):
06.04.2023{, 17:00}
Прошу прощения, вопрос конечно может и не для этого форума, может и я не так объяснил.
Не смущайтесь, другого способа донести друг другу не всегда понятное нет.
vlad1451 писал(а):
06.04.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.
Возможно не обязательно добавлять к строке, а просто дослать на вывод еще один символ.
С уважением, Энвер.

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

ЭкоСреда ecoins

#737

Сообщение vlad1451 » 06.04.2023{, 18:19}

ecoins писал(а):
06.04.2023{, 17:21}
vlad1451 писал(а):
06.04.2023{, 17:00}
Прошу прощения, вопрос конечно может и не для этого форума, может и я не так объяснил.
Не смущайтесь, другого способа донести друг другу не всегда понятное нет.
vlad1451 писал(а):
06.04.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
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#738

Сообщение ecoins » 06.04.2023{, 18:26}

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

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

ЭкоСреда ecoins

#739

Сообщение vlad1451 » 06.04.2023{, 18:31}

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

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

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#740

Сообщение ecoins » 06.04.2023{, 21:16}

Отлично, у Вас почти все получилось, получится и остальное.
Успехов.
С Уважением, Энвер.

Ответить

Вернуться в «Команда ecoins»