[Содержание|Вперед]
|
1. Средства наблюдения и управления
"Бросая в воду камешки, смотри на круги, ими образуемые; иначе
такое бросание будет пустою забавою." К.Прутков (мысль номер 156).
Средства наблюдения и управления, реализованные в пакете
Maestro, предполагают для оператора возможность работы с
приложениями через терминальные сессии и/или на
собственной консоли ЭВМ, где исполняются приложения. Основным средством
отладки приложений
реального времени является RetroScope.
|
Для доступа к удаленным контроллерам и инструментальным
многопользовательским ЭВМ удобно использовать классическую
для UNIX-систем текстовую терминальную сессию -
надежный и простой механизм взаимодействия человек-машина,
слабо зависящий от реализации канала связи. Однако, основной
недостаток текстовой терминальной сессии - отсутствие графики. |
Эмуляторы терминалов, включенные в состав пакета Maestro,
могут работать как в текстовом (QNX-терминал) так и
в графическом (векторная графика) режимах. Графические команды
принимаются эмулятором в виде текстовых посылок в соответствии
с протоколом UNIGRAF, при этом, весь
стек нижележащих протоколов, который обеспечивает терминальную
сессию, "не знает" о том, что под видом текста по линии
фактически передаются графические команды. Таким образом,
передача графики сведена к передаче текста и не требует от
операционной системы и от сети поддержки специальных
протоколов.
|
В настоящий момент существует 2 редакции эмулятора терминала:
|
Графическая библиотека UNIGRAF предназначена для разработки
сравнительно несложных графических приложений для встраиваемых
систем. При разработке библиотеки основное внимание уделялось
следующим свойствам:
|
- Минимальный размер результирующего кода;
- Переносимость на уровне исходных текстов в другие ОС, близкая
к 100%;
- Возможность работы на собственной видеосистеме и на
удаленном графическом терминале без изменения исходного
текста;
- Простота реализации удаленного графического терминала в
различных операционных системах;
- Минимальное время, необходимое для изучения основного набора
функций библиотеки;
- Открытость и возможности к развитию без коренного изменения архитектуры;
|
Для эффективной реализации этих свойств при разработке приняты
следующие ограничения на функциональные свойства приложений:
|
- Один единственный шрифт (8x14 пикселов);
- Поддержка только английского и русского языков (кодовая
страница 866);
- Фиксированное разрешение экрана: 640x480;
- Количество цветов: 16 (стандартная палитра VGA);
- Указатель "мышь" не поддерживается.
|
1.2.1 Базовые графические примитивы
Для упрощения портирования и реализации удаленного графического
терминала все функции рисования средствами библиотечных модулей
сводятся всего лишь к шести базовым графическим примитивам:
|
- Установить координаты точки A на экране (в пикселах);
- Установить координаты точки B на экране (в пикселах);
- Поставить пиксел указанного цвета в точку A;
- Провести прямую указанного цвета между A и B;
- Закрасить указанным цветом прямоугольник с диагональю AB;
- Вывести строку символов указанным цветом начиная с точки A.
|
Все эти шесть примитивов легко реализуются в любой графической
оболочке - в результате достигается полный перенос всех
вышележащих компонентов библиотеки, т. к. компоненты библиотеки
написаны на языке С и аппаратно-независимы. |
Для передачи по линии к удаленному терминалу требуется
упаковать в текстовые посылки всего 6 типов сообщений, а на
терминальной стороне распознать их и выполнить. Частным решением
этой задачи является протокол передачи графических примитивов
UNIGRAF, реализованный в эмуляторах TEQ, QweRus, QweRus_for_Win.
1.2.2 Программный интерфейс библиотеки
Несмотря на очень узкий перечень базовых графических
примитивов, библиотека состоит из достаточно большого набора
графических функций более высокого порядка, реализующих работу
с вложенными окнами, построение в контексте "текущего" окна
в целых и/или действительных координатах, настройку масштабной
сетки действительных координат окна и пр. Из приложения можно
вызывать функции любой степени интеграции от сложных оконных до
базовых.
|
Если в графическом приложении используются для рисования только
функции библиотеки UNIGRAF то такое приложение (в части графики)
будет переносимым в той мере, в которой переносима сама
библиотека UNIGRAF.
|
Если в графическом приложении используются для рисования только
функции библиотеки UNIGRAF, то такое приложение (в части графики)
будет одинаково работать как на собственной видеокарте, так и на
удаленном терминале (естественно - с поправкой на скорость
передачи данных по терминальной линии).
Вид терминального окна QweRus с графической
программой, разработанной с помощью библиотеки UNIGRAF.
|
[Содержание|Вперед]
|