Multi-region media advance compensation
View Patent ↗In an embodiment, a processor-readable medium stores code representing instructions that when executed by a processor cause the processor to determine a media advance error for each one of multiple page regions on a media page. The instructions further cause the processor to control a media advance mechanism to compensate for the media advance error in each page region.
1. A non-transitory processor-readable medium storing code representing instructions that when executed by a processor cause the processor to:
in each page region of multiple page regions on a media page, print multiple lines of a diagnostic pattern;
scan the diagnostic pattern in each page region;
for each of the page regions, determine a media advance error for each line of the multiple lines in the page region;
for each of the page regions, average the media advance errors for the lines in the page region; and
for each of the page regions, control a media advance mechanism to compensate for the averaged media advance error in the page region.
2. The non-transitory processor-readable medium as in claim 1 , wherein to print the multiple lines of a diagnostic pattern, the instructions are further to cause the processor to:
print a first pattern of first elements on the media page;
advance the media page; and
print a second pattern of second elements on the media page.
3. The non-transitory processor-readable medium as in claim 2 , wherein the instructions are further to cause the processor to:
print the first pattern with bottom nozzles of a printhead; and
print the second pattern with top nozzles of the printhead.
4. The non-transitory processor-readable medium as in claim 2 , wherein to determine the media advance error the instructions are further to cause the processor to:
compare the first pattern with the second pattern; and
determine a difference in relative positions of the patterns.
5. The non-transitory processor-readable medium as in claim 1 , wherein to scan the diagnostic pattern in each page region the instructions are further to cause the processor to scan the multiple lines in each page region.
6. The non-transitory processor-readable medium as in claim 1 , wherein the instructions are further to cause the processor to:
calculate a media advance calibration value for each media advance error; and
store the calibration values in a memory.
7. The non-transitory processor-readable medium as in claim 6 , wherein the instructions are further to cause the processor to:
upon printing a subsequent media page, retrieve the calibration values from the memory; and
control the media advance mechanism for each page region based on a calibration value associated with that page region.
8. A method for multi-region media advance error compensation, said method comprising:
in each page region of multiple page regions on a media page, printing multiple lines of a diagnostic pattern;
scanning the multiple lines of the diagnostic pattern in each page region;
for each of the page regions, determining a media advance error for each line of the multiple lines in the page region based on the scanning;
for each of the page regions, calculating an average of the media advance errors for the lines within the page region; and
for each of the page regions, control a media advance mechanism to compensate for the determined media advance error within the page region.
9. The method as in claim 8 , wherein printing multiple lines of a diagnostic pattern comprises:
printing a first pattern of first elements on the media page using bottom-most nozzles of a printhead;
advancing the media page; and
printing a second pattern of second elements on the media page using top-most nozzles of the printhead, wherein the second elements are interleaved among the first elements.
10. The method as in claim 8 , further comprising:
calculating a media advance calibration value for each media advance error;
storing the calibration values in a memory;
retrieving the calibration values from the memory prior to printing a subsequent media page; and
controlling the media advance mechanism to compensate for the media advance error within each page region based on a calibration value associated with that page region.
11. A printer comprising:
a processor;
a memory on which is stored instructions that when executed by the processor cause the processor to:
in each page region of multiple page regions on a media page, print multiple lines of a first pattern of first elements using bottom-most nozzles of a printhead;
advance the media page;
in each of the multiple page regions, print multiple lines of a second pattern of second elements using top-most nozzles of the printhead, wherein the second elements are interleaved among the first elements;
scan the first elements and the second elements in each of the multiple page regions;
for each of the multiple page regions, determine a media advance error for each line of the multiple lines of the first elements and the second elements;
for each of the multiple page regions, calculate an average of the media advance errors for the lines within respective page regions; and
for each of the multiple page regions, calculate a calibration value for each media advance error.
12. The printer as in claim 11 , wherein the instructions are further to cause the processor to:
store the calculated calibration values into a memory;
prior to printing a subsequent media page, retrieve the calibration values; and
while printing the subsequent media page, drive a media advance mechanism using the calibration values to compensate for the media advance error in each page region.