====== 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: [[dev_dec:printer#monitoring_tlaciarni| 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
{{dev_dec:statusovysubortlaciaren_bajtystatusutlaciarne.png|}}
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: [[dev_dec:printer#monitoring_tlaciarni| 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: