Software pro grafické terminály TERM10 a TERM03



Podobné dokumenty
udspt10r JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJ VZDÁLENÉ VARIANTY TERMINÁLU TERM10 Příručka uživatele a programátora

umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora

uterm03r JEDNOTKA IMPLEMETUJÍCÍ VZDÁLENÝ TERMINÁL TERM03 Příručka uživatele a programátora

usimt03r JEDNOTKA PRO SIMULACI VZDÁLENÉ VARIANTY TERMINÁLU TERM03 NA POČÍTAČI PC Příručka uživatele a programátora

usimt03 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM03 NA PC Příručka uživatele a programátora

usimt10 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM10 NA PC Příručka uživatele a programátora

usimt01 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM01 NA PC Příručka uživatele a programátora

PCKEYB JEDNOTKA PRO OBSLUHU KLÁVESNICE TYPU PC AT. Příručka uživatele a programátora

uioflex JEDNOTKA PRO KONFIGURACI DESKY IOFLEX01 Příručka uživatele a programátora

upct01 SIMULÁTOR TERMINÁLU TERM01 NA POČÍTAČI PC Příručka uživatele a programátora

utermchr JEDNOTKA PRO PRÁCI SE ZNAKOVÝM TERMINÁLEM Příručka uživatele a programátora

LZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora

uaterm JEDNOTKA PRO PRÁCI S ABSTRAKTNÍM TERMINÁLEM Příručka uživatele a programátora

TKeypad KNIHOVNY DEFINIC KLÁVESNIC PRO TERMINÁLY TOUCH. Příručka uživatele a programátora

Bitmaps SPRÁVCE BITMAP A POMOCNÉ FUNKCE PRO PRÁCI S BITMAPAMI. Příručka uživatele a programátora

uioct01 JEDNOTKA PRO MĚŘENÍ FREKVENCE (OTÁČEK) DESKOU IOCT01 Příručka uživatele a programátora

Maturitní otázky z předmětu PROGRAMOVÁNÍ

DiskIO JEDNOTKA PRO PRÁCI S RAM, ROM A FLASH DISKY. Příručka uživatele a programátora

G240x128 a G128x64 JEDNOTKY IMPLEMENTUJÍCÍ GRAFICKÉ OPERACE VE VIDEOPAMĚTI. Příručka uživatele a programátora

ucomm JEDNOTKA ZPROSTŘEDKOVÁVAJÍCÍ SLUŽBY BIOSU KITV40 PRO SÉRIOVOU KOMUNIKACI Příručka uživatele a programátora

Termíny a definice TERMÍNY A DEFINICE POUŽÍVANÉ V MANUÁLECH FIRMY SOFCON. Příručka uživatele a programátora

ČÁST 1. Základy 32bitového programování ve Windows

uioadda1 JEDNOTKA PRO OVLÁDÁNÍ DESEK IOADDA01, IOADDA02 A IODA01 Příručka uživatele a programátora

ALGORITMIZACE A PROGRAMOVÁNÍ

TEDrv OVLADAČE KLÁVESNICE, MYŠI A DISPLEJE EMULÁTORU TERMINÁLU PRO MS WINDOWS. Příručka uživatele a programátora

Nastavení konstant regulátoru PID

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

TERM05. Zobrazovací a ovládací panel. Příručka uživatele AUTOMATIZAČNÍ TECHNIKA

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

urtotemp JEDNOTKA PRO PŘEVODY ODPORU ČIDLA NA TEPLOTU Příručka uživatele a programátora

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Změny knihoven ZMĚNY NOVÝCH KNIHOVEN PRO PROSTŘEDÍ BP. Příručka uživatele a programátora

LibVUtils UTILITY PRO BALÍK KNIHOVEN LIBV. Příručka uživatele a programátora

uflx2pos JEDNOTKA PRO PRÁCI S INKREMENTÁLNÍMI ČIDLY V DESCE IOFLEX02 Příručka uživatele a programátora

Zobrazovací jednotky a monitory

1 Strukturované programování

Práce s textovými proměnnými v DetStudiu

MST - sběr dat pomocí mobilních terminálů on-line/off-line

Sada 1 - Základy programování

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Matematika v programovacích

Profilová část maturitní zkoušky 2017/2018

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

umenuchr JEDNOTKA PRO VYTVÁŘENÍ ZNAKOVÝCH UŽIVATELSKÝCH MENU Příručka uživatele a programátora

Vstupní požadavky, doporučení a metodické pokyny

TERM 10B TERMINÁL. Příručka uživatele

Reliance 3 design OBSAH

9. Rozšiřující desky Evb_Display a Evb_keyboard

Program a životní cyklus programu

TAOS321. Administrace. příručka správce systému. informační terminál systému JSVV

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vzdělávací obsah vyučovacího předmětu

Hospodářská informatika

APS 400 ipanel. Online informační a ovládací panel pro systém APS 400. Uživatelská příručka

KS-VARIOLF Komunikační rozhraní

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

VISUAL BASIC. Přehled témat

1. Úvod do obsluhy AutoCADu

SEMESTRÁLNÍ PROJEKT Y38PRO

udispt10 JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJE TERMINÁLU TERM10 Příručka uživatele a programátora

TW15 KONCOVÝ PRVEK MSKP. Popis výrobku Technická data Návod k obsluze. Technologie 2000 s.r.o., Jablonec nad Nisou

KOMPLEXNÍ VZDĚLÁVÁNÍ KATEDRA STROJNÍ SPŠSE a VOŠ LIBEREC

Certifikát o hodnocení

Průvodce aplikací GTS Webový portál pro správce

Komunikace AMREG s řídicími systémy AMiT (DB-Net)

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

Obslužný software. PAP ISO 9001

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

1 Webový server, instalace PHP a MySQL 13

Maturitní témata Školní rok: 2015/2016

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

OPS Paralelní systémy, seznam pojmů, klasifikace

CA21 PŘÍRUČKA UŽIVATELE

Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače

Uživatelská příručka

TÉMATICKÝ OKRUH Softwarové inženýrství

Beznárazové přepnutí aplikace

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Instalační manuál. Vnitřní videojednotka

Programovací jazyk Pascal

Úvod do problematiky. Význam počítačové grafiky. Trochu z historie. Využití počítačové grafiky

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

MRBT. Stacionární průmyslový robot EPSON C3 aplikace pro prezentaci

Certifikát o hodnocení

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Výpočetní technika

CZ_manual_ETC. manuál diagnostického programu TATRAdiagnoser

Začínáme s OS FreeDos na Kit188ER

Uživatelská příručka. Software DataPlot nástroj pro vizualizaci csv dat

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

MBI - technologická realizace modelu

Úvod. Programovací paradigmata

Uživatelský manuál. KNXgw232

Vzdálený přístup k počítačům

ChnMonitor PROGRAM PRO MONITOROVÁNÍ KOMUNIKAČNÍ LINKY S VOLBOU PROTOKOLŮ I FYZICKÉHO PŘENOSU. Příručka uživatele a programátora

Transkript:

Software pro grafické terminály TERM10 a TERM03 STAVEBNICE OBJEKTŮ Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz Verze dokumentu 1.10

Informace v tomto dokumentu byly pečlivě zkontrolovány a SofCon věří, že jsou spolehlivé, přesto SofCon nenese odpovědnost za případné nepřesnosti nebo nesprávnosti zde uvedených informací. SofCon negarantuje bezchybnost tohoto dokumentu ani programového vybavení, které je v tomto dokumentu popsané. Uživatel přebírá informace z tohoto dokumentu a odpovídající programové vybavení ve stavu, jak byly vytvořeny a sám je povinen provést validaci bezchybnosti produktu, který s použitím zde popsaného programového vybavení vytvořil. SofCon si vyhrazuje právo změny obsahu tohoto dokumentu bez předchozího oznámení a nenese žádnou odpovědnost za důsledky, které z toho mohou vyplynout pro uživatele. Datum vydání: 16.05.2003 Datum posledního uložení dokumentu: 16.05.2003 (Datum vydání a posledního uložení dokumentu musí být stejné) Upozornění: V dokumentu použité názvy výrobků, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. Copyright 2003, SofCon spol. s r.o., Milan Čečrdle

Obsah : 1.O dokumentu 4 1.1. Revize dokumentu 4 1.2. Účel dokumentu 4 1.3. Rozsah platnosti 4 1.4. Související dokumenty 4 2.Termíny a definice 4 3.Úvod 5 4.Varianty programového vybavení pro terminály 6 4.1. Lokální varianta programového vybavení 6 4.2. Vzdálená varianta programového vybavení 6 4.3. Varianta programového vybavení pro podřízenou periferii 6 5.Hierarchie objektových typů 7 5.1. Charakteristika jednotlivých objektových typů 8 6.Programové jednotky stavebnice 10 7.Hierarchie instancí objektů 12 7.1. Lokální varianta programového vybavení 12 7.2. Vzdálená varianta programového vybavení 13 7.3. Varianta programového vybavení pro podřízenou periferii 14 8.Procesy 15 8.1. Lokální varianta programového vybavení 15 8.2. Vzdálená varianta programového vybavení 15 8.3. Varianta podřízené periferie 15 9.Seznam dokumentů ke Stavebnici objektů 15 10. Seznam uživatelsky významných proměnných, procedur, funkcí, metod atd.17

