1 # -*- coding: utf-8 -*-
3 # (c) Copyright 2003-2007 Hewlett-Packard Development Company, L.P.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 # Author: Don Welch, Naga Samrat Chowdary Narla,
22 # NOTE: Not used by Qt4 code. Use maint_*.py modules instead.
28 from prnt import pcl, ldl, colorcal
30 # ********************** Align **********************
32 def AlignType1(dev, loadpaper_ui): # Auto VIP (using embedded PML)
35 dev.writeEmbeddedPML(pml.OID_AUTO_ALIGNMENT,
36 pml.AUTO_ALIGNMENT, style=0,
42 def AlignType1PML(dev, loadpaper_ui): # Auto VIP (using PML)
45 dev.setPML(pml.OID_AUTO_ALIGNMENT, pml.AUTO_ALIGNMENT)
52 def AlignType2(dev, loadpaper_ui, align_ui, bothpens_ui): # 8xx
53 state, a, b, c, d = 0, 6, 6, 3, 3
58 pens = dev.getStatusFromDeviceID()['agents']
59 pen_types = [pens[x] for x in range(len(pens))]
60 if AGENT_TYPE_NONE in pen_types:
61 log.error("Cannot perform alignment with 0 or 1 pen installed.")
73 ok, a = align_ui('A', 'h', 'kc', 2, 11)
79 ok, b = align_ui('B', 'v', 'kc', 2, 11)
85 ok, c = align_ui('C', 'v', 'kc', 2, 5)
91 ok, d = align_ui('D', 'v', 'c', 2, 5)
98 alignType2Phase2(dev, a, b, c, d)
110 def AlignType3(dev, loadpaper_ui, align_ui, paperedge_ui, align_type): # 9xx
111 state, a, b, c, d, zca = 0, 6, 6, 3, 3, 6
118 alignType3Phase1(dev)
123 ok, a = align_ui('A', 'h', 'kc', 2, 11)
129 ok, b = align_ui('B', 'v', 'kc', 2, 11)
135 ok, c = align_ui('C', 'v', 'k', 2, 11)
141 ok, d = align_ui('D', 'v', 'kc', 2, 11)
147 alignType3Phase2(dev, a, b, c, d)
157 alignType3Phase3(dev)
158 ok, zca = paperedge_ui(13)
165 alignType3Phase4(dev, zca)
171 def AlignxBow(dev, align_type, loadpaper_ui, align_ui, paperedge_ui,
172 invalidpen_ui, coloradj_ui): # Types 4, 5, and 7
174 state, statepos = 0, 0
175 user_cancel_states = [1000, -1]
176 a, b, c, d, e, f, g = 0, 0, 0, 0, 0, 0, 0
180 dev.pen_config = status.getPenConfiguration(dev.getStatusFromDeviceID())
182 if dev.pen_config in (AGENT_CONFIG_NONE, AGENT_CONFIG_INVALID):
183 state, states = 100, [-1]
185 elif dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
186 state, states = 0, [2, 200, 3, -1]
188 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
189 state, states = 0, [2, 200, 3, -1]
191 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
192 state, states = 0, [2, 300, 3, -1]
194 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
195 state, states = 0, [2, 400, 500, 600, 700, 3, 4, -1]
197 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
198 state, states = 0, [2, 400, 500, 600, 700, 800, 900, 3, 4, -1]
206 alignType4Phase1(dev)
207 elif align_type == 5:
208 alignType5Phase1(dev)
209 elif align_type == 7:
210 alignType7Phase1(dev)
212 statepos, states = 0, error_states
214 statepos, states = 0, user_cancel_states
218 ok, a = paperedge_ui(13)
220 statepos, states = 0, user_cancel_states
224 alignType4Phase2(dev, a, b, c, d, e)
225 elif align_type == 5:
226 alignType5Phase2(dev, a, b, c, d, e, f, g)
228 alignType7Phase2(dev, a, b, c, d, e, f, g)
234 alignType4Phase3(dev)
235 elif align_type == 5:
236 alignType5Phase3(dev)
238 alignType7Phase3(dev)
240 statepos, states = 0, user_cancel_states
246 elif state == 200: # B Line - Black only or photo only
247 ok, b = align_ui('B', 'v', 'k', 2, 11)
249 statepos, states = 0, user_cancel_states
251 elif state == 300: # B Line - Color only
252 ok, b = align_ui('B', 'v', 'kc', 2, 11)
254 statepos, states = 0, user_cancel_states
256 elif state == 400: # B Line - 2 pen
257 ok, b = align_ui('B', 'h', 'kc', 2, 17)
259 statepos, states = 0, user_cancel_states
261 elif state == 500: # C Line
262 ok, c = align_ui('C', 'v', 'kc', 2, 17)
264 statepos, states = 0, user_cancel_states
266 elif state == 600 : # D Line
267 ok, d = align_ui('D', 'v', 'k', 2, 11)
269 statepos, states = 0, user_cancel_states
271 elif state == 700: # E Line
272 ok, e = align_ui('E', 'v', 'kc', 2, 11)
274 statepos, states = 0, user_cancel_states
276 elif state == 800: # F Line
277 ok, f = coloradj_ui('F', 21)
279 statepos, states = 0, user_cancel_states
281 elif state == 900: # G Line
282 ok, f = coloradj_ui('G', 21)
284 statepos, states = 0, user_cancel_states
286 elif state == 1000: # User cancel
288 log.warning("Alignment canceled at user request.")
290 state = states[statepos]
296 def AlignType6(dev, ui1, ui2, loadpaper_ui):
305 # Need to printout alignment page
308 elif state == 1: # Load and print
312 alignType6Phase1(dev)
315 elif state == 2: # Finish
322 def AlignType8(dev, loadpaper_ui, align_ui): # 450
323 state, a, b, c, d = 0, 5, 5, 5, 5
332 num_inks = alignType8Phase1(dev)
337 ok, a = align_ui('A', 'v', 'k', 3, 9)
343 ok, b = align_ui('B', 'v', 'c', 3, 9)
349 ok, c = align_ui('C', 'v', 'kc', 3, 9)
355 ok, d = align_ui('D', 'h', 'kc', 3, 9)
360 alignType8Phase2(dev, num_inks, a, b, c, d)
366 def AlignType10(dev, loadpaper_ui, align_ui):
367 pattern = alignType10SetPattern(dev)
375 alignType10Phase1(dev)
379 values = align_ui(pattern, ALIGN_TYPE_LBOW)
381 alignType10Phase2(dev, values, pattern)
388 alignType10Phase3(dev)
391 def alignType10SetPattern(dev):
393 pen_config = status.getPenConfiguration(dev.getStatusFromDeviceID())
394 log.debug("Pen config=%d" % pen_config)
396 if pen_config == AGENT_CONFIG_BLACK_ONLY:
399 elif pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
402 elif pen_config in (AGENT_CONFIG_COLOR_AND_PHOTO, AGENT_CONFIG_COLOR_AND_GREY):
405 log.debug("Pattern=%d" % pattern)
409 def alignType10Phase1(dev):
410 dev.writeEmbeddedPML(pml.OID_PRINT_INTERNAL_PAGE,
411 pml.PRINT_INTERNAL_PAGE_ALIGNMENT_PAGE)
416 def alignType10Phase2(dev, values, pattern):
417 i, p = 0, ''.join([pcl.UEL, '\n'])
423 p = ''.join([p, pcl.ESC, '*o5W\x1a', chr(i), '\x00', chr(pattern), chr(x), '\n'])
425 p = ''.join([p, pcl.UEL])
431 def alignType10Phase3(dev):
432 dev.writeEmbeddedPML(pml.OID_PRINT_INTERNAL_PAGE,
433 pml.PRINT_INTERNAL_PAGE_ALIGNMENT_PAGE_VERIFICATION)
438 def align10and11and14Controls(pattern, align_type):
439 if align_type == ALIGN_TYPE_LIDIL_0_5_4:
441 controls = { 'A' : (True, 23),
449 elif pattern == 2: # K + color (ii)
450 controls = { 'A' : (True, 17),
459 elif pattern == 3: # color + photo (iii)
460 controls = { 'A' : (True, 9),
469 elif align_type == ALIGN_TYPE_LIDIL_DJ_D1600:
471 controls = { 'A' : (True, 23),
473 elif pattern == 2: # K + color (ii)
474 controls = { 'A' : (True, 23),
484 elif pattern == 3: # color + photo (iii)
485 controls = { 'A' : (True, 9),
497 controls = {'A' : (True, 23),
506 controls = {'A' : (True, 23),
516 controls = {'A' : (True, 23),
528 def AlignType11(dev, loadpaper_ui, align_ui, invalidpen_ui):
529 pattern = alignType11SetPattern(dev)
540 alignType11Phase1(dev)
544 values = align_ui(pattern, ALIGN_TYPE_LIDIL_0_5_4)
546 alignType11Phase2(dev, values, pattern, dev.pen_config)
553 alignType11Phase3(dev)
556 def alignType11SetPattern(dev):
558 dev.pen_config = status.getPenConfiguration(dev.getStatusFromDeviceID())
559 log.debug("Pen config=%d" % dev.pen_config)
561 if dev.pen_config in (AGENT_CONFIG_BLACK_ONLY, AGENT_CONFIG_COLOR_ONLY): # (i)
564 if dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK: # (ii)
567 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO: # (iii)
570 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
573 log.debug("Pattern=%d" % pattern)
577 def alignType11Phase1(dev):
578 dev.printData(ldl.buildResetPacket())
579 dev.printData(ldl.buildReportPagePacket(ldl.COMMAND_REPORT_PAGE_PEN_CALIBRATION))
583 def alignType11Phase2(dev, values, pattern, pen_config):
586 if pen_config == AGENT_CONFIG_BLACK_ONLY:
587 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_K
590 elif pen_config == AGENT_CONFIG_COLOR_ONLY:
591 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_COLOR
594 elif pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
595 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_K | ldl.COMMAND_SET_PEN_ALIGNMENT_3_COLOR
597 elif pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
598 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_COLOR | ldl.COMMAND_SET_PEN_ALIGNMENT_3_PHOTO
600 log.debug("Active colors=0x%x Values=%s" % (active_colors, values))
602 dev.printData(ldl.buildSetPenAlignment3Packet(active_colors, values))
605 def alignType11Phase3(dev):
606 dev.printData(ldl.buildResetPacket())
607 dev.printData(ldl.buildReportPagePacket(ldl.COMMAND_REPORT_PAGE_PEN_CALIBRATION_VERIFY))
611 def AlignType13(dev, loadpaper_ui, scanner_align_load_ui): # Auto AiO (Yellowtail)
614 alignType13Phase1(dev)
615 ok = scanner_align_load_ui()
619 def alignType13Phase1(dev):
620 dev.setPML(pml.OID_AUTO_ALIGNMENT, pml.AUTO_ALIGNMENT)
623 calibrationSession = 1
625 def dataModelHelper(dev, func, ui2):
626 data = status.StatusType10FetchUrl(func, "/Calibration/State")
628 data = status.StatusType10FetchUrl(func, "/Calibration/State")
631 log.debug("Unable to retrieve calibration state")
635 if "ParmsRequested" in data:
636 log.error("Restart device and start alignment")
640 if "404 Not Found" in data:
641 log.error("Device may not support Alignment")
645 if "Printing<" in data:
646 log.warn("Previous alignment job not completed")
650 data = status.StatusType10FetchUrl(func, "/DevMgmt/ConsumableConfigDyn.xml")
651 if "AlignmentMode" not in data:
652 log.error("Device may not support Alignment")
656 if "automatic" in data:
657 log.debug("Device supports automatic calibration")
658 status.StatusType10FetchUrl(func, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
662 if "semiAutomatic" in data:
663 log.debug("Device supports semiAutomatic calibration")
664 status.StatusType10FetchUrl(func, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
669 log.debug("Device supports manual calibration")
670 data = status.StatusType10FetchUrl(func, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
672 data = string.split(data, "/Jobs")[1]
673 data = string.split(data, "\r\n")[0]
674 data = "/Jobs" + data
675 data = status.StatusType10FetchUrl(func, data)
676 data = string.split(data, "Session/")[1]
677 data = string.split(data, "<")[0]
678 data = "/Calibration/Session/" + data + "/ManualSelectedPatterns.xml"
679 global calibrationSession
680 calibrationSession = data
684 def AlignType16Manual(dev, a, b, c, d, e, f, g, h, i):
685 log.debug("a=%s b=%s c=%s d=%s e=%s f=%s g=%s h=%s i=%s" % (a, b, c, d, e, f, g, h, i ))
686 data = status.StatusType10FetchUrl(func, "/Calibration/State")
691 while "ParmsRequested" not in data:
692 if "CalibrationValid" in data:
694 data = status.StatusType10FetchUrl(func, "/Calibration/State")
695 data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- THIS DATA SUBJECT TO DISCLAIMER(S) INCLUDED WITH THE PRODUCT OF ORIGIN. -->\n<ManualSelectedPatterns xmlns=\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\" xmlns:locid=\"http://www.hp.com/schemas/imaging/con/ledm/localizationids/2007/10/31/\" xmlns:psdyn=\"http://www.hp.com/schemas/imaging/con/ledm/productstatdyn/2007/10/31\"><SelectedPattern><Identifier><Id>1</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>2</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>3</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>4</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>5</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>6</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>7</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>8</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>9</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern></ManualSelectedPattern>" % ( a, b, c, d, e, f, g, h, i )
696 data = "PUT %s HTTP/1.1\r\nHost: localhost\r\nUser-Agent: hp\r\nAccept: text/plain\r\nAccept-Language: en-us,en\r\nAccept-Charset:utf-8\r\nContent-Type: text/xml\r\nContent-Length: %s\r\n\r\n" % ( calibrationSession, len(data)) + data
697 data = status.StatusType10FetchUrl(func, calibrationSession, data)
699 def AlignType15(dev, loadpaper_ui, ui2):
700 if not loadpaper_ui():
702 return dataModelHelper(dev, dev.getEWSUrl_LEDM, ui2)
704 def AlignType15Phase1(dev, ui2):
705 return dataModelHelper(dev, dev.getEWSUrl_LEDM, ui2)
707 #AlignType 17 is LEDM via FF/CC/0 USB channel
708 def AlignType17(dev, loadpaper_ui, ui2):
709 if not loadpaper_ui():
711 return dataModelHelper(dev, dev.getUrl_LEDM, ui2)
713 def AlignType17Phase1(dev, ui2):
714 return dataModelHelper(dev, dev.getUrl_LEDM, ui2)
716 def AlignType16(dev, loadpaper_ui, align_ui):
717 if not loadpaper_ui():
719 dataModelHelper(dev, dev.getEWSUrl_LEDM, align_ui)
720 state, a, b, c, d, e, f, g, h, i = 0, 6, 6, 3, 3, 6, 6, 6, 6, 6
725 ok, a = align_ui('A', 'v', 'kc', 3, 23)
731 ok, b = align_ui('B', 'h', 'kc', 3, 11)
737 ok, c = align_ui('C', 'v', 'k', 3, 23)
743 ok, d = align_ui('D', 'v', 'c', 3, 23)
749 ok, e = align_ui('E', 'h', 'k', 3, 11)
755 ok, e = align_ui('F', 'h', 'k', 3, 11)
761 ok, e = align_ui('G', 'h', 'k', 3, 11)
767 ok, e = align_ui('H', 'h', 'k', 3, 11)
773 ok, e = align_ui('I', 'h', 'k', 3, 11)
780 AlignType16Manual(dev, a, b, c, d, e, f, g, h, i)
784 def AlignType16Phase1(dev, a, b, c, d, e, f, g, h, i):
785 AlignType16Manual(dev, a, b, c, d, e, f, g, h, i)
787 def AlignType14(dev, loadpaper_ui, align_ui, invalidpen_ui):
788 pattern = alignType14SetPattern(dev)
799 alignType14Phase1(dev)
803 values = align_ui(pattern, ALIGN_TYPE_LIDIL_DJ_D1600)
805 alignType14Phase2(dev, values, pattern, dev.pen_config)
812 alignType14Phase3(dev)
815 def alignType14SetPattern(dev):
817 dev.pen_config = status.getPenConfiguration(dev.getStatusFromDeviceID())
818 log.debug("Pen config=%d" % dev.pen_config)
820 if dev.pen_config in (AGENT_CONFIG_BLACK_ONLY, AGENT_CONFIG_COLOR_ONLY): # (i)
823 if dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK: # (ii)
826 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO: # (iii)
829 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
832 log.debug("Pattern=%d" % pattern)
836 def alignType14Phase1(dev):
837 dev.printData(ldl.buildResetPacket())
838 dev.printData(ldl.buildReportPagePacket(ldl.COMMAND_REPORT_PAGE_PEN_CALIBRATION))
842 def alignType14Phase2(dev, values, pattern, pen_config):
845 if pen_config == AGENT_CONFIG_BLACK_ONLY:
846 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_K
849 elif pen_config == AGENT_CONFIG_COLOR_ONLY:
850 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_COLOR
853 elif pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
854 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_K | ldl.COMMAND_SET_PEN_ALIGNMENT_3_COLOR
856 elif pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
857 active_colors = ldl.COMMAND_SET_PEN_ALIGNMENT_3_COLOR | ldl.COMMAND_SET_PEN_ALIGNMENT_3_PHOTO
859 log.debug("Active colors=0x%x Values=%s" % (active_colors, values))
861 dev.printData(ldl.buildSetPenAlignment3Packet(active_colors, values))
864 def alignType14Phase3(dev):
865 dev.printData(ldl.buildResetPacket())
866 dev.printData(ldl.buildReportPagePacket(ldl.COMMAND_REPORT_PAGE_PEN_CALIBRATION_VERIFY))
870 def alignType2Phase1(dev): # Type 2 (8xx)
871 dev.writeEmbeddedPML(pml.OID_AGENT2_VERTICAL_ALIGNMENT, 0)
872 dev.writeEmbeddedPML(pml.OID_AGENT2_HORIZONTAL_ALIGNMENT, 0)
873 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, 0)
874 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, 0)
876 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', 'align1_8xx.pcl.gz'))
879 def alignType2Phase2(dev, a, b, c, d): # (8xx)
880 dev.writeEmbeddedPML(pml.OID_AGENT2_VERTICAL_ALIGNMENT, (a - 6) * 12)
881 dev.writeEmbeddedPML(pml.OID_AGENT2_HORIZONTAL_ALIGNMENT, (b - 6) * 12)
882 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, (c - 3) * 12)
883 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, (d - 3) * 12)
884 dev.writeEmbeddedPML(pml.OID_MARKING_AGENTS_INITIALIZED, 3)
886 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', 'align2_8xx.pcl.gz'))
889 def alignType3Phase1(dev): # Type 3 (9xx)
890 dev.writeEmbeddedPML(pml.OID_AGENT2_VERTICAL_ALIGNMENT, 0)
891 dev.writeEmbeddedPML(pml.OID_AGENT2_HORIZONTAL_ALIGNMENT, 0)
892 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, 0)
893 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, 0)
895 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', 'align1_9xx.pcl.gz'))
898 def alignType3Phase2(dev, a, b, c, d): # Type 3 (9xx)
899 dev.writeEmbeddedPML(pml.OID_AGENT2_VERTICAL_ALIGNMENT, (a - 6) * 12)
900 dev.writeEmbeddedPML(pml.OID_AGENT2_HORIZONTAL_ALIGNMENT, (6 - b) * 12)
901 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, (6 - c) * 12)
902 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, (6 - d) * 6)
905 def alignType3Phase3(dev): # Type 3 (9xx)
907 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', 'align3_9xx.pcl.gz'))
910 def alignType3Phase4(dev, zca): # Type 3 (9xx)
911 dev.writeEmbeddedPML(pml.OID_MARKING_AGENTS_INITIALIZED, 3)
913 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', 'align2_9xx.pcl.gz'))
916 def alignType4Phase1(dev): # Type 4 (xBow/LIDIL 0.3.8)
917 dev.printData(ldl.buildLIDILPacket(ldl.PACKET_TYPE_RESUME_NORMAL_OPERATION))
919 if dev.pen_config in (AGENT_CONFIG_NONE, AGENT_CONFIG_INVALID):
922 elif dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
923 ldl_file = 'cbbcal.ldl.gz'
925 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
926 ldl_file = 'cbccal.ldl.gz'
928 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
929 ldl_file = 'cb2pcal.ldl.gz'
931 dev.printData(ldl.buildSetPrinterAlignmentPacket(0, 0, 0, 0))
933 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'ldl', ldl_file))
936 def alignType4Phase2(dev, a, b, c, d, e): # Type 4 (LIDIL 0.3.8)
937 log.debug("A=%d, B=%d, C=%d, D=%d, E=%d" % (a, b, c, d, e))
939 if dev.pen_config in (AGENT_CONFIG_NONE, AGENT_CONFIG_INVALID):
944 dev.printData(ldl.buildZCAPacket(zca))
946 if dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
948 dev.printData(ldl.buildSetPrinterAlignmentPacket(k_bidi, 0, 0, 0))
950 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
951 cmy_bidi = (6 - b) * 2
952 dev.printData(ldl.buildSetPrinterAlignmentPacket(0, 0, 0, cmy_bidi))
954 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
958 cmy_bidi = (6 - e) * 2
960 dev.printData(ldl.buildSetPrinterAlignmentPacket(k_bidi, hort, vert, cmy_bidi))
963 dev.printData(ldl.buildSetPensAlignedPacket())
967 def alignType4Phase3(dev): # Type 4 (LIDIL 0.3.8)
968 if dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
969 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'ldl', 'cb2pcal_done.ldl.gz'))
972 def alignType5Phase1(dev): # Type 5 (xBow+/LIDIL 0.4.3)
973 dev.printData(ldl.buildLIDILPacket(ldl.PACKET_TYPE_RESUME_NORMAL_OPERATION))
975 if dev.pen_config in (AGENT_CONFIG_NONE, AGENT_CONFIG_INVALID):
978 elif dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
979 ldl_file = 'cbbcal.ldl.gz'
981 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
982 ldl_file = 'cbpcal.ldl.gz'
984 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
985 ldl_file = 'cbccal.ldl.gz'
987 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
988 ldl_file = 'cb2pcal.ldl.gz'
990 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
991 ldl_file = 'cbcpcal.ldl.gz'
993 dev.printData(ldl.buildZCAPacket(0))
994 dev.printData(ldl.buildColorHortPacket(0))
995 dev.printData(ldl.buildColorVertPacket(0))
996 dev.printData(ldl.buildBlackVertPacket(0))
997 dev.printData(ldl.buildBlackHortPacket(0))
998 dev.printData(ldl.buildBlackBidiPacket(0))
999 dev.printData(ldl.buildColorBidiPacket(0))
1000 dev.printData(ldl.buildPhotoHuePacket(0))
1001 dev.printData(ldl.buildColorHuePacket(0))
1004 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'ldl', ldl_file))
1007 def alignType5Phase2(dev, a, b, c, d, e, f, g): # Type 5 (xBow+/LIDIL 0.4.3)
1008 log.debug("A=%d, B=%d, C=%d, D=%d, E=%d, F=%d, G=%d" % (a, b, c, d, e, f, g))
1010 if dev.pen_config in (AGENT_CONFIG_NONE, AGENT_CONFIG_INVALID):
1015 dev.printData(ldl.buildZCAPacket(zca))
1017 if dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
1018 k_bidi = (6 - b) * 2
1019 dev.printData(ldl.buildBlackBidiPacket(k_bidi))
1021 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
1022 kcm_bidi = (6 - b) * 2
1023 dev.printData(ldl.buildPhotoBidiPacket(kcm_bidi))
1025 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
1026 cmy_bidi = (6 - b) * 2
1027 dev.printData(ldl.buildColorBidiPacket(cmy_bidi))
1029 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
1032 k_bidi = (6 - d) * 2
1033 cmy_bidi = (6 - e) * 2
1035 dev.printData(ldl.buildColorHortPacket(0))
1036 dev.printData(ldl.buildColorVertPacket(0))
1037 dev.printData(ldl.buildBlackVertPacket(vert))
1038 dev.printData(ldl.buildBlackHortPacket(hort))
1039 dev.printData(ldl.buildBlackBidiPacket(k_bidi))
1040 dev.printData(ldl.buildColorBidiPacket(cmy_bidi))
1042 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
1045 cmy_bidi = (6 - d) * 2
1046 kcm_bidi = (6 - e) * 2
1048 photo_adj = colorcal.PHOTO_ALIGN_TABLE[f][g]
1049 color_adj = colorcal.COLOR_ALIGN_TABLE[f][g]
1051 dev.printData(ldl.buildPhotoHortPacket(hort))
1052 dev.printData(ldl.buildPhotoVertPacket(vert))
1053 dev.printData(ldl.buildColorHortPacket(0))
1054 dev.printData(ldl.buildColorVertPacket(0))
1055 dev.printData(ldl.buildPhotoBidiPacket(kcm_bidi))
1056 dev.printData(ldl.buildColorBidiPacket(cmy_bidi))
1057 dev.printData(ldl.buildPhotoHuePacket(photo_adj))
1058 dev.printData(ldl.buildColorHuePacket(color_adj))
1061 dev.printData(ldl.buildSetPensAlignedPacket())
1065 def alignType5Phase3(dev): # Type 5 (xBow+/LIDIL 0.4.3)
1067 if dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
1068 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'ldl', "cb2pcal_done.ldl.gz"))
1070 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
1071 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'ldl', "cbccal_done.ldl.gz"))
1074 def alignType6Phase1(dev): # Type 6 (xBow AiO)
1075 dev.printData(ldl.buildPrintInternalPagePacket())
1078 def alignType7Phase1(dev): # Type 7 (xBow VIP)
1079 # Zero out all alignment values
1080 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, 0)
1082 dev.writeEmbeddedPML(pml.OID_AGENT2_VERTICAL_ALIGNMENT, 0)
1083 dev.writeEmbeddedPML(pml.OID_AGENT2_HORIZONTAL_ALIGNMENT, 0)
1084 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, 0)
1086 dev.writeEmbeddedPML(pml.OID_AGENT3_VERTICAL_ALIGNMENT, 0)
1087 dev.writeEmbeddedPML(pml.OID_AGENT3_HORIZONTAL_ALIGNMENT, 0)
1088 dev.writeEmbeddedPML(pml.OID_AGENT3_BIDIR_ADJUSTMENT, 0)
1090 dev.writeEmbeddedPML(pml.OID_ZCA, 0)
1092 if dev.pen_config in (AGENT_CONFIG_NONE, AGENT_CONFIG_INVALID):
1095 elif dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
1096 pcl_file = 'crbcal.pcl.gz'
1098 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
1099 pcl_file = 'crpcal.pcl.gz'
1101 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
1102 pcl_file = 'crccal.pcl.gz'
1104 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
1105 pcl_file = 'crcbcal.pcl.gz'
1107 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
1108 pcl_file = 'crcpcal.pcl.gz'
1111 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', pcl_file))
1114 def alignType7Phase2(dev, a, b, c, d, e, f, g): # Type 7 (xBow VIP)
1115 log.debug("A=%d, B=%d, C=%d, D=%d, E=%d, F=%d, G=%d" % (a, b, c, d, e, f, g))
1119 dev.writeEmbeddedPML(pml.OID_ZCA, zca)
1121 if dev.pen_config == AGENT_CONFIG_BLACK_ONLY:
1122 k_bidi = (6 - b) * 6
1123 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, k_bidi)
1125 elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
1126 kcm_bidi = (6 - b) * 6
1127 dev.writeEmbeddedPML(pml.OID_AGENT3_BIDIR_ADJUSTMENT, kcm_bidi)
1129 elif dev.pen_config == AGENT_CONFIG_COLOR_ONLY:
1130 cmy_bidi = (6 - b) * 6
1131 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, cmy_bidi)
1133 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_BLACK:
1136 k_bidi = (6 - d) * 6
1137 cmy_bidi = (6 - e) * 6
1139 dev.writeEmbeddedPML(pml.OID_AGENT1_BIDIR_ADJUSTMENT, k_bidi)
1140 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, cmy_bidi)
1141 dev.writeEmbeddedPML(pml.OID_AGENT2_HORIZONTAL_ALIGNMENT, hort)
1142 dev.writeEmbeddedPML(pml.OID_AGENT2_VERTICAL_ALIGNMENT, vert)
1144 elif dev.pen_config == AGENT_CONFIG_COLOR_AND_PHOTO:
1147 cmy_bidi = (6 - d) * 6
1148 kcm_bidi = (6 - e) * 6
1150 photo_adj = colorcal.PHOTO_ALIGN_TABLE[f][g]
1151 color_adj = colorcal.COLOR_ALIGN_TABLE[f][g]
1153 x = (color_adj << 8) + photo_adj
1155 dev.writeEmbeddedPML(pml.OID_COLOR_CALIBRATION_SELECTION, x)
1157 dev.writeEmbeddedPML(pml.OID_AGENT2_BIDIR_ADJUSTMENT, cmy_bidi)
1158 dev.writeEmbeddedPML(pml.OID_AGENT3_BIDIR_ADJUSTMENT, kcm_bidi)
1159 dev.writeEmbeddedPML(pml.OID_AGENT3_HORIZONTAL_ALIGNMENT, hort)
1160 dev.writeEmbeddedPML(pml.OID_AGENT3_VERTICAL_ALIGNMENT, vert)
1164 def alignType7Phase3(dev): # Type 7 (xBow VIP)
1166 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', "crcaldone.pcl.gz"))
1169 def alignType8Phase1(dev): # 450
1170 pens = dev.getStatusFromDeviceID()['agents']
1171 pen_types = [pens[x]['type'] for x in range(len(pens))]
1173 if AGENT_TYPE_KCM in pen_types:
1174 f, num_inks = 'align6_450.pcl.gz', 6
1176 f, num_inks = 'align4_450.pcl.gz', 4
1179 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', f))
1184 def alignType8Phase2(dev, num_inks, a, b, c, d): # 450
1185 align_values1 = {1 : '\x00\x00\x18',
1196 align_values2 = {1 : '\x00\x00\x12',
1207 align_values3 = {1 : '\x00\x00\x24',
1219 s = ''.join([pcl.UEL,
1220 '@PJL ENTER LANGUAGE=PCL3GUI\n',
1222 pcl.ESC, '*o5W\x1a\x01', align_values1[a],
1223 pcl.ESC, '*o5W\x1a\x02', align_values2[a],
1224 pcl.ESC, '*o5W\x1a\x03', align_values1[b],
1225 pcl.ESC, '*o5W\x1a\x04', align_values1[b],
1226 pcl.ESC, '*o5W\x1a\x08', align_values1[c],
1227 pcl.ESC, '*o5W\x1a\x07', align_values1[d],
1232 s = ''.join([pcl.UEL,
1233 '@PJL ENTER LANGUAGE=PCL3GUI\n',
1235 pcl.ESC, '*o5W\x1a\x05', align_values1[a],
1236 pcl.ESC, '*o5W\x1a\x06', align_values3[a],
1237 pcl.ESC, '*o5W\x1a\x03', align_values1[b],
1238 pcl.ESC, '*o5W\x1a\x04', align_values1[b],
1239 pcl.ESC, '*o5W\x1a\x0a', align_values1[c],
1240 pcl.ESC, '*o5W\x1a\x09', align_values1[d],
1248 def AlignType12(dev, loadpaper_ui):
1250 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_ALIGNMENT_PAGE)
1253 # ********************** Clean **********************
1256 def cleaning(dev, clean_type, level1, level2, level3,
1257 loadpaper_ui, dlg1, dlg2, dlg3, wait_ui):
1262 if state == 0: # Initial level1 print
1264 if clean_type == CLEAN_TYPE_PCL_WITH_PRINTOUT:
1269 elif state == 1: # Do level 1
1273 elif state == 2: # Load plain paper
1279 elif state == 3: # Print test page
1281 print_clean_test_page(dev)
1283 elif state == 4: # Need level 2?
1289 elif state == 5: # Do level 2
1293 elif state == 6: # Load plain paper
1299 elif state == 7: # Print test page
1301 print_clean_test_page(dev)
1303 elif state == 8: # Need level 3?
1309 elif state == 9: # Do level 3
1313 elif state == 10: # Load plain paper
1319 elif state == 11: # Print test page
1321 print_clean_test_page(dev)
1330 def print_clean_test_page(dev):
1332 dev.printGzipFile(os.path.join(prop.home_dir, 'data',
1333 'ps', 'clean_page.pdf.gz'), raw=False)
1335 def cleanType1(dev): # PCL, Level 1
1336 dev.writeEmbeddedPML(pml.OID_CLEAN, pml.CLEAN_CLEAN)
1339 def primeType1(dev): # PCL, Level 2
1340 dev.writeEmbeddedPML(pml.OID_CLEAN, pml.CLEAN_PRIME)
1343 def wipeAndSpitType1(dev): # PCL, Level 3
1344 dev.writeEmbeddedPML(pml.OID_CLEAN, pml.CLEAN_WIPE_AND_SPIT)
1347 def cleanType2(dev): # LIDIL, Level 1
1348 dev.printData(ldl.buildResetPacket())
1349 dev.printData(ldl.buildLIDILPacket(ldl.PACKET_TYPE_COMMAND,
1350 ldl.COMMAND_HANDLE_PEN,
1351 ldl.COMMAND_HANDLE_PEN_CLEAN_LEVEL1))
1354 def primeType2(dev): # LIDIL, Level 2
1355 dev.printData(ldl.buildResetPacket())
1356 dev.printData(ldl.buildLIDILPacket(ldl.PACKET_TYPE_COMMAND,
1357 ldl.COMMAND_HANDLE_PEN,
1358 ldl.COMMAND_HANDLE_PEN_CLEAN_LEVEL2))
1361 def wipeAndSpitType2(dev): # LIDIL, Level 3
1362 dev.printData(ldl.buildResetPacket())
1363 dev.printData(ldl.buildLIDILPacket(ldl.PACKET_TYPE_COMMAND,
1364 ldl.COMMAND_HANDLE_PEN,
1365 ldl.COMMAND_HANDLE_PEN_CLEAN_LEVEL3))
1369 # ********************** Color Cal **********************
1372 def colorCalType1(dev, loadpaper_ui, colorcal_ui, photopenreq_ui): # 450
1378 if colorCalType1PenCheck(dev):
1387 colorCalType1Phase1(dev)
1392 ok, value = colorcal_ui()
1397 colorCalType1Phase2(dev, value)
1408 def colorCalType1PenCheck(dev): # 450
1409 pens = dev.getStatusFromDeviceID()['agents']
1410 pen_types = [pens[x]['type'] for x in range(len(pens))]
1412 if AGENT_TYPE_KCM in pen_types:
1416 log.error("Cannot perform color calibration with no photo pen installed.")
1420 def colorCalType1Phase1(dev): # 450
1422 dev.printGzipFile(os.path.join(prop.home_dir, 'data', 'pcl', 'colorcal1_450.pcl.gz'))
1425 def colorCalType1Phase2(dev, value): # 450
1426 color_cal = {1 : ('\x0f\x3c', '\x17\x0c'),
1427 2 : ('\x10\xcc', '\x15\x7c'),
1428 3 : ('\x12\x5c', '\x13\xec'),
1429 4 : ('\x13\xec', '\x12\x5c'),
1430 5 : ('\x15\x7c', '\x10\xcc'),
1431 6 : ('\x17\x0c', '\x0f\x3c'),
1432 7 : ('\x18\x9c', '\x0d\xac'),
1435 s = ''.join([pcl.UEL,
1436 '@PJL ENTER LANGUAGE=PCL3GUI\n',
1438 pcl.ESC, '*o5W\x1a\x0c\x00', color_cal[value][0],
1439 pcl.ESC, '*o5W\x1a\x0b\x00', color_cal[value][1],
1450 def colorCalType2(dev, loadpaper_ui, colorcal_ui, photopenreq_ui):
1456 if colorCalType2PenCheck(dev):
1465 colorCalType2Phase1(dev)
1470 ok, value = colorcal_ui()
1475 colorCalType2Phase2(dev, value)
1485 def colorCalType2PenCheck(dev):
1486 pens = dev.getStatusFromDeviceID()['agents']
1487 pen_types = [pens[x]['type'] for x in range(len(pens))]
1489 if not AGENT_TYPE_NONE in pen_types:
1493 log.error("Cannot perform color calibration with pens missing.")
1496 def colorCalType2Phase1(dev):
1497 dev.writeEmbeddedPML(pml.OID_PRINT_INTERNAL_PAGE,
1498 pml.PRINT_INTERNAL_PAGE_COLOR_CAL)
1503 def colorCalType2Phase2(dev, value):
1504 c = colorcal.COLOR_CAL_TABLE
1505 p = ''.join(['\x1b&b19WPML \x04\x00\x06\x01\x04\x01\x05\x01\t\x08\x04',
1506 chr(c[value*4]+100), chr(c[value*4+1]+100),
1507 chr(c[value*4+2]+100), chr(c[value*4+3]+100),
1518 def colorCalType3(dev, loadpaper_ui, colorcal_ui, photopenreq_ui):
1524 if colorCalType3PenCheck(dev):
1533 colorCalType3Phase1(dev)
1538 ok, valueA = colorcal_ui('A', 21)
1544 ok, valueB = colorcal_ui('B', 21)
1549 colorCalType3Phase2(dev, valueA, valueB)
1559 def colorCalType3PenCheck(dev):
1560 pens = dev.getStatusFromDeviceID()['agents']
1561 pen_types = [pens[x]['type'] for x in range(len(pens))]
1563 if AGENT_TYPE_KCM in pen_types or \
1564 AGENT_TYPE_BLUE in pen_types:
1568 log.error("Cannot perform color calibration with no photo (or photo blue) pen installed.")
1572 def colorCalType3Phase1(dev):
1573 dev.writeEmbeddedPML(pml.OID_PRINT_INTERNAL_PAGE,
1574 pml.PRINT_INTERNAL_PAGE_COLOR_CAL)
1577 def colorCalType3Phase2(dev, A, B):
1578 photo_adj = colorcal.PHOTO_ALIGN_TABLE[A-1][B-1]
1579 color_adj = colorcal.COLOR_ALIGN_TABLE[A-1][B-1]
1580 adj_value = (color_adj << 8L) + photo_adj
1582 dev.writeEmbeddedPML(pml.OID_COLOR_CALIBRATION_SELECTION, adj_value)
1585 def colorCalType4(dev, loadpaper_ui, colorcal_ui, wait_ui):
1594 colorCalType4Phase1(dev)
1600 ok, values = colorcal_ui()
1605 colorCalType4Phase2(dev, values)
1613 colorCalType4Phase3(dev)
1619 def colorCalType4Phase1(dev):
1620 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE,
1621 pml.PRINT_INTERNAL_PAGE_COLOR_CAL)
1626 def colorCalType4AdjValue(value):
1632 def colorCalType4Phase2(dev, values):
1634 Cadj, Madj, Yadj, cadj, madj, kadj = 244, 244, 244, 244, 244, 244
1636 sel1, sel2, sel3, sel4 = values
1637 tmp1 = colorcal.TYPE_4_C_TABLE[sel1][sel2]
1638 tmp2 = colorcal.TYPE_4_LC_TABLE[sel3][sel4]
1640 Cadj = colorCalType4AdjValue(tmp1)
1641 cadj = colorCalType4AdjValue(tmp1+tmp2)
1643 tmp1 = colorcal.TYPE_4_M_TABLE[sel1][sel2]
1644 tmp2 = colorcal.TYPE_4_LM_TABLE[sel3][sel4]
1646 Madj = colorCalType4AdjValue(tmp1)
1647 madj = colorCalType4AdjValue(tmp1+tmp2)
1649 Yadj = colorCalType4AdjValue(colorcal.TYPE_4_Y_TABLE[sel1][sel2])
1650 kadj = colorCalType4AdjValue(0)
1652 log.debug("C=%d, M=%d, Y=%d, c=%d, m=%d, k=%d\n" % (Cadj, Madj, Yadj, cadj, madj, kadj))
1654 dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_1,
1657 dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_2,
1660 dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_3,
1663 dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_4,
1666 dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_5,
1669 dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_6,
1675 def colorCalType4Phase3(dev):
1676 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE,
1677 pml.PRINT_INTERNAL_PAGE_COLOR_PALETTE_CMYK_PAGE)
1682 def colorCalType5(dev, loadpaper_ui):
1684 dev.printData("""\x1b%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n\x1bE\x1b%Puifp.multi_button_push 20;\nudw.quit;\x1b*rC\x1bE\x1b%-12345X""")
1688 def colorCalType6(dev, loadpaper_ui):
1690 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_COLOR_CAL)
1693 def colorCalType7(dev, loadpaper_ui):
1695 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_AUTOMATIC_COLOR_CALIBRATION)
1698 # ********************** LF Cal **********************
1700 def linefeedCalType1(dev, loadpaper_ui):
1702 dev.printData("""\x1b%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n\x1bE\x1b%Puifp.multi_button_push 3;\nudw.quit;\x1b*rC\x1bE\x1b%-12345X""")
1705 def linefeedCalType2(dev, loadpaper_ui):
1707 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_LINEFEED_CALIBRATION)
1711 # ********************** PQ Diag **********************
1713 def printQualityDiagType1(dev, loadpaper_ui):
1715 dev.printData("""\x1b%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n\x1bE\x1b%Puifp.multi_button_push 14;\nudw.quit;\x1b*rC\x1bE\x1b%-12345X""")
1718 def printQualityDiagType2(dev, loadpaper_ui):
1720 dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_PRINT_QUALITY_DIAGNOSTIC)