Konfiguracny subor ma strukturu:
<?xml version="1.0" encoding="iso-8859-1"?>
<PrjConf>
<VERSION>1</VERSION>
<Settings1>123</Settings1>
<Settings2>456</Settings2>
...
<SettingsX>789</SettingsX>
<SettingsY>abc</SettingsY>
</PrjConf>
Posledna znama dokumentacia: smb://mamut/projekty_iso/02_PlatobnySystem-Intel/VseobecneDokumentacie/_XML/_prjconfigHP
Zoznam nastaveni:
0 - stary sposob zobrazovania meskania cez EBlMeskanie, na DP sa nic neposiela 1 - novy sposob vypoctu meskania - posiela sa na DP a podla nastavenia v DelayConfig-u sa zobrazuje bud podla casu nastaveneho v TS alebo podla vypocitaneho v = s/t
0 - pred vydajom listka sa nepyta ci sa ma vytlacit listok - dorobene pre potreby pardubic 1 - pred vytlacenim listka sa spyta ci sa ma listok vytlacit
0 default - automaticky vojde do vydaja hned ako nastane cas zaciatku spoja 1 - umoznuje pipanie pred vstupom do vydaja 2 - vstupi do vydaja a vo vydaji odpocitava cas do zaciatku 3 - ako 2, len odpocitavanie sa da zrusit klavesou ESC 4 - to iste ako nastavenie c.1, ale c.1 nedovoluje pipanie pred vstupom do vydaja < ako 1 minutu - JSI
Nastavenie reaguje len ak je v TS nastavenie 137 na 0s. Ak sa v xml-ku TimeToGo nenachadza, default hodnota je 3min Ak je hodnota > 1000, hodnota je v milisekundach Ak je hodnota < 1000, hodnota je v minutach Ak je nastavenie 137 v TS <> od 0, je v SEKUNDACH
Ako dlho pred vstupom do vydaja ma zacat pipat. AK je hodnota nad 1000 tak je udaj v milisekundach (max jedna minuta) , inak v minutach.
Uvodna obrazovka s informaciami o cisle a datumu buidlu PP a CIT, verzii a datume nahratych dat 0 - vypnute zobrazovanie uvodnej informacnej obrazovky 1 - zapnute zobrazovanie uvodnej informacnej obrazovky
Dokumentacia k systemu “PopisSpravania.pdf” autovydajovych modulov sa nachadza na mamute na ceste: smb://hades/DokumentaciaTD/VyvojovyUsek/VyvojSW/TransFare/OnboardComputer/
Ak je nastavenie nastavene na hodnotu:
Podnastavenia, ktore blizsie specifikuju ako sa budu vyhodnocovat vycitane data z karty v systeme autovydaja. Definuju sa ako atributy nodu AutoIssue a mozu nadobudat hodnoty 0 alebo 1 (vypnute alebo zapnute):
<AutoIssue Auditor="1" AutoTicketIssue="1" AutoInfo="0">1</AutoIssue>
Moznosti nastavenia autovydaja v primestskej linke na konkretny focus : - "Tariff" - autovydaj ak je focus na tarife - "Count" - autovydaj ak je focus na pocte - "OutputBS" - autovydaj ak je focus na vystupnej zastavke - "InputBS" - autovydaj ak je focus na nastupnej zastavke - "Virtual" - autovydaj nebude fungovat, pretoze v rezime vydaja sa neda focus nastavit na neexistujuce pole "Virtual"
Priklad:
<EnableAutoIssueIDS1OnFocus>
<Focus>Tariff</Focus>
</EnableAutoIssueIDS1OnFocus>
Moznosti nastavenia autovydaja na konkretny focus : - "0" - USB - "1" - RS232
zapnutie, vypnutie msg o instalacii aplikacie - "0" - zapnuta - "1" - vypnuta - default zapnuta
cas, pre zobrazenie stavu komunikacie medzi PP a slave
- "0" - okno je zobrazene stale - hodnota v ms kolko bude zobrazene okno -default 3000ms
Urcuje ci sa ma po uzavreti odpoctu palubak spojit so serverom a pokusit sa o vycitanie. Pre urcenie IP adresy servera pozri AutomaticCommunicationReqIPs.
0 - (default) neziada server o vycitanie 1 - ziada server o vycitanie
Urcuje ci sa ma po zapnuti palubakspojit so serverom a pokusit sa o vycitanie. Pre urcenie IP adresy servera pozri AutomaticCommunicationReqIPs.
0 - (default) neziada server o vycitanie 1 - ziada server o vycitanie
Urcuje na ake IP adresy posiela palubak poziadavku o vycitanie. Polozky su vo formate IP/maska (192.168.10.1/24). Ak nie je zadana ziadna IPcka, tak sa pouzije IPcka servera z ktoreho bola v dany den vykonana posledna komunikacia. Ak nebola ziadna komunikacia v dany den, pouzije sa posledna zapamatana IPcka servera s ktorym sa komunikovalo v minulosti. (Ak sa nikdy v minulosti nekomunikovalo, pouzije sa defaultna IPcka nastavena v HwConfig.xml pri zariadeni alarmsender). (v riadku moze byt uvedena iba IP adresa bez poznamky za IP adresou, lebo to nebude fungovat)
<AutomaticCommunicationReqIPs> <IP>192.168.114.96/24</IP> <!-- Jilemnice --> <IP>192.168.112.96/24</IP> <!-- Turnov --> <IP>192.168.109.96/24</IP> <!-- Semily AN --> <IP>192.168.122.96/24</IP> <!-- Ceska Lipa --> <IP>192.168.15.66/24</IP> <!-- Jicin --> <IP>192.168.16.65/24</IP> <!-- Horice --> </AutomaticCommunicationReqIPs>
Urcuje ktory prvok ma mat focus v okne vydaja vo vychodzom stave (po vstupe do vydaja, po vydani listka, …). Mozne hodnoty:
Tariff - tarifa Count - pocet listkov InputBS - nastupna zastavka OutputBS - vystupna zastavka (v MHD sa ignoruje a focus bude na tarife) DontChange - pri prechode do vychodzieho stavu sa focus nezmeni (ostane na aktualnom prvku), dostupne od eappcore.so.155.1500.1
Priklad pouzitia:
<DefaultIssueWindowFocus>DontChange</DefaultIssueWindowFocus>
0 - (defaultna hodnota)zariadenia zostanu zablkovane aj pri prichode na nasledujucu zastavku 1 - umoznuje odomknutie pri prichode na nasledujucu zastavku 2 - umoznuje odomknutie pri prichode na nasledujucu zastavku ak boli zariadenia zamknute od vodica
0 - (defaultne) zobrazuju sa hlasky o komunikacii 1 - nezobrazuju sa hlasky o komunikacii
0 - nezobrazovat 1 - (default) zobrazovat
0 - nepovoleny neplatny prikaz po vystrahe 1 - povoleny neplatny prikaz po vystrahe
Zapnutie logovania na palubnom pocitaci
Zapnutie logovania na citacke
0 - (defaultne) vypnuta kontrola 1 - zapnuta kontrola
0 - SoundParser mode - nieje potrebne mat v konfigu - defaultna hodnota 1 - SoundParserLegacy mode - pre stare verzie winada < 21 2 - SoundParserLegacyLitva - tu sa nachadzaju specialitky pre projekt Litva
mode 0 - su povolene vsetky zavody na karte vodica mode 1 - zistuje sa povoleny zavod default 1
0 - staticky jas podla konfiguracie - defaultna hodnota 1 - dynamicky jas podla senzoru
mode 0 - neblokuju sa (idol) mode 1 - blokuju sa (maribor) default 0
Maximalny pocet prestupov, ktory bude poslany na ethernetove tabule. Default hodnota je 6.
Upravuje posielanie prestupov na ethernetove tabule. Prestupy, ktore zacinaju po uplynuti nastavenej doby od casu prichodu na prestupnu zastavku, nebudu poslane tabuliam. Hodnota je v minutach. Defaultna hodnota je 1440 (jeden den).
URL adresa webservisu na ziskavanie meskani spojov (ethTable).
Nastavenie obmedzenia vydaja listkov cez hotkeye v primeste. Nastavenie je dostupne v libeappcore.so od verzie 159.0.0 a 155.1500.3.
Mozne hodnoty su:
0 - vydaj listka cez hotkey je povoleny iba v pripade, ze je focus na vystupnej zastavke (default) 1 - vydaj listka je povoleny aj v pripade ze focus nie je na vystupnej zastavke (ostatne hodnoty su povazovane za 0)
<Layout>
<DateTime> -nastavenie zobrazovaneho datetime formatu
<Format text="datum: %1" format="dd.MM.yyyy" time="5"/> - vola
<Format text="week: %2" time="4"/> - vola funkciu 2
<Format text="day: %1 week: %2" format="dd" time="4"/> - vola funkciu 2
</DateTime>
<StatusBar>
<Format pattern="%01 %02 %03 %04 %05 %06 %07" />
</StatusBar>
</Layout>
DateTime - nastavenie zobrazovaneho datetime formatu
Format - nastavenie formatu
text - zobrazovany text
format - v danom formate
time - dany cas
Status bar:
pattern : urcuje informacie ktore bude status bar zobrazovat , zapisuje sa ako postupnost znaciek %xx, kde jednotlive znacky maju vyznam:
%01 - zobrazi linku
%02 - zobrazi spoj
%03 - zobrazi protect number
%04 - zobrazi kratke meno zastavky
%05 - zobrazi cas konecnej zastavky
%06 - zobrazi cislo commandu
%07 - zobrazi linku ale cislo text (napr N81 alebo R3)
argumenty mozno akokolvek kombinovat (nezalezi na poradi) a do retazca pridavat vlastne znaky napr:
pattern="%01 / %02 aktualny cas : %05 "
mode 0 - netlaci zoznam listkov mode 1 - tlaci zoznam zastaviek a vydanych listkov po prilozeni karty revizora
mode 1 - zobrazovat potvrdzovaciu hlasku pri vydaji na prenosnu penazenku mode 0 - nezobrazovat potvrzdovaciu hlasku a vydat listok na prenosnu penazenku automaticky
mode 0 - nepipam mode 1 - povolim pipanie
type - urcuje typ ciaroveho kodu. Mozne hodnoty su:
i2of5 - Interleaved 2 of 5 - Pozor musi obsahovat parny pocet cislic! Qr - QR kod
context - urcuje umiestnenie ciaroveho kodu:
finalTicket - ciarovy kod na koncovom listku coinerClosureTicket - ciarovy kod na uzavierke mincovnika
pattern - definuje informacie, ktore ma ciarovy kod obsahovat. Zapisuje sa ako postupnost znaciek %xx, kde jednotlive znacky maju vyznam:
%01 - posledne 4 znaky cisla pokladne (strojceka) %02 - posledych 5 znakov cisla pokladne (strojceka) %03 - posledne 4 znaky cisla odpoctu %04 - posledne 4 znaky cisla vodica %05 - poslednych 5 znakov cisla vodica %06 - 5 znakov trzba bez desatinnej casti (z odvodu v mene statu sa vezme suma_cena) %07 - 3 znaky, logicke cislo trezoru ( nie dalas, napr 097 ) %08 - 6 znakov, pricom prve styri su trzba (v jednotkach meny (cele eura)) a posledne dva znaky su centy %09 - posledych 6 znakov cisla pokladne (strojceka) s prefixom 'z' %10 - poslednych 6 znakov cisla vodica s prefixom 'r' %11 - poslednych 5 znakov cisla odpoctu s prefixom 'o' %12 - 8 znakov, pricom prvych sest su trzba (v jednotkach meny (cele eura)) a posledne dva znaky su centy bez prefixu %13 - zaciatok odpoctu - 14 znakov vo formate yyyyMMddhhmmss s prefixom 'S' %14 - koniec odpoctu - 14 znakov vo formate yyyyMMddhhmmss s prefixom 'U'
Ak napriklad chceme, aby ciarovy kod na koncovom listku obsahoval poslednych 5 znakov z cisla pokladne, za tym posledne 4 znaky cisla odpoctu, a za tym poslednych 5 znakov cisla vodica, tak napiseme:
<Barcode type="i2of5" context="finalTicket" pattern="%02%03%05"/>
Ak chceme do ciaroveho kodu na tvrdo vlozit nejaku cislicu, jednoducho ju napiseme na prislusne miesto medzi znacky. Napriklad ak chceme na prvom mieste vzdy mat jednotku, napiseme:
<Barcode type="i2of5" context="finalTicket" pattern="1%06%01%03"/>
Ak chceme pattern rozdelit na viac riadkov, vlozime do textu znacku “nl” a pridame novy riadok aj do sablony listka (bar_code1 - vid popis Ticket.xml). Napriklad ak chceme mat na novom riadku trzbu (ala albacon) tak dame:
<Barcode type="i2of5" context="coinerClosureTicket" pattern="666%07%01%03nl0%0600"/>
<Barcode type="i2of5" context="finalTicket" pattern="00%04%01%03nl0%0600"/>
Tlac QR kodu na koncovom listku:
<Barcode type="Qr" context="finalTicket" pattern="%09%10%11%12%13%14"/>
Poznamky:
- vo vstupnych datach musi byt povolena tlac detailov na konecnom listku, t.j. v Tarifnom systeme na zalozke “F” musi byt zaskrtnute nastavenie id 104 - Detaily na konecnom listku
- pre kazdy ciarovy kod, ktory chceme tlacit (na pociatocnom listku, konecnom listku atd.), musi byt v PrjConfig.xml osobitny node <Barcode/> s prislusnou hodnotou atributu context
- ak sa v configu nenachadza node <Barcode> pre urcity kontext, dany ciarovy kod sa nevytlaci
- je potrebne definovat vsetky atributy, inak sa cely node ignoruje (do logov sa vypise warning)
0 - vypnute (listky sa daju dokupovat na hociktorej citacke) 1 - zapnute (listky sa daju dokupovat iba na prvej citacke)
mode 0 - focus je mozne dat na zastavku aj tarifu, a pri stlaceni sipok sa posuva bud zastavka, alebo tarifa, podla focusu
mode 1 - focus je mozne dat na tarifu a nemozme ho dat na zastavku. Ked som na tarife a stlacim sipku posuva zastavku.
Tarifu posuvam bud stlacenim numerickych klaves, alebo cez hotkey TariffSelector
0 - Normal ( sipka hore je hore a sipka dole je dole ) 1 - Reverse ( sipka hore je dole a sipka dole je hore )
3 - VoIP ( sound parser VoIP ) ostatne su zatial ( default SoundParser-HlasicParser )
OnBusStopArrival - zrusenie setrica ked pride autobus na dalsiu zastavku.
0 - setric obrazovky sa nezrusi 1 - setric obrazovky sa zrusi
OnNewMessage - zrusenie setrica ked aplikacia prijme spravu z dispecerskeho centra.
0 - setric obrazovky sa nezrusi 1 - setric obrazovky sa zrusi
Priklad:
<WakeUp OnBusStopArrival="1" OnNewMessage="1" />
Nastavenie definuje chovanie zadavania stazky (DZVV) a vztah medzi odpoctom a stazkou.
0 - vypnute vynutenie zadavania DZVV pri kazdom otvarani odpoctu alebo pri prihlaseni vodica.
Aj ked sa DZVV (stazka) zadava pri otvoreni odpoctu, tak nie pri kazdom, ale iba ak bola uzatvorena pomocou menu (CMDCloseDailyIdentificationVehicleRecord).
Aplikacia interne do kazdeho medzicasom otvoreneho odpoctu doda odpamatane cislo DZVV.
1 - zapnute vynutenie zadavania DZVV, vzdy pri otvarani odpoctu sa zobrazi moznost zadat DZVV pre vodica.
Toto DZVV sa uklada do statistiky a na kazdom odpocte moze byt zadane ine.
2 - zapnute vynutenie zadavania DZVV pri kazdom prihlaseni vodica. Tento rezim dovoluje mat viac staziek na jednom odpocte.
Kedze sa ale tento udaj nedokaze zapisat do statistiky (tam sa da ulozit iba jedna a teda prva), posiela sa po zadani iba na portal dispecingu.
0 - (default) pouziva sa standarny form 1 - pouzit spominany specialny form
Priklad:
<UseIssueWindowBusstopList>1</UseIssueWindowBusstopList>
0 - (default) vypnute 1 - zapnute
Priklad:
<VerifyIssueCash>1</VerifyIssueCash>
0 - (default) - vypnute. Logy sa citaju a zapisuju do statistiky 1 - zapnute necitanie logov penazenky a vypnute zapisovanie do statistiky
0 - (default) - vypnute. na info liste za meni iab ikona o prijati spravy 1 - zapnute - pri prichode sa zobrazi okno zo spravami
0 - (default) - vypnute. 1 - zapnute.
hodnota == pocet sekund zobrazenia notifikacneho okna default hodnota = 2 sekundy
nezadane - ( default ) - vypnute #xxxxxx - farba pozadia v hex formate napr #ff0000 pre cervenu farbu ( format zadavania ako v html )
<DelayWebServiceUrl>http://192.168.99.12:5544/AVL_Delay/AVLDelay.asmx</DelayWebServiceUrl>
<SlaveBrightnessOnScreenSaver index="-1">20</SlaveBrightnessOnScreenSaver>
<RepeatPrintFinalTicketMessageTimeout>10</RepeatPrintFinalTicketMessageTimeout>
<MaxGpsOutageTime>300</MaxGpsOutageTime>
<MinGpsOutageTime>5</MinGpsOutageTime>
<MinGpsOutageDistance>100</MinGpsOutageDistance>
Maximalny pocet toast sprav (ciastocne priehladne info spravy v dolnej casti obrazovky), ktore sa mozu naraz nad sebou zobrazit. Default hodnota je 3. Ak sa tento pocet presiahne, najstarsia sprava sa zahodi.
0 - (default) - vypnute. 1 - zapnute.
Tento subor je novy, ma nahradit povodny PrjConfig.xml pouzivany v Mijole. Zatial su v nom ulozene cesty k mapovym podkladom a nastavenia pre screensaver a tlac kopii konecneho listka. Subor je sucastou balicka.
od release 1806 nastavenie nie je podporovane, logika zadavania DZVV je podla specifikacie na g-drive
0 - default - necislovat odpocty 1 - cislovat odpocty
0 - ziadny zoznam sa netlaci 1 - tlaci sa zoznam zastavok a zoznam vydanych listkov s informaciou o tarifnych zonach
0 - (defaultna hodnota) zariadenia zostanu zablokovane aj pri prichode na nasledujucu zastavku 1 - pri prichode na nasledujucu zastavku sa zariadenia odomknu 2 - pri prichode na nasledujucu zastavku sa zariadenia odomknu len ak boli zamknute od vodica
Vzor sekcie pre kamery:
<Camera>
<Configuration ID="0">
<CameraURL StreamPosition="0" SingleStreamModeAndRecCamURL="rtsp://192.168.12.200:554/Streaming/Channels/101" MultiStreamModeURL="rtsp://192.168.12.200:554/Streaming/Channels/102" Audio="1" ></CameraURL>
<CameraURL StreamPosition="1" SingleStreamModeAndRecCamURL="rtsp://192.168.12.201:554/Streaming/Channels/101" MultiStreamModeURL="rtsp://192.168.12.201:554/Streaming/Channels/102" Audio="0" ></CameraURL>
<CameraURL StreamPosition="2" SingleStreamModeAndRecCamURL="rtsp://192.168.12.202:554/Streaming/Channels/101" MultiStreamModeURL="rtsp://192.168.12.202:554/Streaming/Channels/102" Audio="0" ></CameraURL>
<CameraURL StreamPosition="3" SingleStreamModeAndRecCamURL="rtsp://192.168.12.203:554/Streaming/Channels/101" MultiStreamModeURL="rtsp://192.168.12.203:554/Streaming/Channels/102" Audio="0" ></CameraURL>
</Configuration>
<Configuration ID="1">
<CameraURL StreamPosition="0" SingleStreamModeAndRecCamURL="rtsp://192.168.12.200:554/1" MultiStreamModeURL="rtsp://192.168.12.200:554/2" Audio="0" ></CameraURL>
<CameraURL StreamPosition="1" SingleStreamModeAndRecCamURL="rtsp://192.168.12.201:554/1" MultiStreamModeURL="rtsp://192.168.12.201:554/2" Audio="0" ></CameraURL>
<CameraURL StreamPosition="2" SingleStreamModeAndRecCamURL="rtsp://192.168.12.202:554/1" MultiStreamModeURL="rtsp://192.168.12.202:554/2" Audio="0" ></CameraURL>
<CameraURL StreamPosition="3" SingleStreamModeAndRecCamURL="rtsp://192.168.12.203:554/1" MultiStreamModeURL="rtsp://192.168.12.203:554/2" Audio="1" ></CameraURL>
</Configuration>
</Camera>
Vzor sekcie pre digitalne vstupne piny:
<DigitalInputPins>
<Configuration ID="0">
<Pin Number="0" Trigger="Low" Action="PlayLineInfoSoundForVisuallyImpairedPerson" />
<Pin Number="1" Trigger="Low" Action="PlayVisuallyImpairedPersonEntranceSound" />
<Pin Number="2" Trigger="Both" Action="DoorStateChanged" Logic="Inverted" />
<Pin Number="3" Trigger="High" Action="PanicButtonPushed" />
<Pin Number="4" Trigger="Both" Action="ReversingCamera" AdditionalData="rtsp://192.168.12.200:554/Streaming/Channels/101"/>
</Configuration>
</DigitalInputPins>
<SynchronizeSystemTime NtpIpAddress="192.168.99.1" MinTimeDiffSecondsToTimeSync="1">1</SynchronizeSystemTime>
hodnota hlasitosti < 1.0 znizenie hlasitosti hodnota hlasitosti = 1.0 defaultna hlasitost hodnota hlasitosti = 0.0 uplne stlmenie zvuku hodnota hlasitosti > 1.0 zvysenie hlasitosti
Testovacia sluzba: <OBCAPIModelRouteGZippedURL>http://192.168.241.9/ObcAPI/api/v1/GetModelRouteStopsGzipped</OBCAPIModelRouteGZippedURL>
0 - (defaultna hodnota) statistika sa nevymazava 1 - pri starte aplikacie sa vymazu vsetky existujuce statisticke subory (aj tempstatistika)
0 - (defaultna hodnota) pouzi klasicky vydaj 1 - pouzi mapovy vydaj
0 - (defaultna hodnota) vypinanie palubaku na zaklade motora je zakazane 1-n - cas v sekundach, po ktorom sa palubak vypne, ak je motor vypnuty
0 - (defaultna hodnota) pocet cestujucich 1 - percento naplnenia vozidla
0 - setric obrazovky sa nezrusi 1 - setric obrazovky sa zrusi
0 - setric obrazovky sa nezrusi 1 - setric obrazovky sa zrusi
Priklad:
<WakeUp OnBusStopArrival="1" OnNewMessage="1" />
0 - v rezime mapy (medzi zastavkami) sa meskanie zobrazuje ako cas do odchodu z nasledujucej zastavky 1 - v rezime mapy (medzi zastavkami) sa zobrazuje rovnake meskanie, ako sa odosiela na dispecing (vypocitane zo synchronizacnych bodov)
Pre zapnutie s default timeoutami stačí:
<InputDataCheckService URL="http://192.168.99.63/ObcAPI/api/v1/ExistNewDataForToDay"/>
mode 1 - zobrazovat potvrdzovaciu hlasku pri vydaji na prenosnu penazenku mode 0 - nezobrazovat potvrzdovaciu hlasku a vydat listok na prenosnu penazenku automaticky
<IsTransfareInfoProviderEnabled TransfareInfoProviderIp="192.168.12.100:22234" TransfareInfoProviderSpeedInterval="10">1</IsTransfareInfoProviderEnabled>
<BusTableMessagesFromDispatchingWebService URL="http://test.dispecing.info/TransferDataWebServiceREST/api/MessagesForTableOnTrip" Interval="120"/>
<QadraMessagesWebServiceURL SendingInterval="5" SendingTimeout="20" MaxMessagesSending="10" DeleteInterval="1">http://test.dispecing.info/ObcAPI/api/qadra/Data</QadraMessagesWebServiceURL>
<TripsDelaysWebServiceURL>http://test.dispecing.info/OBC_API/api/v1/Trips/Delay</TripsDelaysWebServiceURL>
Ak element neobsahuje hodnotu (nazov suboru so zvukom), prehra sa defaultny zvuk beep.mp3 (v priecinku /opt/app-5/usr/sound/)
<SlaveIssueSound></SlaveIssueSound>
Ak element obsahuje nazov suboru, ten sa hlada najprv v priecinku /opt/app-5/var/spool/incoming, nasledne v /opt/app-5/usr/sound
<SlaveIssueSound>TicketIssuedOnSlave.mp3</SlaveIssueSound>
Element obsahuje nody Language, ktore reprezentuju dvojznakovu skratku jazyka, do ktoreho ma uzivatel z menu moznost aplikaciu prepnut. Aplikacia totiz moze obsahovat v balicku defaultne viacero jazykov, no na prepinanie jazyka sa pouziju iba tie, ktore povolime. Podpora viacero jazykov je totiz platena funkcionalita.
<SupportedLanguages> <Language>ru</Language> <Language>en</Language> </SupportedLanguages>
Element obsahuje atribut WebServiceUrl, ktory definuje URL web služby pre dopyt o zmene nastupista voci cestovnym poriadkom.
Element moze obsahovat nody BusStop s atributom Id - Id zastavky pre ktoru moze byt zmenene nastupiste.
Zastávky na ktorých sa má dopytovať na zmenu nástupišťa sú primárne nastavené príslušným flagom vo vstupných dátach.
Atribút CheckingInterval je interval v sekundách, v akom sa bude posielať request na web službu po príchode na zastávku - default je 5 sekúnd.
<TripGetPlatformChange WebServiceUrl="http://test.dispecing.info/OBC_API/api/v1/Trips/GetPlatformChange" CheckingInterval="30">
<BusStop Id="9851"/>
<BusStop Id="535"/>
</TripGetPlatformChange>
má štruktúru:
<?xml version="1.0" encoding="iso-8859-1"?>
<PrjConf Setting1="setting1value" Setting2="setting2value"...
<EventsWS ...
nastavenie pre IFC
</EventsWS>
</PrjConf>
Zoznam reklamačných zariadení (t.j. zariadení, ktoré majú v menu tlačidlo “reklamácia” a sú teda schopné vykonávať prenos PCL/peňaženky z neprítomnej/nefunkčnej karty na novú).
Možné hodnoty: - nastavenie nie je špecifikované alebo ma hodnotu "" alebo "0" = reklamácia je povolená na všetkých zariadeniach - zoznam reklamačných pokladní oddelených čiarkou, napr. "126001, 126002"
V balíčku je štandartne toto nastavenie nastavené na “0” (reklamácia je povolená na všetkých zariadeniach)
Určuje, či sa má po uzavretí odpočtu palubák spojiť so serverom a pokúsiť sa o vyčítanie. </PrjConf>
Možné hodnoty: 0 - (default) nežiada server o vyčítanie 1 - žiada server o vyčítanie
Určuje, či sa má po zapnutí predpredaj spojiť so serverom a pokúsiť sa o vyčítanie.
Možné hodnoty: 0 - (default) nežiada server o vyčítanie 1 - žiada server o vyčítanie
Slúži na nastavenie odosielania požiadavkov na vyčítanie štatistiky. Jeho hodnota pozostáva z troch hodnôt 0/1, kde:
Takže ak chceme iba zapnúť vyžiadanie vyčítania štatistiky pri uzavretí odpočtu, nastavenie bude vyzerať: DataOutputReadRequest=“010”.
Defaultné správanie je akoby boli všetky hodnoty na 0.
Nastavenie sa týka tlače tarifných pásiem (=riadkov cenníka) na zozname taríf.
Možné hodnoty: 0 - (default) Zapnutá tlač riadkov cenníka na zozname taríf 1 - Vypnutá tlač riadkov cenníka na zozname taríf
V balíčku je toto nastavenie štandartne nastavené na 1 (vypnutá tlač riadkov cenníka na zozname taríf)
Nastavenie pre povolenie/zakázanie editácie údajov na karte ako typ karty, platnosť karty, platnosť zľavy a pod. Pozostáva z troch hodnôt 0/1, kde:
V balíku je toto nastavenie nastavené na “111” (povolená editácia všetkých troch položiek)
Udáva najvyšší povolený počet neúspešných prihlásení. Po presiahnutí tohto počtu sa už do pokladne nedá prihlásiť, zobrází sa hláška “Chyba prihlásenia. Maximálny počet chybných prihlásení” a je potrebné v servisnom menu (po prihlásení servisnou kartou) znulovať neúspešné prihlásenia (alebo zmazať súbor /opt/emtest/etc/hlavny/Identification.xml). Ak nie je táto hodnota v PrjConfig-u špecifikovaná, počet neúspešných prihlásení sa nekontroluje.
V balíčku je nastavená štandartne na 5.
Umožňuje povoliť tlač počtu kusov na koncovom lístku (okrem počtu lístkov na za lomítkom vytlačí aj počet kusov). T.z. že ak sa predá povedzme 5 kusov obalu na kartu na jeden hromadný lístok, bude príslušný riadok na koncovom lístku vyzerať: “obal na kartu 1/5”
Možné hodnoty: 0 - (default) vypnutá tlač počtu kusov na koncovom lístku 1 - zapnutá tlač počtu kusov na koncovom lístku
V balíčku je štandartne toto nastavenie nastavené na 1 (zapnutá tlač počtu kusov na koncovom lístku).
Nastavenie skôr historického charakteru, zvyklo obsahovať texty ako “GDANSK”, “WEJHEROWO” a pod. a boli na to zavesené rôzne špecifiká týchto projektov. V súčasnosti sa používajú už asi iba dve hodnoty a to:
"BMK" - pre BID "SK_DESFIRE" - zvyšok Slovenska
Riadi sa podľa neho funkcionalita šípok pri pohybe vo výdaji a v prípade “BMK” sa zobrazujú aj informácie o bonusovej zľave v infe o karte.
Nastavenie určuje, či sa majú v infe o karte (vyvolanom F4) zobrazovať aj časové predplatné lístky, ktoré sú už po platnosti.
Možné hodnoty: 0 - nezobrazovať lístky po platnosti 1 - (default) zobrazovať lístky po platnosti
V balíku je štandartne toto nastavenie nastavené na 1 (zobrazovať lístky po platnosti)
Zoznam zariadení oprávnených vykonávať storno z karty (majú v infe o karte tlačidlo “Storno”)
Možné hodnoty: - nastavenie nie je špecifikované alebo ma hodnotu "" alebo "0" = storno je povolené na všetkých zariadeniach - zoznam pokladní oprávnených vykonávať storno z karty oddelených čiarkou, napr. "126001, 126002"
V balíčku je štandartne toto nastavenie nenastavené (t.j. storno je povolené na všetkých zariadeniach)
Týka sa obsahu QR kódu tlačeného na papierových jednorazových lístkoch v BID. Podľa špecifikácie je v QR kóde zakódovaný aj identifikátor predajcu (podľa dokumentu Štandard cestovných dokladov). Momentálne sa týka iba SlovakLines (identifikátor 694 - ten je aj defaultnou hodnotou)
Povolenie tlačidla v infe o karte pre prenos časového lístka/peňaženky z karty na kartu. Defaultne je tlačidlo vypnuté.
Možné hodnoty: "true" alebo "1" - tlačidlo je povolené "false" alebo "0" - tlačidlo nie je povolené
Nastavenie zavedené pri prechode na euro. Nemusí byť špecifikované vôbec alebo by malo byť nastavené na “0”.
Pozor, je to samostatny nod, nie atribut. Umoznuje definovat sankcie pre ciastocne storno (zavedene kvoli IDS Vychod)
<PrjConf ... >
...
<TicketPartialCancellationFee>
<UsedValidityInterval feePercent="12">10000</UsedValidityInterval>
<UsedValidityInterval feePercent="6">6</UsedValidityInterval>
</TicketPartialCancellationFee>
</PrjConf>
Nastavenie vyssie definuje, ze ak je listok stornovany prvych 6 dni platnosti, zaplati sa pokuta 6% z alikvotnej ciastky. Ak je stornovany neskor, zaplati sa pokuta 12% z alikvotnej ciastky (V tomto pripade, ak je stornovany do 10000 dni :). Intervalov moze byt definovany lubovolny pocet.
Nastavenie zapínalo používanie fiškánej kasy Innova v poľských projektoch. Od releasu 1703 nie je fiškálna tlačiareň podporovaná v aplikácii.
Určovalo kódovú stránku v ktorej bolo uložené meno obsluhy na servisnej karte. Od releasu 1703 sa nepoužíva.
Kódová stránka CPL vzorov lístkov. Od 1703 sa nepoužíva.
V infe o karte bývalo kedysi tlačidlo na zmazanie časového lístka bez záznamu v statistike. To tlačidlo bolo už dávno vyhodené, ostalo ešte nastavenie, čo ho vtedy zapínalo. Teraz by malo byt nastavené na “1”.
Určovalo pozíciu stĺpca s počtami lístkov pri tlači počítadiel na koncovom lístku. Vždy bolo nastavené na 15.
Bolo to networkID, ktoré sa posielalo platobnému v prípade, že neboli vyplnené príslušné položky v dátach (ESetFirma).
Štruktúra rovnaká ako pri PrjConfig.xml pre OnboardComputer, vyčitava sa ale hodnota:
0 - (default) - vypnute. Logy sa citaju a zapisuju do statistiky 1 - zapnute necitanie logov penazenky a vypnute zapisovanie do statistiky
* TicketPartialCancellationFee
Umožňuje definovať sankcie pre čiastočné storno (zavedené kvôli IDS Východ)
<PrjConf ... >
...
<TicketPartialCancellationFee>
<UsedValidityInterval feePercent="12">10000</UsedValidityInterval>
<UsedValidityInterval feePercent="6">6</UsedValidityInterval>
</TicketPartialCancellationFee>
</PrjConf>
Nastavenie vyššie definuje, že ak je lístok stornovaný prvých 6 dní platnosti, zaplatí sa pokuta 6% z alikvotnej čiastky. Ak je stornovaný neskôr, zaplatí sa pokuta 12% z alikvotnej čiastky (V tomto prípade, ak je stornovaný do 10000 dní :). Intervalov môže byť definovaný ľubovoľný počet.
Umiestnenie:
Struktura:
<EMarkerTicket>
<Parameters>
<parameter name="width" value="150"/>
<parameter name="height" value="9"/>
</Parameters>
<Cells>
<cell name="TariffZone" divideText="0" isRomeNumber="true" fontSize="1" showChar="3" space="1"/>
<cell ... />
<cell ... />
...
</Cells>
</EMarkerTicket>
Popis atributov polozky parameter
Popis atributov polozky cell
Zoznam interpretovanych nazvov “buniek” (t.z. bude vytlacena hodnota ktora bola pre tu bunku nastavena z aplikacie):
Popis poloziek Menu pre Vesnu je mozne najst na Google Drive - Documentation/Development/Transfare/Vesna/Polozky menu aplikacie
Popis prikazov:
Po navoleni tlacidla sa vytvori zaloha logov v priecinku /opt/emtest/var/log/driverBugReport-CASOVA_IDENTIFIKACIA_NAHLASENIA_PROBLEMU. V priecinku /opt/emtest/var/log/ sa generuju maximalne 4ks zalohy zdrojovych kodov. Ostavaju vzdy 4 najnovsie. Po uspesnom dokonceni zalohy logov na disku sa zobrazi vodicovi informacna hlaska, v slovenskom preklade 'Problém bol úspešne nahlásený. Ďakujeme.' V pripade nahlasenia problemu sa do dispecingu posle chyba 257, indikujuca manualne poslanie problemu vodicom
Po navoleni tlacidla sa ponukne volba linky a spoja. Ak je palubny pocitac vo vydaji, ponukne sa mu predvolena aktualna linka/spoj, pricom si ju moze zmenit Zobrazenie ma vizualne odlisene navazne spoje. Okno sluzi LEN na zobrazenie zastavok, nedisponuje ziadnou funkcionalitou.
Popis HotKey:
- parametre: list - ID list offsetDelta - velkost skrolovania cyclic - true
Po navoleni hotkey-u sa zobrazi zoznam zastavok podla aktualnej linky/spoju. Ak vodic pozaduje zobrazenie inej linky/spoja, musi prejst cez volbu menu 'CMDBusstopList' Zobrazenie ma vizualne odlisene navazne spoje. Okno sluzi LEN na zobrazenie zastavok, nedisponuje ziadnou funkcionalitou.
DelayConfig sluzi na zobrazovanie meskanie podla zvolencyh parametrov
Struktura konfiguracneho suboru je nasledovna :
<?xml version="1.0" encoding="iso-8859-1"?>
<DelayConfig>
<!--
TariffTime - calculate time from Tariff System - on bus stop calculate to departure from bus stop
CalculatedTime - calculated time from real km and ...
-->
<DisplayDelay mode="CalculatedTime" gpsError="" betweenBusstopFormat="->%1" onBusstopFormat="--%1"/>
<Advance advanceIndicator="+%1 ">
<Level level="1" foreground="000000" background="FF0CFF" time="180" text="OK"/>
<Level level="2" foreground="000000" background="FF2589" time="240"/>
</Advance>
<Delay delayIndicator="-%1" >
<Level level="1" foreground="000000" background="00D418" time="180"/>
<Level level="2" foreground="000000" background="FFC000" time="240"/>
<Level level="3" foreground="000000" background="FFC0FF" time="320"/>
<Level level="4" foreground="000000" background="FF2548" time="380"/>
</Delay>
</DelayConfig>
Súbor exceptions.xml slúži pre definovanie rôznych výnimiek ako sú:
<CardTypes companyID="406"> <CardText cardType="4" cardSubType="1">Celá</CardText> <CardText cardType="5">Polovičná</CardText> </CardTypes>
Karta so závodom 'companyID', typom karty 'cardType' a podtypom 'cardSubType' sa bude zobrazovať ako zadaný text. Súbor moze obsahovať sekcie pre každý závod. Atribút cardType je povinný, cardSubType je nepovinný.
<ZoneMapping Zone="235" ZoneUi="350"/> <ZoneMapping Zone="230" ZoneUi="300"/>
UTN - urban transport number, cislo MHD predaneho casoveho listka, vycitane z karty z CL tariffTicketNumberFrom - cislo tarifneho listka, ktore pozadujeme premapovat. Cislo je vycitane z karty tariffTicketNumberTo - cislo tarifneho listka, ktore sa pouzije pri vydaji listka namiesto cisla tarifneho listka vycitaneho z karty
networkID - network ID na karte customerProfileIndex - index CP na karte customerProfileValue - hodnota CP na karte
cardPublisher - cislo vydavatela karty ticketType - typ listka podla enum-u ETarifa::ETypListkaID paymentType - typ platby podla enum-u EIssueLogicDefines::PaymentType
Tato vynimka je pouzita na obmedzenie dobitia kreditu z hotovosti na BMK. Pouzity riadok:
<CardPublisherIssueRestriction cardPublisher="108" ticketType="5" paymentType="0"/>
DateFrom - datum od kedy ma byt medium karty blokovane (pocita sa od 00:00 daneho dna)
DateTo - datum do kedy ma byt kartove medium blokovane (pocita sa do 00:00 daneho dna, teda napr. do konca roka treba dat namiesto 20143112 do 20150101)
Company - zavod pre ktory ma byt kartove medium zablokovane
CardMedium - medium, ktore ma byt zablokovane (0-Old emtest mifare, 1-emtest Desfire, 2-VDVKa, 3-DesfireXT, 4-MifareMikro1, 5-MifareMikro2, 6-MifareIDOL)
IgnoreCardType - VOLITELNY ATRIBUT - typ karty, ktory ma byt pri kontrolu ignorovany
IgnoreCardSubType - VOLITELNY ATRIBUT - v pripade ze prilozeny typ karty je zhodny z 'IgnoreCardType' kontroluje sa v pripade nenulovej polozky aj podtyp karty
- V pripade potreby definovania viacerych podtypov, je to mozne pomocou oddelovaca/delimitera '|'
Vynimka pre plnenie poctu zon do Vypoctu ceny e.g → zona 215 sa rata za 3 zony ( pripocita sa 2 ), kombinacia zon 100 a 101 + akakolvek ina zona/zony do poctu zon sa pripocita 1.
ZonesCombination - kombinacia zon pre ktore sa ma uplatnit vynimka CountCorrection - inkrementacia alebo dekrementacia poctu zon pre danu kombinaciu
originalTariffTicketNumber - navolene cislo tarifneho listka vo vydaji aplikacie tariffTicketNumberToCard - cislo tarifneho listka po zrekodovani. Tato tarifa sa zapise na kartu.
Vynimka, ktora zabezpecuje ze sa na kartu zapisuje ina tarifa ako je skutocne vydavana tarifa. V projekte BID maju cca 10/15 tarif a len tri sloty pre spolucestujucich na karte( 1. slot zakladny, 2. slot zlavneny, 3. batozina ). Z tohot dovodu sa tarify rozdelili do troch skupin a na zaklade tejto skupiny sa poznacuju tarify na kartu.
Obmezenia:
<ForeignZonesWithZeroVATValue> <Zone>190</Zone> </ForeignZonesWithZeroVATValue>
Zón môže byť ľubovoľný počet.
<CityCardApplicationsToIgnore>
<Application>8</Application>
</CityCardApplicationsToIgnore>
Výnimka umožňuje ignorovať aplikáciu/aplikácie mestskej karty (nie regionálnej karty) v manuálnom výdaji (v autovýdaji je aplikácia nastavená štandardne a táto výnimka sa neuplatňuje).
Aplikácií môže byť ľubovoľný počet a aplikácia je zadávaná vždy vo forme n-tého bitu (index od 1).
<Exceptions>
<CardTypes companyID="406">
<CardText cardType="4" cardSubType="1">Celá</CardText>
<CardText cardType="5">Polovičná</CardText>
</CardTypes>
<CardTypes companyID="455">
<CardText cardType="5" cardSubType="1">Celá</CardText>
<CardText cardType="4">Polovičná</CardText>
</CardTypes>
<ZoneMapping Zone="235" ZoneUi="350"/>
<ZoneMapping Zone="230" ZoneUi="300"/>
<TariffNumberMapping UTN="22" tariffTicketNumberFrom="27" tariffTicketNumberTo="147" />
<TariffNumberMapping UTN="22" tariffTicketNumberFrom="28" tariffTicketNumberTo="148" />
<CustomerProfileValidityException networkID="2111505" customerProfileIndex="0" customerProfileValue="3" />
<CustomerProfileValidityException networkID="2111505" customerProfileIndex="0" customerProfileValue="7" />
<!-- CardMedium: 1-Old emtest mifare, 2-emtest Desfire, 3-VDVKa, 4-DesfireXT, 5-MifareMikro1, 6-MifareMikro2, 7-MifareIDOL -->
<ForbiddenCard DateFrom="20140630" DateTo="20250101" Company="1031" CardMedium="1" IgnoreCardType="7" IgnoreCardSubType="9|1|8"/>
<ZoneCombinationCountCorrection ZonesCombination="215" CountCorrection="2"/>
<ZoneCombinationCountCorrection ZonesCombination="100,101,*" CountCorrection="1"/>
<RecodeSelectedTariffToCard originalTariffTicketNumber="15" tariffTicketNumberToCard="56"/>
<ForeignZonesWithZeroVATValue>
<Zone>190</Zone>
</ForeignZonesWithZeroVATValue>
<CityCardApplicationsToIgnore>
<Application>8</Application>
<Application>9</Application>
</CityCardApplicationsToIgnore>
</Exceptions>
Súbor sa bude brať z externých dát, ak nebude existovať skúsi sa /opt/emtest/etc/hlavny/ ak ani tam nebude existovať považuje sa za nedefinovaný.
<Exceptions> <ForbiddenCard DateFrom="20140801" DateTo="20150101" Company="1031" CardMedium="1" IgnoreCardType="3" IgnoreCardSubType="0|3|6"/> <ForbiddenCard DateFrom="20150101" DateTo="20250101" Company="1031" CardMedium="1"/> </Exceptions>
Od 1.8.2014 do 31.12.2014 sa blokujú všetky Mifare Classic karty vydavateľ 1031 okrem typu 3 podtypov 0, 3 a 6. Od 1.1.2015 sa blokujú všetky. (DateTo musí byť do 1.1.2015 inak by sa 31.12.2014 karty neblokovali)
Vzhladom ku tomu, ze si zavody medzi sebou uznavaju karty a potrebuju mat rozne ceny listkov pre svoj a pre cudzie karty, pouziva sa nasledovny mechanizmus. Subor CompaniesConfig.xml sluzi na definovanie cisel domacich a cudzich zavodov. Ak je spracovavana karta domaceho zavodu tak sa vyrata cena zo stlpca domace zavody a ak aplikacia vyhodnoti kartu ako cudziu, aplikacia vyrata cenu zo stlpca pre cudzie zavody. Ak ceny pre domace a cudzie zavody nie su nadefinovane vo vstupnych datach, prejavi sa to ako aplikacna chybova hlaska: CHYBA VYDAJA LISTKA.
Popis k systemu domacich a cudzich zavodov sa nachadza na ceste:
Dokumentacia/Projekty_ISO/02_PlatobnySystem-Intel/VseobecneAnalyzy/01_SpolocneVlastnostiCitackyAPalubnehoPocitaca/SpolocneVlastnostiCitackyAPalubnehoPocitaca*.pdf
Primarne sa subor na strojceku nachadza na ceste /opt/emtest/var/spool/incoming, sekundarne na ceste: /opt/emtest/etc/hlavny.
Ak ma zavod uznavat cudzie karty v automatickom vydaji, nie je dostatocne mat povoleny zavod v KeyData.dat, ale je potrebne aj nadefinovat pre tento cudzi zavod v CompaniesConfig-u sekciu:
<Corporate Number="identifikator_zavodu" Name="Skratka nazvu zavodu" >
<Department Number="cislo_domaceho_zavodu" />
<Department Number="cislo_cudzieho_zavodu" />
</Corporate>
Jednotlive polozky predstavuju:
<!-- Definovanie domacich zavodov -->
<CompaniesConfig>
<Corporate Number="15" Name="ZA"> <!-- domace cislo zavodu. Je zauzivane previdlo ze prve cislo predstavuje domace cislo zavodu -->
<Department Number="1"/> <!-- uznavane domace cislo zavodu -->
<Department Number="912"/> <!-- uznavane domace cislo zavodu -->
<Department Number="902"/> <!-- uznavane domace cislo zavodu -->
<Department Number="902"/> <!-- uznavane domace cislo zavodu -->
</Corporate>
<Corporate Number="16" Name="BA"> <!-- Name reprezentacia cisla zavodu zobrazuje sa v card infe>
<Department Number="908"/>
</Corporate>
</CompaniesConfig>
<!-- Sposob znamy ako vsetinske groupy, neviem naco sa pouzivaju ale pri prerabke to bola podobna funkcionalita a bola presunuta do CompaniesConfig.xml -->
<Groups>
<Group Name="1"> <!-- Zavod 1 -->
<Company Number="403"/>
<Company Number="404"/>
<Company Number="405"/>
<Company Number="409"/>
<Company Number="423"/>
<Company Number="465"/>
</Group>
<Group Name="2"> <!-- Zavod 2 -->
<Company Number="419"/>
<Company Number="438"/>
</Group>
</Groups>
Starsi sposob bol (uz sa nepouziva):
<CompaniesConfig> <HomeCompany> <HomeCompany Number="825"/> </HomeCompany> </CompaniesConfig>
V tomto konfiguracnom subore je mozne nadefinovat aj grupy (vyuzivane vo vsetine)
Konfiguracny subor pre virtualnu klavesnicu na Vesne. Definuje ktoré klavesy budu zobrazene a ako budu rozlozene.
Konfiguracny subor ma strukturu:
<Keyboard> <KeyboardLayout LayoutName="Default"> <KeyboardRow> <KeyArray KeyPrimaryCharacter="0123456789" KeySecondaryCharacter="ľščťžýáíéú" KeySize="2"></KeyArray> </KeyboardRow> <KeyboardRow> <KeyArray KeyPrimaryCharacter="qwertyuiop" KeySecondaryCharacter="QWERTYUIOP" KeySize="2"></KeyArray> </KeyboardRow> <KeyboardRow> <Key KeyType="SPACER"></Key> <KeyArray KeyPrimaryCharacter="asdfghjkl" KeySecondaryCharacter="ASDFGHJKL" KeySize="2"></KeyArray> </KeyboardRow> <KeyboardRow> <Key KeyType="SPACER" KeySize="2"></Key> <KeyArray KeyPrimaryCharacter="zxcvbnm" KeySecondaryCharacter="ZXCVBNM" KeySize="2"></KeyArray> <Key KeyType="BACKSPACE" KeySize="4"></Key> </KeyboardRow> <KeyboardRow> <Key KeyType="SHIFT" KeySize="4"></Key> <Key KeyPrimaryCharacter="20" KeySize="12"></Key> <Key KeyType="SHIFT" KeySize="4"></Key> </KeyboardRow> </KeyboardLayout> </Keyboard>
Popis jednotlivych elementov:
LayoutName - zatial sa v aplikacii pouziva len rozlozenie "Default"
KeySize - urcuje velkost klavesy
- pomocou vhodne zvolenej velkosti vieme docielit posun klaves medzi roznymi riadkami napr o pol klavesy (klavese v 1 riadku nastavime velkost 2, do druheho riadku vlozime spacer a zan klavesu znova s velkostou 2 - klavesy budu rovnako velke, ale posunute o polovicu sirky klavesy)
KeyType - urcuje typ klavesy (CHARACTER - znak, SHIFT - klavesa na prepinanie primarneho/sekundarneho vyznamu klavesy, BACKSPACE - klavesa backspace, SPACER - klavesa, ktora nebude zobrazena v layoute, sluzi len na dodatocne zarovnanie klaves)
KeyPrimaryCharacter - cislo v unicode tabulke v hexa tvare pre primarny znak priradeny ku klavese "znakoveho" typu
- aby bolo mozne vlozit aj znaky, ktore by mohli sposobovat problemy napr pri parsovani konfigu ("), je nutne v pripade, ze definujeme jednotlivu klavesu zadat znak vo forme cisla v hexadecimalnom tvare
KeySecondaryCharacter - cislo v unicode tabulke v hexa tvare pre sekundarny znak priradeny ku klavese "znakoveho" typu
KeyPrimaryCharacter - primarne znaky jednotivych klaves bez oddelovania KeySecondaryCharacter - sekundarne znaky jednotivych klaves bez oddelovania (nie je mozne v tomto pripade zadat cislo znaku v unicode tabulke) KeySize - urcuje relativnu velkost klaves (nie je mozne nastavit roznu velkost pre jednotlive znaky)
Sluzi na definovanie obmedzeni pre zony.
RestrictedZoneColection - takuto kombinaciu zon nie je mozne predat - ide ale o presnu zhodu, cize:
RestrictedZoneColection [100, 99]: zoneList [99,100] = restricted zoneList [99,100,101] = ok
RestrictedZoneColectionAlsoAsSubset - takuto kombinaciu zon nie je mozne predat - nemusi ist o presnu zhodu, cize:
RestrictedZoneColection [100, 99]: zoneList [99,100] = restricted zoneList [99,100,101] = restricted
Pozn.: sekcia sa môže ľubovoľný počet krát opakovať v súbore
RequiredZoneColection - zony v kolekcii sa mozu predavat iba zadanou kombinaciou
RequiredZones - Umoznuje pre nejaku zonu definovat dalsiu/dalsie zony, v kombinacii s ktorymi musi byt predavana. Napriklad v BID zónu 190 mozne zakupit len so 100+101.
ZonesProhibitedToBeSoldAlone - zoznam zon, ktore nie je mozne predat samostatne
ZonesPermittedOnlyInContinuousSections - zoznam zon, ktore je mozne predat len ako sucast spojiteho useku (spojity usek = zony su susediace)
IDS ZSK (zony 99 a 101 su susedne, zony 99 a 200 nie su susedne) ZonesPermittedOnlyInContinuousSections [99]: zoneList [99,200] = restricted zoneList [99,101] = ok zoneList [99,101,200] = ok
RestrictedZonesForPresale - zoznam zon, ktore nie je mozne predavat v predpredaji
Vzorove xml
<?xml version="1.0" encoding="iso-8859-1"?>
<RestrictedZone>
<!-- kombinaciu zon 71,45 nedovoli predat spolu -->
<RestrictedZoneColection>
<RestrictedZone>71</RestrictedZone>
<RestrictedZone>45</RestrictedZone>
</RestrictedZoneColection>
<!-- zona 100,101 sa musia predavat spolu nedovoli predat zonu 100,101 osobitne -->
<RequiredZoneColection>
<RequiredZone>100</RequiredZone>
<RequiredZone>101</RequiredZone>
</RequiredZoneColection>
<!-- zonu 190 je mozne predat jedine v kombinacii so zonami 100 a 101 -->
<RequiredZones zone="190">
<RequiredZone>100</RequiredZone>
<RequiredZone>101</RequiredZone>
</RequiredZones>
<!-- zonu 99 nie je mozne predat samostatne - jedine v kombinacii s inou zonou -->
<ZonesProhibitedToBeSoldAlone>
<Zone>99</Zone>
</ZonesProhibitedToBeSoldAlone>
<!-- zonu 99 je mozne predat jedine v pripade, ze je sucastou spojiteho useku -->
<ZonesPermittedOnlyInContinuousSections>
<Zone>99</Zone>
</ZonesPermittedOnlyInContinuousSections>
<!-- ziadnu z vymenovanych zon nie je mozne predat v predpredaji -->
<RestrictedZonesForPresale>
<RestrictedZone>199</RestrictedZone>
<RestrictedZone>599</RestrictedZone>
</RestrictedZonesForPresale>
</RestrictedZone>
Sluzi na nastavenie parametrov pre hardver a aplikacie, ktore ostavaju po nahrati aplikacie nezmenene
Konfiguracny subor sa vytvori prvy krat pri nahrati aplikacie z konfiguracneho suboru conf_default.xml, ktory sa nachadza v baliku aplikacie s prednastavenymi hodnotami
<config>
<ver>1</ver>
<!-- Nastavenie parametrov hlasitosti pouzivanych zariadeni a vsetkych zvukovych kanalov-->
<sound>
<volume>
<!--
Nastavenie hlasitosti interneho, externeho a kanala vodica.
min - urcuje minimalnu nastavielnu hodnotu obsluhou
max - urcuje maximalnu nastavitelnu hodnotu obsluhou
Hodnota urcuje aktualne nastavenu uroven hlasitosti jednotliveho kanala
-->
<internal min="60" max="90">80</internal>
<external min="60" max="90">80</external>
<driver min="60" max="90">80</driver>
<!-- Nastavenie urovni hlasitosti pre zariadenie konektel -->
<konektel>5</konektel>
</volume>
<!--
1 - pri prehravani zvukovych suborov cez interny kanal sa prehraju zvukove stopy na citackach pomocou skriptu 'copy_and_play_mp3_on_slave.sh'
0 - (defaultna hodnota) - hlasenie zvukovych stop sa prehrava pomocou interneho kanalu na reproduktoroch vo vozidlach
-->
<playSoundOnSlaves>1</playSoundOnSlaves>
</sound>
<!-- Nastavenie parametrov displeja vsetkych zariadeni
<display>
<!-- Hodnota urcuje intenzitu kontrastu na displeji zariadenia-->
<contrast>58</contrast>
<!-- Hodnota urcuje intenzitu jasu na displeji zariadenia -->
<jas>60</jas>
<!-- Hodnota urcuje, za kolko sa ma zapnut setric obrazovky pri necinnosti zariadenia -->
<screensaver>0</screensaver>
<!-- Hodnota urcuje nastavenie kontrastu na LCD displeji na ultralight tlaciarni-->
<ContrastUltraLight>80</ContrastUltraLight>
<!--
1 - automaticke nastavenie urovne jasu na zariadeni pomocou senzoru
0 - (defaultna hodnota) - nastavenie urovne jasu je pomocou manulaneho nastavenia obsluhou
-->
<automaticBrightnessControl>1</automaticBrightnessControl>
</display>
<!-- Hardverove nastavenie klavesnice-->
<kblight>
<Mode>1</Mode>
<Illumination>50</Illumination>
</kblight>
</config>
Sluzi na nastavenie pozicie ikon v informacnom panele aplikacie (horna lista).
Ukazka konfiguracneho suboru:
<EInfoBox Note="info icons configuration file">
<Head>
<Info Version="1.00" Date="03.01.2008"/>
</Head>
<EInfoIcon position="6" name="IconReceiveMessage" />
<EInfoIcon position="5" name="KeyboardLock" />
<EInfoIcon position="4" name="GPRSIndication" />
<EInfoIcon position="3" name="WifiStrength" />
<EInfoIcon position="2" name="DataIndication" />
<EInfoIcon position="1" name="SystemState" />
</EInfoBox>
position [int] - pozicia ikony smerom od praveho okraja do lava
name [string] - nazov ikony, tento nazov sa pouziva v zdrojovom kode pri inicializovani objektu triedy EInfoIcon - einfoicon.h
SystemState - indikacia stavu systemu CommandSelectionMode - Euro - DataIndication - VoipIndication - GPRSIndication - indikacia gprs spojenia WifiStrength - indikacia wifi signalu IconReceiveMessage - indikacia prijatych sms sprav KeyboardLock - InterConnectionstatement -
Tento subor sluzi na citackach (pouzivajucich direct FB) na mapovanie tlacidiel vyberu tarify ku konkretnej kombinacii tarify a riadku cennika. Napr. ze prva tarifa s prvym riadkom cennika bude priradena k tlacidu 0, prva tarifa s druhym riadkom cennika k tlacidlu 1, atd.
Subor sa nacitava z rovnakeho umiestnenia, ako konfiguracne subory UI-ciek. Teda bud z ”/opt/emtest/etc/ui/”, alebo z externych dat na ceste ”/opt/emtest/var/spool/incoming/ui/”.
Ukazka suboru:
<ButtonMap> <Window Name="FellowTravellersSelection"> <Layout> <Button ID="0" Tariff="1" PriceListRow="1"/> <Button ID="1" Tariff="2" PriceListRow="1"/> <Button ID="2" Tariff="1" PriceListRow="2"/> <Button ID="3" Tariff="2" PriceListRow="2"/> </Layout> <Layout IDS="1" TariffGroupID="1"> <Button ID="0" Tariff="1" PriceListRow="1"/> <Button ID="1" Tariff="2" PriceListRow="1"/> <Button ID="2" Tariff="1" PriceListRow="2"/> <Button ID="3" Tariff="2" PriceListRow="2"/> </Layout> <Layout IDS="1" TariffGroupID="2"> <Button ID="0" Tariff="1" PriceListRow="1"/> <Button ID="1" Tariff="2" PriceListRow="1"/> <Button ID="2" Tariff="1" PriceListRow="2"/> <Button ID="3" Tariff="2" PriceListRow="2"/> </Layout> <Layout IDS="2" TariffGroupID="3"> <Button ID="0" Tariff="1" PriceListRow="1"/> <Button ID="1" Tariff="2" PriceListRow="1"/> <Button ID="2" Tariff="1" PriceListRow="2"/> <Button ID="3" Tariff="2" PriceListRow="2"/> </Layout> </Window> <Window Name="ManualIssue"> <Layout> <Button ID="0" Tariff="1" PriceListRow="1"/> <Button ID="1" Tariff="2" PriceListRow="1"/> <Button ID="2" Tariff="1" PriceListRow="2"/> <Button ID="3" Tariff="2" PriceListRow="2"/> </Layout> </Window> </ButtonMap>
Rozlozenie tlacidiel sa definuje samostatne pre kazde okno s tlacidlami. Na tento ucel sluzi tag <Window> s parametrom Name, ktory urcuje nazov okna.
Pre kazde okno mozno definovat niekolko roznych rozlozeni v zavislosti od cisla IDS a pouzitej tarifnej skupiny. Na definiciu rozlozenia sa pouziva tag <Layout> s parametrami IDS (cislo IDS) a TariffGroupID (cislo pouzitej tarifnej skupiny). Ak niektory z parametrov nie je zadany, povazuje sa jeho hodnota za 0. Ak ma parameter IDS hodnotu 0, znamena to, ze dane rozlozenie bude pouzite ako vychodzie (pouzije sa v pripade, ze sa nenajde rozlozenie s aktualnym cislom IDS, a v projektoch bez nastavenej IDS). Rovnako funguje aj hodnota parametra TariffGroupID.
Kazde rozlozenie (Layout) obsahuje znoznam vsetkych tlacidiel s informaciou, ktora tarifa patri ku ktoremu tlacidlu. Na definiciu tlacidla je pouzity tag <Button> s parametrami:
Priklad postupu vyberu rozlozenie ak cislo IDS je 2 a cislo tarifnej skupiny je 3:
<Layout IDS="2" TariffGroupID="3">
<Layout IDS="2" TariffGroupID="0"> alebo <Layout IDS="2">
<Layout IDS="0" TariffGroupID="3"> alebo <Layout TariffGroupID="3">
<Layout IDS="0" TariffGroupID="0"> alebo len <Layout>
Pre update/downgrade firmware-u na zariadeniach sluzi binarka UpdateFirmwares, ktora sa nachadza v repozitari 'VehicleSystemUtils'
<FWUpdateConfig Note="Update firmware config">
<!-- sekcia ciest -->
<Paths>
<!-- cesta kde sa budu hladat binarky firmwarov. Ak nie je specifikovana, pouzije sa defaultna cesta
- defaultna ARM cesta je: /opt/emtest/var/spool/incoming
- defaultna 386 cesta je: /opt/devel/var/lib/updatefw -->
<FirmwareFiles Path="/opt/emtest/var/spool/incoming"/>
<!-- cesta kde je ulozeny HwConfig -->
<HwConfig File="/opt/emtest/etc/hlavny/HwConfig.xml"/>
</Paths>
<!-- sekcia zariadeni -->
<Devices>
<!-- zariadenie ktore sa ma updatovat -->
<Device Name="Printer" Type="Net" FwFile="firmware.pr">
<!-- tieto nody sa budu hladat v kazdom node HwConfigu, ak sa budu zhodovat v nejakom node bude sa z tohto nodu brat adresa ktora ma "meno" IP_PIC-->
<HwConfigAttributes Name="Printer" Type="UL"/>
<Substitute Address="IP_PIC"/>
</Device>
<!-- Rozvodna doska emtest (stara) -->
<Device Name="SwitchBoard" FwFile="^RozvodnaDoska.*\.BIN$" FwHeadFile="^head_RozvodnaDoska.*\.BIN$">
<Properties Address="96"/>
</Device>
<!-- Nove rozvodne dosky (TDCB) -->
<Device Name="ConnBoardTransData" FwFile="TDCB_.*\_FW_v.*\.bin">
<Properties Address="96"/>
</Device>
<!-- Predne + Bocne tabule, popis adries: etabledriverheader.h -->
<Device Name="TableMchip" FwFile="FW_TABLE.T1">
<Properties Address="64"/> <!-- FRONT1 -->
<Properties Address="71"/> <!-- FRONT2 -->
<Properties Address="65"/> <!-- SIDE1 -->
<Properties Address="67"/> <!-- SIDE2 -->
<Properties Address="72"/> <!-- SIDE3 -->
<Properties Address="73"/> <!-- SIDE4 -->
</Device>
<!-- Vnutorne tabule, popis adries: etabledriverheader.h -->
<Device Name="TableMchip" FwFile="FW_TABLE.T2">
<Properties Address="66"/> <!-- INNER1 -->
<Properties Address="69"/> <!-- INNER2 -->
<Properties Address="74"/> <!-- INNER3 -->
</Device>
<!-- Zadne tabule, popis adries: etabledriverheader.h -->
<Device Name="TableMchip" FwFile="FW_TABLE.T3">
<Properties Address="68"/> <!-- REAR1 -->
<Properties Address="70"/> <!-- REAR2 -->
</Device>
<Device Name="PrinterMikroelektronikaOcc">
<HwConfigAttributes Name="Printer" Type="MIKROELEKTRONIKAOCC"/>
<Substitute Address="IP"/>
</Device>
</Devices>
</FWUpdateConfig>
Table - Device pre tabule postavene na fujitsu procesore - nepodporovane zariadenie
TableMchip - Device pre tabule postavene na PIC procesore. Pre device je potrebne specifikovat adresu pomocou atributu Address v node Properties
SwitchBoard - emtest rozvodky (stare)
ConnBoardTransData - TransData rozvodky (nove), subor s firmware musi mat nazov v tvare “TDCB_<lubovolne znaky>_FW_v<lubovolne znaky>.bin”, napr. “TDCB_180101_FW_v2.bin”
PrinterMikroelektronikaOcc - Mikroelektronika tlačiareň OCC/OCP
konfigurak na nastavenie specianych textov cez menu ( CMDShowSpecialTextOnTable ). Pre spravne zobrazovanie musi byt subor v kodovani utf-8 a musi to byt deklarovane v havicke suboru
Atributy positionY a font-size sa zadavaju podla rovnakych podmienok ako v rezime mimo vydaja v tabule.xml.
<?xml version="1.0" encoding="utf-8"?>
<texts>
<text positionY="13" font-size="4">Prejazd</text>
<text positionY="13" font-size="4">Svadba</text>
<text positionY="13" font-size="4">Manipulačná jazda</text>
</texts>
Konfiguračný súbor definujúci, čo má zobrazovať LCD display na tlačiarni (EMtest UL tlačiarni, alebo Mikroelektronika OCC)
<LCDDisplay>
<!-- legacy section for EMTest UL LCD and old mijola driver -->
<State name="StateApproachCard" id="0">
<Text name="tariff" x="0" y="0" font-size="12" align="HCenter"/>
<Text name="price" x="0" y="20" font-size="20" align="HCenter"/>
<Text name="card_approach" x="0" y="48" font-size="12" align="HCenter"/>
</State>
<State name="StateInIssue" id="1">
<Text name="date" x="0" y="0" font-size="12" align="Left"/>
<Text name="time" x="0" y="0" font-size="12" align="Right"/>
<Text name="station" x="0" y="12" font-size="10" align="Center" wrap-text="1"/>
</State>
<State name="StateOutIssue" id="2">
<Text name="date" x="0" y="0" font-size="12" align="Left"/>
<Text name="week_day" x="0" y="0" font-size="12" align="Right"/>
<Text name="time" x="0" y="12" font-size="24" align="Center"/>
</State>
<DeviceType type="OCC" width="320" height="240" font-color="#33BBF0" background-color="#202020">
<State name="StateApproachCard" id="0">
<Text name="tariff" x="0" y="0" font-size="40" align="HCenter"/>
<Text name="price" x="0" y="80" font-size="60" align="HCenter"/>
<Text name="card_approach" x="0" y="180" font-size="36" align="HCenter"/>
</State>
<State name="StateInIssue" id="1">
<Text name="date" x="5" y="5" font-size="24" align="Left"/>
<Text name="time" x="160" y="5" width="155" height="30" font-size="24" align="Right"/>
<Text name="station" x="0" y="35" font-size="42" align="Center" wrap-text="1"/>
</State>
<State name="StateOutIssue" id="2">
<Text name="date" x="5" y="5" font-size="24" align="Left"/>
<Text name="week_day" x="160" y="5" width="155" height="30" font-size="24" align="Right"/>
<Text name="time" x="0" y="12" font-size="48" align="Center"/>
</State>
</DeviceType>
</LCDDisplay>
Obsahuje sekciu DeviceType type=“XXX” pre každé podporované zariadenie, kde type korešponduje s typom v HwConfig.xml. Sekcia pre EMtest UL LCD nie je zapuzdrená v tejto sekcii z dôvodu spätnej kompatibility. (Keď prestane byť táto kompatibilita dôležitá, je možné aj túto sekciu zapúzdriť, aplikačný driver je na to pripravený.)
Očakáva sa, že každé zariadenie bude obsahovať zadefinované 3 stavy (id je potrebné dodržať):
Každý stav môže obsahovať ľubovoľný počet preddefinovaných textov
Zoznam preddefinovaných textov
Popis atribútov:
DeviceType:
State:
Text:
Konfiguračný súbor pre definíciu vyčítavaných hodnôt z CAN zbernice
<CfgCANValueCol>
<CfgCANValue>
<ID>1</ID>
<Name>Motor otacky</Name>
<Do>1</Do>
<MaxAge>30</MaxAge>
</CfgCANValue>
<CfgCANValue>
<ID>2</ID>
<Name>Rychlost</Name>
<Do>1</Do>
<MaxAge>30</MaxAge>
</CfgCANValue>
...
<CfgCANValueCol>
Kde:
MOTOR_OTACKY = 1 RYCHLOST = 2 PEDAL_PLYN = 3 PALIVO_CELKOVA_SPOTREBA = 4 PALIVO_STAV_NADRZE = 5 PALIVO_PRUMERNA_SPOTREBA = 6 PEDAL_BRZDA = 7 MOTOR_CAS_CELKOM = 8 VZDALENOST_CELKOM = 9 VZDALENOST_DEN = 10 VZDALENOST_SERVIS = 11 MOTOR_TEPLOTA = 12 TACHOGRAF_RYCHLOST = 13 DVERE = 14 PALIVO_OKAMZITA_SPOTREBA = 15 PALIVO_PRUTOK = 16 EM_TEPLOTA_1_LONG_VALUE = 50 (exteriérová teplota) EM_TEPLOTA_2_LONG_VALUE = 51 (interiérová teplota) EM_USER_01_LONG_VALUE = 52 (klimatizácia ) EM_USER_02_LONG_VALUE = 53 (nezávislé kúrenie)
Konfiguračný súbor pre prevodník Ethernet/CAN zbernica (Eth2Can). Pri nábehu aplikácie CANDriver sa vyčíta aktuálna konfigurácia prevodníka a ak sa niektorá hodnota parametra z konfiguračného súboru líši od vyčítanej hodnoty, odošle sa prevodníku aktualizovaná konfigurácia.
<CfgEth2CanCol>
<!-- Nakladni vozidla paterni CAN -->
<CfgEth2Can>
<ID>1</ID>
<CanSpeed>8</CanSpeed>
<ListenOnly>0</ListenOnly>
<StExt>1</StExt>
</CfgEth2Can>
<!-- Nakladni vozidla FMS Brana. -->
<CfgEth2Can>
<ID>2</ID>
<CanSpeed>8</CanSpeed>
<ListenOnly>0</ListenOnly>
<StExt>1</StExt>
<Address>192.168.12.150</Address>
<Port>3000</Port>
<StartupTimeout>5</StartupTimeout>
<ShutdownTimeout>5</ShutdownTimeout>
<EthWatchdog>0</EthWatchdog>
<AppStartTimeout>15</AppStartTimeout>
</CfgEth2Can>
</CfgEth2CanCol>
Obsahuje n konfigurácií identifikovaných atribútom ID. Ktorá konfigurácia sa použije je určené parametrom cfgId pri spušťaní CANDriver:
CANDriver ... -cfgId 1 ...
Parametre, ktoré je možné nastaviť sú:
| Hodnota | Rýchlosť |
|---|---|
| 0 | 10k |
| 1 | 20k |
| 2 | 33.3k |
| 3 | 50k |
| 4 | 62.5k |
| 5 | 83.3k |
| 6 | 100k |
| 7 | 125k |
| 8 | 250k |
| 9 | 500k |
| 10 | 1M |
Konfiguračný súbor pre CANEventProcessor (súčasť aplikácie DataProcessor), ktorý slúži na sledovanie vybraných dát zo zbernice CAN. Procesor kontroluje, či sa sledovaná veličina zo zbernice CAN nachádza v povolenom intervale. Ak dojde k prekročeniu spodnej alebo vrchnej hranice, vytvorí sa o tom záznam.
<CfgCANEventProcessorCol>
<CfgCANEventProcessor>
<CfgCANEventProcessorID>101</CfgCANEventProcessorID>
<Name>Otacky Motoru</Name>
<Min>2000</Min>
<Max>5500</Max>
<Time>5</Time>
</CfgCANEventProcessor>
<CfgCANEventProcessor>
<CfgCANEventProcessorID>102</CfgCANEventProcessorID>
<Name>Teplota Motoru</Name>
<Min>-10</Min>
<Max>95</Max>
<Time>10</Time>
</CfgCANEventProcessor>
</CfgCANEventProcessorCol>
| CfgCANEventProcessorID | Sledovaná hodnota |
|---|---|
| 101 | MOTOR_OTACKY_LONG_VALUE |
| 102 | MOTOR_TEPLOTA_LONG_VALUE |
Hlavný konfiguračný súbor pre PC Predpredaj.
Umiestnenie
Mal by byť umiestnený na lokálnej ceste:
c:\\WinAdo\\Predpredaj\\PredpredajCfg.xml
Ak sa na tejto ceste nenachádza, tak sa hľadá na alternatívnej ceste:
[adresár firmy nastavený v TransOffice]predpredaj\\PredpredajCfg_[používateľ na lokálnom počítači].xml
čiže napríklad: “\\ARES\WinADO_slovaklines\predpredaj\PredpredajCfg_benadik.xml”
Alternatívne umiestnenie bolo zapracované pre niektorého českého zákazníka, u ktorého viacerí klienti spúšťali PC Predpredpredaj na serveri.
Formát
<?xml version="1.0" encoding="utf-8"?> <data data="c:\winado\predpredaj\data\" statistika="c:\winado\predpredaj\statistika\" ... />
Atribúty
Konfiguračný súbor slúži na to, že definuje text správy, ktorý sa má zobraziť na vnútornej LCD tabuli spolu s prehratím mp3 súboru na pokyn vodiča
<PanelMessages>
<PanelMessage SoundFile="Cakanie_podla_prikazu_dispecingu.mp3" Message="Čakanie podľa príkazu dispečingu"/>
<PanelMessage SoundFile="Hlasenie_o_cistote_autobusu.mp3" Message="Hlásenie o čistote autobusu"/>
<PanelMessage SoundFile="Nastup_nevidiaceho_cestujuceho.mp3" Message="Nástup nevidiaceho cestujúceho"/>
...
</PanelMessages>
Štruktúra je veľmi jednoduchá, atribút SoundFile obsahuje názov mp3 súboru, atribút Message text správy pre LCD tabuľu