1. O dokumentu 1.1. Revize dokumentu Verze dokumentu Verze SW Autor Datum vydání 1.00 Če První vydání Popis změn 1.10 Tu 16.05.2003 Úprava dokumentu dle ISO9000 1.2. Účel dokumentu Tento dokument popisuje hierarchii objektů pro vytváření grafického rozhraní aplikací s terminálem Term03 a Term10. 1.3. Rozsah platnosti Určen pro programátory a uživatele programového vybavení SofCon. 1.4. Související dokumenty Pro čtení tohoto dokumentu není potřeba číst žádný další manuál, ale je potřeba orientovat se v používání programového vybavení SofCon. 2. Termíny a definice Používané termíny a definice jsou popsány v samostatném dokumentu Termíny a definice. file:stobjek2_v0110 16.05.2003 v1.10 4 / 17

3. Úvod Terminály TERM10 a TERM03 jsou programovatelné obecně použitelné průmyslové terminály s grafickým LCD displejem a membránovou klávesnicí. Oba terminály jsou řízeny procesorem V40 programově kompatibilním s INTEL86. To umožňuje využít k jejich programování vyšší programovací jazyky původně určené pro počítače IBM-PC včetně všech ladících možností, které tyto jazyky poskytují. Pro programové vybavení terminálů je využíván programovací jazyk Turbo Pascal firmy Borland. Vzhledem k tomu, že terminály nevyužívají operační systém DOS, byly upraveny systémové knihovny jazyka Turbo Pascal tak, aby byly všude využívány přímo služby BIOSu terminálu. Programové vybavení terminálů je založeno na využití operačního systému ReTOS, který umožňuje vytvářet a spouštět více procesů paralelně běžících v reálném čase a celou úlohu tak rozdělit do několika relativně samostatných částí. Operační systém ReTOS je implementován jako samostatná jednotka v jazyce Turbo Pascal (Kernel). Je inicializován a ukončován voláním příslušných procedur uvnitř programu v Turbo Pascalu. Jednotlivé paralelně běžící procesy se pak implementují jako procedury v jazyce Turbo Pascal. Popis o.s. ReTOS je obsahem samostatného dokumentu. Programové vybavení pro terminály představuje několik jednotek obsahujících objektovou stavebnici určenou pro tvorbu komfortního grafického uživatelského rozhraní. K dispozici jsou jak objekty pro konkrétní fyzický hardware terminálů, tak pro jeho simulaci na počítači PC. Programové vybavení tak lze vyvíjet a ladit na počítači PC, přičemž displej terminálu je simulován v okénku na obrazovce monitoru a klávesnice terminálu je simulována klávesnicí počítače PC. Při přechodu k programu pro terminál pak stačí zaměnit příslušné objekty (např. podmíněným překladem) a použít systémové knihovny pro terminály. Grafické uživatelské rozhraní je tvořeno hierarchickým systémem tzv. menu-obrazovek. Vzhled menu-obrazovky se skládá ze tří obrazových rovin složených operací OR: formátovaného textového výpisu s možností volby fontu a umístění jednotlivých částí výpisu, objektů vektorové grafiky (bod, úsečka, kružnice ap.) a grafického pozadí v podobě bitmapy. Systém menu je řízen objektem menu. Každá menu-obrazovka je implementována jako procedura v jazyce Turbo Pascal - tzv. definiční procedura. V definiční proceduře uživatel přiřadí do příslušných proměnných formální popisy jejího vzhledu v textové podobě a voláním metod objektu menu definuje její chování. Vstup dat z klávesnice a výstup na displej terminálu zajišťují objekty klávesnice a displeje, jejichž funkce je zastřešena objektem terminálu. file:stobjek2_v0110 16.05.2003 v1.10 5 / 17

