# Actions for Canon i560
#
# Printer has following cartridges:
# - Black
# - Cyan,
# - Magenta
# - Yellow
#
# Created 10-01-2005 T. Milius, E. Pring
# Changed 10-09-2005 T. Milius            CIR removed. Display changed.
# Changed 10-16-2005 T. Milius            Filter for DWS implemented
# Changed 10-17-2005 T. Milius            Various head cleaning levels with Warning
# Changed 10-24-2005 T. Milius            Catridge change removed.
#                                         Cleaning of all heads added
#                                         Switchoff function added
# Changed 03-29-2006 T. Milius            Low Ink message at yellow and
#                                         cyan cartridges swapped
# Changed 03-29-2006 D. Webb              Ink level for low ink message
#                                         at yellow and cyan cartridges swapped
#
GetCartridgeInfo:
hide 0 upwards
eval COL_0 # 1024
eval COL_1 # 1024
eval COL_2 # 1024
eval COL_3 # 1024
send 27,"[","K",12,0,0,30,0,10,"S","S","R","=","D","W","S",";"
get -2
cgorel 50 RESPONSE # LEN(%0)=0
cgorel 5 RESPONSE # (%0 LEFT 4)="DWS:"
eval TEXT_0 # ""
split RESPONSE TEXT_0 # %*[^;]%*c%[^\n]
eval RESPONSE TEXT_0 # %0
cgorel -5 # 1=1
split RESPONSE TEXT_0 # DWS:%[^;]
cgorel 21 TEXT_0 # %0="NO" OR %0="UK"
eval INT_0 # 0
eval TEXT_0 # ""
split RESPONSE INT_0 TEXT_0 # DWS:%x,%[^;]
cgorel 2 INT_0 # %0 <> &1501
show 1 <PrtInfo$Dir>.Resources.Warnings.Canon.i560.LOW_B
eval COL_0 # 50
cgorel 2 INT_0 # %0 <> &1511
show 2 <PrtInfo$Dir>.Resources.Warnings.Canon.i560.LOW_Y
eval COL_3 # 50
cgorel 2 INT_0 # %0 <> &1512
show 3 <PrtInfo$Dir>.Resources.Warnings.Canon.i560.LOW_M
eval COL_2 # 50
cgorel 2 INT_0 # %0 <> &1513
show 4 <PrtInfo$Dir>.Resources.Warnings.Canon.i560.LOW_C
eval COL_1 # 50
cgorel 5 TEXT_0 # (LEN %0)=0
eval RESPONSE TEXT_0 # %0
eval INT_0 # 0
eval TEXT_0 # ""
split RESPONSE INT_0 TEXT_0 # %x,%[^;]
cgorel -14 # 1=1
show 0 <PrtInfo$Dir>.Resources.Cartridges.Canon.i560
End
#
Cleaning Levels: 3
# 
CleanHead: 30
hide 0 upwards
eval INT_0 # 0
cgorel 3 INT_0 # <Territory><>7 OR %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC7
ask Fortfahren Abbrechen
eval INT_0 # 1
cgorel 3 INT_0 # <Territory><>35 OR %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC7
ask Fortfahren Abbrechen
eval INT_0 # 1
cgorel 2 INT_0 # %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC
ask Continue Cancel
cgorel 50 DIALOGRESULT # %0=4
send 27,"[","K",2,0,0,31,"B","J","L","S","T","A","R","T",10
cgorel 1 CLEANINGLEVEL # %0<>1
send "@","C","l","e","a","n","i","n","g","=","1","K","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>2
send "@","C","l","e","a","n","i","n","g","=","2","K","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>3
send "@","C","l","e","a","n","i","n","g","=","3","K","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>4
send "@","C","l","e","a","n","i","n","g","=","4","K","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>5
send "@","C","l","e","a","n","i","n","g","=","5","K","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>6
send "@","C","l","e","a","n","i","n","g","=","6","K","C","M","Y",10
send "B","J","L","E","N","D",10
End
# 
CleanHead: 31
hide 0 upwards
eval INT_0 # 0
cgorel 3 INT_0 # <Territory><>7 OR %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC7
ask Fortfahren Abbrechen
eval INT_0 # 1
cgorel 3 INT_0 # <Territory><>35 OR %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC7
ask Fortfahren Abbrechen
eval INT_0 # 1
cgorel 2 INT_0 # %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC
ask Continue Cancel
cgorel 50 DIALOGRESULT # %0=4
send 27,"[","K",2,0,0,31,"B","J","L","S","T","A","R","T",10
cgorel 1 CLEANINGLEVEL # %0<>1
send "@","C","l","e","a","n","i","n","g","=","1","K",10
cgorel 1 CLEANINGLEVEL # %0<>2
send "@","C","l","e","a","n","i","n","g","=","2","K",10
cgorel 1 CLEANINGLEVEL # %0<>3
send "@","C","l","e","a","n","i","n","g","=","3","K",10
cgorel 1 CLEANINGLEVEL # %0<>4
send "@","C","l","e","a","n","i","n","g","=","4","K",10
cgorel 1 CLEANINGLEVEL # %0<>5
send "@","C","l","e","a","n","i","n","g","=","5","K",10
cgorel 1 CLEANINGLEVEL # %0<>6
send "@","C","l","e","a","n","i","n","g","=","6","K",10
send "B","J","L","E","N","D",10
End
#
CleanHead: 32
hide 0 upwards
eval INT_0 # 0
cgorel 3 INT_0 # <Territory><>7 OR %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC7
ask Fortfahren Abbrechen
eval INT_0 # 1
cgorel 3 INT_0 # <Territory><>35 OR %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC7
ask Fortfahren Abbrechen
eval INT_0 # 1
cgorel 2 INT_0 # %0=1
show 0 <PrtInfo$Dir>.Resources.Warnings.Canon.HC
ask Continue Cancel
cgorel 50 DIALOGRESULT # %0=4
send 27,"[","K",2,0,0,31,"B","J","L","S","T","A","R","T",10
cgorel 1 CLEANINGLEVEL # %0<>1
send "@","C","l","e","a","n","i","n","g","=","1","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>2
send "@","C","l","e","a","n","i","n","g","=","2","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>3
send "@","C","l","e","a","n","i","n","g","=","3","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>4
send "@","C","l","e","a","n","i","n","g","=","4","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>5
send "@","C","l","e","a","n","i","n","g","=","5","C","M","Y",10
cgorel 1 CLEANINGLEVEL # %0<>6
send "@","C","l","e","a","n","i","n","g","=","6","C","M","Y",10
send "B","J","L","E","N","D",10
End
# Status is obtained by USB printer class request
GetStatus: USB
eval MESSAGE MANUFACTURER PRINTERTYPE # %0 + " " + %1
End
# Status is obtained by parallel interface
GetStatus: Parallel
eval MESSAGE MANUFACTURER PRINTERTYPE # %0 + " " + %1
End
# Reset is done by USB printer class request
ResetPrinter: USB
End
# Reset is done by Parallel interface
ResetPrinter: Parallel
End
#
PrintTestpattern:
eval INT_0 # 0
cgorel 3 INT_0 # <Territory><>7 OR %0=1
eval DIALOGMESSAGE # "Bitte Papier einlegen!"
ask Gemacht Abbrechen
eval INT_0 # 1
cgorel 3 INT_0 # <Territory><>35 OR %0=1
eval DIALOGMESSAGE # "Bitte Papier einlegen!"
ask Gemacht Abbrechen
eval INT_0 # 1
cgorel 2 INT_0 # %0=1
eval DIALOGMESSAGE # "Please insert paper!"
ask Done Cancel
cgorel 50 DIALOGRESULT # %0=4
send 27,"[","K",2,0,0,31,"B","J","L","S","T","A","R","T",10
send "@","T","e","s","t","P","r","i","n","t","=","N","o","z","z","l","e","C","h","e","c","k",10
send "B","J","L","E","N","D",10
End
#
Switchoff:
send 27,"[","K",2,0,0,31,"B","J","L","S","T","A","R","T",10
send "@","P","o","w","e","r","O","f","f"
End
#
Init:
action GetStatus:
End
