Browse Prior Art Database

Vertical Compensation ALGORITHM With Error Correction

IP.com Disclosure Number: IPCOM000060183D
Original Publication Date: 1986-Mar-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Alexander, RW: AUTHOR [+3]

Abstract

Printers today face complex data stream requirements. To reach a wider market, it is desirable for a printer to attach to as many different systems as possible. This becomes increasingly difficult in the personal computer market place where standards are non-existent and noncompatibility is common. Printers need to be adaptable to future technologies. To achieve as much flexibility as possible, a greater number of printer functions are being controlled with the printer software or microcode. Some data stream requirements, however, are still restricted by the hardware characteristics of the printer. One of these is the minimum paper advance for linefeeding. This increment is usually determined by the paper stepper motor selected.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Vertical Compensation ALGORITHM With Error Correction

Printers today face complex data stream requirements. To reach a wider market, it is desirable for a printer to attach to as many different systems as possible. This becomes increasingly difficult in the personal computer market place where standards are non-existent and noncompatibility is common. Printers need to be adaptable to future technologies. To achieve as much flexibility as possible, a greater number of printer functions are being controlled with the printer software or microcode. Some data stream requirements, however, are still restricted by the hardware characteristics of the printer. One of these is the minimum paper advance for linefeeding. This increment is usually determined by the paper stepper motor selected. A common example is a printer which steps in increments of 1/216 inch verses a printer which steps in increments of 1/144 inch. A problem results when the system expects a printer with 1/216 and the actual printer is 1/144. The result is a paper advance of 1.5 times the expected distance. This obviously creates page-formatting problems, since the page length would be 1.5 times the desired page size. Also, a solid graphic picture may have unwanted bands of white space showing. It is desirable for a printer to have a software conversion algorithm to handle this problem. An algorithm used in the past consisted of a simple algebraic conversion. For example, in converting from 216 to 144 spacing, the algorithm multiplies by 2/3 and rounds to the nearest whole step. If the amount converted is divisible by 3, the algorithm is exact. Otherwise, some amount of error occurs. This error accumulates after multiple conversions. The result can be significant over the length of a page or several pages. Undesirable page lengths and vertical format distortions can occur. DESCRIPTION This disclosure gives a software algorithm which converts from one increment size to another, and prevents the accumulation of error. When the accumulated error becomes greater than the minimum physical printer increment, the algorithm either adds or subtracts increments from the normal calculated value. ALGORITHM The simple conversion problem could be expressed as follows: The system expects a movement of X increments in units of N increments per inch. The printer must calculate an equivalent move of Y increments in units of M increments per inch. If X * M is a multiple of N, the calculation is easily performed by Y = (X * M) / N When X * M is no...