4. Varianty programového vybavení pro terminály Objektová stavebnice umožňuje tvorbu programového vybavení ve třech základních variantách. Každou z těchto variant lze navíc simulovat na počítači PC. Použití příslušné varianty se řídí výběrem příslušných objektových typů stavebnice. 4.1. Lokální varianta programového vybavení V lokální variantě se předpokládá použití terminálu jako samostatného řídícího systému s lokálním ovládáním a vizualizací. Jeden procesor terminálu provádí vlastní řídící algoritmus a zároveň obsluhuje systém menu, zajišťuje příjem znaků z klávesnice a zobrazení na displeji. Řídící systém (TERM10, TERM03) obr. A - lokální varianta 4.2. Vzdálená varianta programového vybavení Programové vybavení ve vzdálené variantě není určeno pro hardware terminálu, ale pro průmyslovou řídící jednotku KitV40. K této řídící jednotce je sériovou komunikační linkou připojen terminál, který pracuje ve funkci podřízené periferie (viz níže). Řídící jednotka KitV40 provádí řídící algoritmus a obsluhuje systém menu. Data pro zobrazení vysílá do terminálu prostřednictvím komunikačního kanálu. Z komunikačního kanálu jsou přijímány kódy kláves stisknutých na terminálu. Řídící systém (KitV40) Data pro zobrazení Kódy stisknutých kláves Podřízená periferie (TERM10, TERM03) obr. B - vzdálená varianta 4.3. Varianta programového vybavení pro podřízenou periferii Tato varianta je protějškem varianty předchozí. Programové vybavení je určeno pro terminál pracující ve funkci podřízené periferie. Data přijatá po komunikační lince zobrazuje na fyzický displej a vysílá kódy stisknutých kláves. Tato varianta programového vybavení je k dispozici jako firmware v podobě binárního obsahu paměti EPROM. Spolu s hardwarem terminálu tak tvoří samostatnou aplikaci - terminál jako podřízenou periferii s definovaným komunikačním rozhraním. file:stobjek2_v0110 16.05.2003 v1.10 6 / 17

Řídící systém (KitV40) Data pro zobrazení Kódy stisknutých kláves Podřízená periferie (TERM10, TERM03) obr. C - varianta podřízené periferie 5. Hierarchie objektových typů Z hlediska dědičnosti objektových typů je pro implementaci funkcí terminálu k dispozici následující hierarchická struktura, jejíž kořeny tvoří tyto abstraktní datové typy: tamenu taterm tadisp takeyb tchnvirt - obsluha obrazovek s menu - objekt, který spojuje displej a klávesnici do funkce terminálu - objekt implementující obecné vlastnosti libovolného displeje - objekt implementující obecné vlastnosti libovolné klávesnice - objekt implementující obecné vlastnosti komunikačního kanálu taterm ttermchr ttermgr ttermt10 ttermt10r ttermt10s ttermt03 ttermt03r ttermt03s takeyb tkeybt10 tsimkeybt10 tkeybt03 tsimkeybt03 tadisp tadispt10 tdispt10 tdispt10a tsimdispt10 tdispt10r tsimdispt10r tdispt03 tsimdispt03 tdispt03r tsimdispt03r tamenu tmenuchr tmenugr obr. D - Hierarchie objektových typů file:stobjek2_v0110 16.05.2003 v1.10 7 / 17

5.1. Charakteristika jednotlivých objektových typů tamenu Implementuje základní funkce ovládání pomocí menu-obrazovek. tmenuchr Rozšiřuje objekt tamenu pro práci se znakovým terminálem. tmenugr Rozšiřuje objekt tmenuchr pro práci s grafickým terminálem. Zavádí definici textových stylů (umístění a font), definici grafických objektů (kružnice, obdélník, přímka ap.) a definici pozadí obrazovky (BMP). taterm Typ taterm je kořenem hierarchie objektových typů terminálů. Definuje odkaz na instanci objektového typu tadisp a odkaz na instanci objektového typu takeyb. Typ taterm slouží především jako virtuální rozhraní pro ovládání terminálu. ttermchr Typ ttermchr implementuje v abstraktním terminálu práci s maticí znaků. Matice reprezentuje řádky a sloupce znaků pro zobrazení na displej. Je implementována práce se znakovým kursorem a editace ve vybrané části (podokénku) znakové matice. Implementována je podpora pro zobrazení obrazovek s textem nápovědy. ttermgr Typ ttermgr rozšiřuje znakový terminál o možnost zobrazení textu v různých fontech a o definici grafických objektů. Editační znaková matice zůstává, avšak jsou-li definovány textové styly, je zobrazení řízeno těmito styly a nikoliv uspořádáním ve znakové matici. Nově implementovanými funkcemi jsou funkce pro dekódování příkazů pro zadávání stylů, grafických objektů a pozadí obrazovky. Tyto příkazy se zadávají v textové podobě pomocí ESC sekvencí. ttermt10 Typ ttermt10 rozšiřuje obecný grafický terminál o funkce vázané na konkrétní hardware terminálu TERM10. ttermt10r Typ ttermt10r je modifikací typu ttermt10 určenou pro ovládání podřízeného terminálu TERM10 prostřednictvím komunikačního kanálu. Nově jsou implementovány komunikační funkce a základní obsluha terminálu. ttermt10s Typ ttermt10s je implementací terminálu TERM10 jako podřízené periferie. Nově jsou implementovány především funkce příjmu dat popisujících obsah grafické obrazovky z komunikačního kanálu. Implementace je orientována na zobrazení celých obrazovek, které jsou popsány definovanou sadou dat. Tato sada obsahuje text určený k zobrazení, definici stylů pro zobrazovaný text, definici grafických objektů a definici pozadí. Obrazovka není zobrazena, dokud není přijata úplná sada dat popisujících její obsah. file:stobjek2_v0110 16.05.2003 v1.10 8 / 17

