Dokument popisujúci stavy monitoringového súboru tlačiarne:
hades/DokumentaciaTD/VyvojovyUsek/VyvojSW/TransFare/OnboardComputer_Slave_Common/Monitoring_#lastVersion#.doc
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
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 |
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
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
Vseobecny dokument popisujuci specifikaciu tlaciarne:
Dokumentacia/Projekty_ISO/02_PlatobnySystem-Intel/VseobecneAnalyzy/Printer/Printer_TUP500
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/
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.
| 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 | - | - |
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"/>