Форум » » Помогите пожалуйста с STOA... » Ответить

Помогите пожалуйста с STOA...

p.vladi: В продолжении к теме "Системная панель" - информация о процессоре, итд eoulianov посоветовал консольную команду TOP. выход команды[quote] thread=ReaLIdle utilization=99.52%[/quote] соответственно может быть как хх.хх% так и х.хх% так и х.х% F1 для STOA очень скудный, если не сказать большего.. Подскажите пожалуйста где порыть... Заранее спасибо!

Ответов - 3

eoulianov: Serial to Analog находит в потоке строку по шаблону и возвращает коды некоторых символов из неё. В этой строке могут быть либо конкретные символы 01xxh (где xx-это шестнадцатеричный код символа), либо неважно какие символы 0000h, либо тоже любые, но возвращаемые 0200h. Serial to Analog как бы "примеряет" этот шаблон на входной поток, и если совпали все указанные xx, то в выходы пришлются коды всех символов, угодивших в места 0200h. Что такое "поток"? Это последовательность всех символов, передаваемых этим serial. Даже если они приходили частями. Пример. В параметрах указано 0200h, 0000h, 0133h, и на rx$ приходят строки "\x00\x11\x22\x33\x33", "" (пустая строка), "\x33\x44" На выходе получим сначала 11h - когда сработает шаблон на подстроку "\x11\x22\x33" В следующую же logic wave на выходе станет 22h, потому что в этой же строке шаблон совпал и с подстрокой "\x22\x33\x33" Когда придёт пустая строка, ничего не случится. А вот когда через 10 минут придёт ещё строка "\x33\x44", то сработает шаблон на "\x33\x33\x33", и на выходе станет 33h. А что именно из той строки хотите выковырять? откусите с помощью Serial Substring что между = и % - и оставьте строкой.. Serial to Analog на диво неудобный для этой цели символ: во-первых он работает с жёсткой длины шаблонами (и значит для xx.xx и x.xx нужно два разных stoa), во-вторых вы получите ASCII код нескольких цифр, а превращать потом их в analog в SIMPL - уже арифметика с Analog DivMod и Analog Sum.

Игорь K.: По "следам прошлых публикаций" пытался вычислять целое число загрузки в %% так: String_input In$[100]; Analog_output CPU1; Change In$ { IF(find("ReaLIdle", In$) > 0) // Поджидаем, пока не появится строка, обозначающая искомый параметр. In$=GATHER("\x0D\x0A", In$); // Обрезание всего, что после строки с Idle процессора. { CPU1=ATOI(In$); // Вывод наружу целого числа искомого параметра RealIdle, числа до запятой. } } Далее, по кускам добираемся до того, что после запятой.

p.vladi: По эстетическим причинам (Simpl+ жрёт больше ресурсов) пытаюсь делать совершенно все модули в Simpl. пока получается :-) Но за этот пример большое спасибо! если в Simp не получиться, попробую это!




полная версия страницы