ttermt03 Typ ttermt03 rozšiřuje obecný grafický terminál o funkce vázané na konkrétní hardware terminálu TERM03. ttermt03r Typ ttermt03r je obdobou typu ttermt10r pro terminál TERM03. ttermt03s Typ ttermt03s je obdobou typu ttermt10s pro terminál TERM03. tadisp Abstraktní displej je implementován jako displej X Y znaků. Displej může zobrazovat pozici znakového kursoru v různých módech. tadispt10 Typ tadispt10 implementuje abstraktní grafický displej terminálu TERM10. Implementace je založena na použití stránek videopaměti. Výsledná stránka pro zobrazení se před odesláním na displej skládá ze tří dílčích stránek: stránky pro vykreslení pozadí, stránky pro vykreslení grafických objektů a stránky pro výpis textu ve fontech podle definovaných stylů. Vykreslení grafického obsahu každé stránky je vázáno na změnu dat, které obsah stránky popisují. Implementace je podřízena rozměrům rastru displeje 240 128 pixelů. Komunikace s konkrétním hardware je implementována v dědicích tohoto abstraktního typu. tdispt10 Typ tdispt10 implementuje metody pro práci s konkrétním hardware displeje TERM10 Seiko (starší varianta terminálu TERM10). tdispt10a Typ tdispt10 implementuje metody pro práci s konkrétním hardware displeje TERM10 Toshiba (novější varianta terminálu TERM10). tdispt10r Typ tdispt10r používá stejný textový popis zobrazení na displeji jako tdispt10, avšak data nezobrazuje pomocí stránek videopaměti, ale odvysílá pomocí funkce svého terminálu (vlastníka instance tdispt10r) na podřízenou periferii. tsimdispt10r Funkce typu tsimdispt10r je stejná jako u tdispt10r, je však rozšířena o možnost kontrolního zobrazení v okénku na monitoru PC. tsimdispt10 Typ tsimdispt10 je určen pro ladění na počítači PC. Pro zobrazení je místo hardware terminálu TERM10 použito okénko na obrazovce monitoru PC. tdispt03 Typ tdispt03 implementuje ovládání grafického displeje TERM03. Funkce je obdobná jako u typu tdispt10, odlišný je však rozměr rastru displeje 128 64 pixelů a některé funkce vázané na konkrétní hardware. tdispt03r file:stobjek2_v0110 16.05.2003 v1.10 9 / 17

