Table of Contents

Monitoring tlačiarní

Dokument popisujúci stavy monitoringového súboru tlačiarne:

hades/DokumentaciaTD/VyvojovyUsek/VyvojSW/TransFare/OnboardComputer_Slave_Common/Monitoring_#lastVersion#.doc

Hardvérový kód stavu tlačiarne

tlačiaren posiela svoj stav aplikacii. Na zaklade stastusoveho kodu tlaciarne sa v ovladaci tlaciarne vytvara monitoringovy statusovy subor.

Status tlaciarne je bitovo orientovane cislo a jednotlive bity su nastavene nasledovne podla podkapitol pre jednotlive tlaciarne.

Preciarknute popisy su stavy tlaciarne na ktore ovladac tlaciarne nereaguje.

Na zaklade popisu chyby je mozne zistit/sparovat ktory bit je nastaveny v statusovom subore tlaciarne. Popis statustoveho suboru sa nachadza: Monitoring tlaciarni

Hardvérový kód stavu grafickej tlačiarne (SPI, UL, Mikroelektronika OCC)

Masky v naledujúcej tabuľke sú posunuté vždy o jeden bit oproti tým, ktoré sú uvedené v dokumente Monitoring_*.pdf. Je to kvôli tomu, že na Least Significant Bit je ešte doplnený príznak komunikuje/nekomunikuje

Maska Enum Popis chyby / stav Properties::Status Obmedzenia
00000000 00000001 PrinterMonitoringMaskOverheat Prehriata hlava PROPERTY_ITEM_PRINTER_OVERHEAT
00000000 00000010 PrinterMonitoringMaskHeadUp Zdvihnutá hlava PROPERTY_ITEM_PRINTER_HEAD_UP
00000000 00000100 PrinterMonitoringMaskPaperLess Nezaložený papier PROPERTY_ITEM_PRINTER_PAPER_LESS
00000000 00001000 PrinterMonitoringMaskCutErr Chyba rezačky PROPERTY_ITEM_PRINTER_CUTERR
00000000 00010000 PrinterMonitoringMaskBlackmarkSynchError Chyba blackmark módu PROPERTY_ITEM_PRINTER_BM_ERROR
00000000 01000000 PrinterMonitoringMaskCasterEmptySensor1 Dochádza papier - senzor 1 PROPERTY_ITEM_PRINTER_CASTER_EMPTY
00000000 10000000 PrinterMonitoringMaskCasterEmptySensor2 Dochádza papier - senzor 2 PROPERTY_ITEM_PRINTER_CASTER2_EMPTY
00000000 10000000 Tlač prebehla úspešne Iba SPI
00000010 00000000 PrinterMonitoringMaskCaseLock Otvorený kryt tlačiarňe. PROPERTY_ITEM_PRINTER_CASE_LOCK Funguje len pri SPI tlaciarnach, ktore maju v HwConfig.xml zapnuty ALEBO
nedefinovany Extended Status pomocou atributu tlaciarne DisableExStatus2
00000010 00000000 Prezenter je pripojený k tlačiarni
00000100 00100000 PrinterMonitoringMaskPaperInPresenter V prezenteri ostal listok PROPERTY_ITEM_PRINTER_PAPER_PRESENTER
00001000 00000000 PrinterMonitoringMaskBlackmarkModeOn Blackmark mód zapnutý PROPERTY_ITEM_PRINTER_BM_MODE

Detekcia stavu tlaciarne zo statusoveho suboru StatusPrinter.dat

Status tlaciarne sa uklada do suboru v little endiane. Pre zobrazenie pouzit prikaz:

hexdump -C /tmp/StatusPrinter.dat

Transformacia little endianu ⇒ big endianu:

Little endian '8c 00 00 00' ⇒ Big endian '00 00 00 8c'. Status tlaciarne predstavuje hexa kod 8c, co je mozne zrekodovat na zaklade dokumentu: Monitoring tlaciarni

EMtest printer

Dokumenty pre SPI tlaciaren:

Dokumentacia/Projekty_ISO/02_PlatobnySystem-Intel/VseobecneDokumentacie/Kom_protokoly_SPI/Bitmapova tlaciaren

Dokumenty popisujuci ecomm komandy pre komunikaciu s UL tlaciarnou:

Dokumentacia/Projekty_ISO/02_PlatobnySystem-Intel/VseobecneAnalyzy/KomunikaciaPeriferie/ecomm/Popis komunikacneho protokolu-*.pdf

Vseobecny dokument popisujuci specifikaciu tlaciarne:

Dokumentacia/Projekty_ISO/02_PlatobnySystem-Intel/VseobecneAnalyzy/Printer/Printer_EMtest

Changelog k verziam firmware-u

Dokumentacia/WinAD_SOFT/InterneEXE/NahravacFirmware/VERZIA_FIRMWARE-U

TUP 500 printer (automatova tlaciaren)

Vseobecny dokument popisujuci specifikaciu tlaciarne:

Dokumentacia/Projekty_ISO/02_PlatobnySystem-Intel/VseobecneAnalyzy/Printer/Printer_TUP500

Mikroelektronika OCC Printer

Komunikačné protokoly popisujúce komunikáciu s tlačiarňou nájdete:

DokumentaciaTD/VyvojovyUsek/VyvojSW/TransFare/Devices/MikroelektronikaOCCPrinter