Typ tdispt03r je obdobou typu tdispt10r pro vzdálenou variantu terminálu TERM03. tsimdispt03r Typ tsimdispt03r je obdobou typu tsimdispt10r pro vzdálenou variantu terminálu TERM03. tsimdispt03 Typ tsimdispt03 je obdobou typu tsimdispt10 pro terminál TERM03. takeyb Typ takeyb je implementací abstraktní klávesnice. Implementovány jsou základní funkce pro práci s kruhovou vyrovnávací pamětí klávesnice. tkeybt10 Typ tkeybt10 implementuje ovládání klávesnice TERM10. tsimkeybt10 Typ tsimkeybt10 se používá k simulaci klávesnice terminálu TERM10 klávesnicí PC. tkeybt03 Typ tkeybt03 implementuje ovládání klávesnice TERM03. tsimkeybt03 Typ tsimkeybt03 se používá k simulaci klávesnice terminálu TERM03 klávesnicí PC. tchnvirt Typ tchnvirt se používá pro tvorbu konkrétních komunikačních jednotek. taddchnvirt Typ taddchnvirt zajišťuje dané komunikační knihovně, aby byla k aplikaci připojena a byla v ní k dispozici pro případné využití. 6. Programové jednotky stavebnice Do stavebnice příslušejí následující programové jednotky: uamenu - Obsahuje základní deklarace typů pro práci s menu, objekt tamenu. umenuchr - Obsahuje objekt tmenuchr, proceduru InitRunMenu, která spouští procesy "MENU" a "TERM". umenugr - Obsahuje objekt tmenugr. uaterm - Obsahuje základní deklarace typů pro práci s terminálem, konstanty řídících znaků (zesc, zcr, zle, zri atd.), objekty tadisp, takeyb a taterm. utermchr - Obsahuje objekt ttermchr. utermgr - Obsahuje základní deklarace typů pro práci s grafickým terminálem, objekt ttermgr a několik dalších objektů sloužících pro vnitřní potřebu objektů grafických terminálů a displejů. utermt10 - Obsahuje objekt ttermt10. file:stobjek2_v0110 16.05.2003 v1.10 10 / 17

uterm10r - Obsahuje objekt ttermt10r. uterm10s - Obsahuje objekt ttermt10s. utermt03 - Obsahuje objekt ttermt03. uterm03r - Obsahuje objekt ttermt03r. uterm03s - Obsahuje objekt ttermt03s. udispt10 - Obsahuje objekt abstraktního displeje TERM10 tadispt10, objekty tdispt10 a tdispt10a pro displeje Seiko a Toshiba a několik dalších objektů sloužících pro vnitřní potřebu tdispt10. udspt10r - Obsahuje objekt tdispt10r. udispt03 - Obsahuje objekt tdispt03 a několik dalších objektů sloužících pro vnitřní potřebu tdispt03. udspt03r - Obsahuje objekt tdispt03r. ukeybt10 - Obsahuje objekt tkeybt10. ukeybt03 - Obsahuje objekt tkeybt03. usimt10 - Obsahuje objekty tsimdispt10 a tsimkeybt10. usimt10r - Obsahuje objekt tsimdispt10r. usimt03 - Obsahuje objekty tsimdispt03 a tsimkeybt03. usimt03r - Obsahuje objekt tsimdispt03r. ChnVirt - Obsahuje objekty tchnvirt a taddchnvirt. ufont - Obsahuje základní deklarace typů pro práci s fonty. ubitmap - Obsahuje základní deklarace typů pro práci s bitmapami. urle1 - Obsahuje funkce pro kompresi a dekompresi dat metodou RLE. ucharbuf - Obsahuje několik objektů pro práci se znakovými buffery sloužícími pro vnitřní potřebu objektů terminálů. GraphWin - Obsahuje objekty a funkce pro práci s grafickými okny v os. ReTOS. Slouží pro potřeby simulátorů displejů v okně na monitoru PC. NumToStr - Obsahuje funkce pro převody čísel na řetězce. ustring - Obsahuje objekt pro práci s inicializačními stringy. G128x64 - Obsahuje deklaraci typu videopaměti o rozměru 128 64 pixelů, základní funkce pro práci s videopamětí, pole uživatelských bitmap a fontů. G240x128 - Obsahuje deklaraci typu videopaměti o rozměru 240 128 pixelů, základní funkce pro práci s videopamětí, pole uživatelských bitmap a fontů. GO128x64 - Obsahuje objekty tgraphicarea a tgrrecorder pro práci s uživatelskou videopamětí a emulaci souřadnicového zapisovače pro rozměr videopaměti 128 64 pixelů. GO240128 - Obsahuje objekty tgraphicarea a tgrrecorder pro práci s uživatelskou videopamětí a emulaci souřadnicového zapisovače pro rozměr videopaměti 240 128 pixelů. SetupT10 - Obsahuje proceduru implementující základní setup terminálu TERM10. Je určena k modifikaci podle potřeb uživatele. file:stobjek2_v0110 16.05.2003 v1.10 11 / 17

7. Hierarchie instancí objektů Z hlediska vzájemných odkazů instancí objektů jsou pro jednotlivé varianty vytvářeny následující hierarchické struktury: 7.1. Lokální varianta programového vybavení tmenugr.term ttermt10.disp.keyb tdispt10 nebo tdispt10a tkeybt10 obr. E - Hierarchie instancí - lokální varianta Příklad vytvoření instance terminálu: pmyterm:= New(pTermT10,Init(New(PDispT10,Init(nil,20,10,cAdrTerm,True)), New(PKeybT10,Init(nil,20,cAdrTerm)),cAdrTerm,nil,nil)); Simulace na počítači PC: tmenugr.term ttermt10.disp.keyb tsimdispt10 tsimkeybt10 obr. F - Hierarchie instancí - lokální varianta - simulace na PC Příklad vytvoření instance simulátoru terminálu: pmyterm:=new(ptermt10,init( New(PSimDispT10,Init(nil,20,10,cAdrTerm,true,0,0,2,2,265,165,false)), New(PSimKeybT10,Init(nil,20,cAdrTerm,FlgEnd)),cAdrTerm,nil,nil)); file:stobjek2_v0110 16.05.2003 v1.10 12 / 17

7.2. Vzdálená varianta programového vybavení TxD tmenugr.term ttermt10r.disp.keyb tdispt10r takeyb obr. G - Hierarchie instancí - vzdálená varianta Příklad vytvoření instance terminálu: RxD pmyterm:=new(ptermt10r,init(new(pdispt10r,init(nil,20,10,cadrterm,fal se)), New(PAKeyb,Init(nil,20)), cadrterm,chnterm,recbuf)); Simulace na počítači PC: TxD tmenugr.term ttermt10r.disp.keyb tsimdispt10r takeyb obr. H - Hierarchie instancí - vzdálená varianta - simulace na PC Příklad vytvoření instance simulátoru terminálu: RxD pmyterm:=init(new(psimdispt10r,init(nil,20,10,cadrterm,true, 0,0,2,2,265,165,false{DobleSize})), New(PAKeyb,Init(nil,20)), cadrterm,chnterm,recbuf)); file:stobjek2_v0110 16.05.2003 v1.10 13 / 17

7.3. Varianta programového vybavení pro podřízenou periferii TxD ttermt10s.disp.keyb tdispt10 nebo tdispt10a tkeybt10 RxD obr. I - Hierarchie instancí - podřízená periferie Příklad vytvoření instance terminálu: pmyterm:= New(pTermT10S,Init(New(pDispT10,Init(nil,20,10,cAdrTerm,true)), New(PKeybT10,Init(nil,20,cAdrTerm)),cAdrTerm,TermChnl,RecBuff)); Simulace na počítači PC: TxD ttermt10s.disp.keyb tsimdispt10 tsimkeybt10 RxD obr. J - Hierarchie instancí - podřízená periferie - simulace na PC Příklad vytvoření instance simulátoru terminálu: pmyterm:= New(pTermT10S,Init(New(pSimDispT10, Init(nil,20,10,cAdrTerm,true,0,0,2,2,265,165,false)), New(PSimKeybT10,Init(nil,20,cAdrTerm,FlEnd)), cadrterm,termchnl,recbuff)); file:stobjek2_v0110 16.05.2003 v1.10 14 / 17

8. Procesy 8.1. Lokální varianta programového vybavení V lokání variantě je činnost terminálu řízena dvěma procesy: proces "MENU" - periodicky volá metodu tmenugr.run, která ve svém těle volá metody pro přechod mezi jednotlivými obrazovkami Menu a uživatelské funkce jednotlivých obrazovek. proces "TERM" - periodicky volá metodu Tick objektu terminálu, která ve svém těle volá metody Keyb^.Tick a Disp^.Tick. Tyto metody zabezpečují vstup z klávesnice a výstup na displej terminálu. Protože mohou být metody Tick v některých případech volány pro urychlení činnosti explicitně z kontextu procesu "MENU", jsou chráněny proti vícenásobnému vstupu z více procesů současně. Tato situace je řešena jednoduchým mechanismem, který v případě běhu procedury v jednom procesu odmítne pro druhý proces provést její tělo. Tato skutečnost nemá vzhledem k periodickému provádění činnosti sémantický důsledek. 8.2. Vzdálená varianta programového vybavení Tato varianta programového vybavení je určena pro řídící systém KitV40. V řídícím systému běží stejné procesy jako v terminálu u varianty předchozí. Použitím jiných objektů je však dosaženo přesměrování výstupu na displej a vstupu z klávesnice na komunikační kanál. 8.3. Varianta podřízené periferie U této varianty, na rozdíl od předchozích, schází proces "MENU". Terminál je řízen jediným procesem "TERM". V periodicky volané metodě terminálu Tick je pak zajištěn příjem a dekódování dat pro zobrazení a vysílání kódů stisknutých kláves. 9. Seznam dokumentů ke Stavebnici objektů uaterm utermchr utermgr uamenu jednotka pro práci s abstraktním terminálem; popis objektů taterm, tadisp a takeyb. jednotka pro práci se znakovým terminálem; popis objektu ttermchr jednotka pro vytváření grafických terminálů; popis objektů tgraphicpropreader, tstylepropertyreaderwriter, tgraphicdataman a ttermgr. jednotka pro vytváření uživatelských menu; popis objektů tstackmenu a tamenu. file:stobjek2_v0110 16.05.2003 v1.10 15 / 17