Firmware sa na Vesne nachádza v:

/mnt/userfs/tftp/data/

Nahravanie firmware-u na tlaciaren

Je potrebne mat v aktualnom priecinku vytvoreny priecinok tftp v ktorom sa bude nachadzat firmware. Tlaciaren sa po nastartovani pripaja na IP 192.168.232.1 a firmware sa stiahne a spusti na tlaciarni.

Firmware (uImage, rootfs.cpio.uboot) sa nachadza v najnovsom priecinku bud priamo alebo v archive na ceste:

 ftp://sdktransdatask@sdk.mikroelektronika.cz/emtest-ocp-api/ 

Demo skript na nahratie firmware-u na tlaciarne (skript z palubaku):

#!/bin/sh
# Tlaciaren ma IP adresu 192.168.232.2
OCP_IP=192.168.232.2
export LD_LIBRARY_PATH="$PWD/lib"
killall tftpd

# Na PC sa musi nastavit podsiet
ifconfig eth0:3 192.168.232.1 netmask 255.255.248.0 up

# Spusti sa tftpd s cestou kde je umiestneny firmware
./tftpd -v  -u root --listen -4 --secure "$PWD/tftp/" && echo OK

if ! ping -q -c 1 "$OCP_IP"; then
  echo "Waiting for OCP boot!"
  sleep 15
  ping -q -c 1 "$OCP_IP" || exit 1
fi

Nahratie firmveru z pc:

# Nainstalovanie TFTP servera
sudo apt-get install tftpd-hpa

# Defaultne sa ako root directory pre TFTP pouziva priecinok /var/lib/tftpboot, treba mu nastavit prava pre pouzivatela tftp
sudo chown -R tftp /var/lib/tftpboot

# Tlaciaren si pri starte stiahne firmver z 192.168.232.1, treba si tuto IP nastavit do interfacu
ifconfig eth0 192.168.232.1 netmask 255.255.248.0

# Do /var/lib/tftpboot treba skopirovat firmver (subory "uImage" a "rootfs.cpio.uboot"). Po restarte tlaciarne sa firmver stiahne a nainstaluje.
# ! Pozor - pokial v tlaciarni nie je firmver, nebude ju mozne ani ping-nut - netreba hladat chybu v sieti.

Popis statusov

Status Properties::Status Monitoring Event (thermprnSetEventHandler) Method (thermprn.h)
Teplota hlavy PROPERTY_ITEM_PRINTER_HEAD_TEMP - - thermprnGetHeadTemp
Zdvihnutá hlava PROPERTY_ITEM_PRINTER_HEAD_UP PrinterMonitoringMaskHeadUp THERMPRN_E_PLATEN thermprnCheckSwHead
Nie je založený papier PROPERTY_ITEM_PRINTER_PAPER_LESS PrinterMonitoringMaskPaperLess - thermprnCheckRemainingPaper
Prehriata hlava tlačiarne PROPERTY_ITEM_PRINTER_OVERHEAT PrinterMonitoringMaskOverheat THERMPRN_E_HIGH_TEMPERATURE thermprnCheckTemperature
Zapnutý blackmark mód PROPERTY_ITEM_PRINTER_BM_MODE PrinterMonitoringMaskBlackmarkModeOn - -
Chyba blackmark-u PROPERTY_ITEM_PRINTER_BM_ERROR PrinterMonitoringMaskBlackmarkSynchError THERMPRN_E_SYNCNOTFOUND -
Otvorený kryt tlačiarne PROPERTY_ITEM_PRINTER_CASE_LOCK PrinterMonitoringMaskCaseLock - -
Prázdny kotúč papiera 1 PROPERTY_ITEM_PRINTER_CASTER_EMPTY PrinterMonitoringMaskCasterEmptySensor1 THERMPRN_E_OUTOFPAPER thermprnCheckPaper
Prázdny kotúč papiera 2 PROPERTY_ITEM_PRINTER_CASTER2_EMPTY PrinterMonitoringMaskCasterEmptySensor2 - -
Širka tlačiarne PROPERTY_ITEM_PRINTER_WIDTH - - thermprnGetPaperWidthPx
Chyba rezačky PROPERTY_ITEM_PRINTER_CUTERR PrinterMonitoringMaskCutErr THERMPRN_E_CUTTER_ERROR -
?? PROPERTY_ITEM_PRINTER_CUTCHECKED - - -
V prezentéri ostal lístok PROPERTY_ITEM_PRINTER_PAPER_PRESENTER PrinterMonitoringMaskPaperInPresenter - -
Pritomný LCD display PROPERTY_ITEM_PRINTER_LCD_DISP_PRESENT - - -
SNR tlačiarne PROPERTY_ITEM_PRINTER_SNR ERecord::SetDeviceNumber - -

Virtualna tlac do popup okna

Pre testovacie ucely bola vytvorena implementacia PrinterImplDisplay v kniznici CommonDevices v module printerdriver, ktora netlaci na zariadeni, ale zobrazuje bitmapu na tlac vo vyskakovacom okne.

Pre zapnutie je potrebne nastavit v HwConfig.xml v node Printer:

Type="DISPLAY"

Vysledna konfiguracia tlaciarne moze vyzerat nasledovne:

<Device Name="Printer" Enable="1" IP_PIC="XXX.XXX.XXX.XXX:6666" NoEmcommd="True" Type="DISPLAY" ID="0"/>