umenuchr jednotka pro vytváření znakových uživatelských menu; popis objektu tmenuchr. umenugr utermt10 uterm10r uterm10s udispt10 ukeybt10 usimt10 udspt10r usimt10r utermt03 uterm03r uterm03s udispt03 ukeybt03 usimt03 udspt03r usimt03r jednotka pro vytváření grafických uživatelských menu; popis objektu tmenugr. jednotka implementující terminál TERM10; popis objektu ttermt10. jednotka implementující vzdálený terminál TERM10; popis objektu ttermt10r. jednotka implementující terminál TERM10 jako podřízenou periferii; popis objektu ttermt10s. jednotka implementující displeje terminálu TERM10; popis objektů tadispt10, tdispt10 a tdispt10a. jednotka implementující klávesnici terminálu TERM10; popis objektu tkeybt10. jednotka implementující objekty pro simulaci terminálu TERM10 ne počítači PC; popis objektů tsimdispt10 a tsimkeybt10. jednotka implementující displej vzdálené varianty terminálu TERM10; popis objektu tdispt10r. jednotka simulátor vzdálené varianty terminálu TERM10 na počítači PC; popis objektu tsimdispt10. jednotka implementující terminál TERM03; popis objektu ttermt03. jednotka implementující vzdálený terminál TERM03; popis objektu ttermt03r. jednotka implementující terminál TERM03 jako podřízenou periferii; popis objektu ttermt03s. jednotka implementující displej terminálu TERM03; popis objektu tdispt03. jednotka implementující klávesnici terminálu TERM03; popis objektu tkeybt03. jednotka implementující objekty pro simulaci terminálu TERM03 ne počítači PC; popis objektů tsimdispt03 a tsimkeybt03. jednotka implementující displej vzdálené varianty terminálu TERM10; popis objektu tdispt03r. jednotka simulátor vzdálené varianty terminálu TERM03 na počítači PC; popis objektu tsimdispt03. file:stobjek2_v0110 16.05.2003 v1.10 16 / 17

10. Seznam uživatelsky významných proměnných, procedur, funkcí, metod atd. G240x128 a G128x64 User_FontArray User_BkBmps mclear mdrawpoint mdrawline mdrawbox mfillbox mtextoutxy GO240128 a GO128x64 tgraphicarea tgraphicrecorder SetupT10 ttermt10setupdata InitSetupT10 udispt10 tdispt10.init tdispt10.done tdispt10a.init tdispt10a.done udspt10r tdispt10r.init ukeybt10 tkeybt10.init usimt10 tsimkeybt10.init tsimdispt10.init usimt10r tsimdispt10r.init Cr_SimTermT10R uterm10r ttermt10r.init ttermt10r.fllight ttermt10r.ledsign ttermt10r.dispcontr ttermt10r.bellon ttermt10r.belloff Cr_TermT10R uterm10s ttermt10s.init utermt10 ttermt10.init ttermt10.done ttermt10.fllight ttermt10.dispcontr ttermt10.ledsign ttermt10.writeout ttermt10.readin ttermt10.bellon ttermt10.belloff ttermt10.beepkeyon ttermt10.beepkeyoff ttermt10.setuserstart ttermt10.setuserstop ttermt10.setonsetupterminal ttermt10.enablerefreshout ttermt10.disablerefreshout utermgr cnumfonts BkBmpsCount tvideorop umenugr tmmenugr tmenugr.init Grafický souřadný systém Syntaxe grafického stringu Syntaxe textového stringu umenugr tmmenugr tmenugr.init Grafický souřadný systém Syntaxe grafického stringu Syntaxe textového stringu umenuchr tmmenuchr file:stobjek2_v0110 16.05.2003 v1.10 17 / 17