Controlling a plurality of nozzles of a handheld printer
09555645 ยท 2017-01-31
Assignee
Inventors
Cpc classification
International classification
Abstract
Apparatuses and methods for locating and retrieving image data from a memory and to subsequently control nozzles of a handheld printer during a printing operation are described herein. The novel methods may include initially determining an index location of an index nozzle of a printer with respect to an image in physical image space, a version of the image being stored in a memory, and the printer having a plurality of nozzles including the index nozzle. Then, based at least in part on the determined index location, the novel methods may include calculating one or more secondary locations with respect to the image in the physical image space of one or more secondary nozzles of the plurality of nozzles. Data stored at corresponding locations of the memory may then be read based at least in part on the index and secondary locations in physical image space, the corresponding locations of the memory being associated with the index and secondary locations in physical image space. And, finally, the novel methods may include controlling the nozzles based at least in part on the reading of data at the corresponding locations of the memory to form at least a first portion of the image on a print medium.
Claims
1. A method of printing, via a handheld printer, an image onto a print medium, wherein an electronic version of the image is stored in a memory, the method comprising: determining a first index location, with respect to the image in physical image space, of an index nozzle of the handheld printer, wherein the handheld printer comprises a plurality of nozzles including (i) the index nozzle and (ii) a plurality of secondary nozzles; determining a first rotation angle of the handheld printer; based at least in part on (i) the first index location in the physical image space of the index nozzle and (ii) the first rotation angle, calculating a first secondary location, with respect to the image in the physical image space, of a first secondary nozzle of the plurality of secondary nozzles; based at least in part on (i) the first secondary location in the physical image space of the first secondary nozzle and (ii) the first rotation angle, calculating a second secondary location, with respect to the image in the physical image space, of a second secondary nozzle of the plurality of secondary nozzles; and based at least in part on (i) the second secondary location in the physical image space of the second secondary nozzle and (ii) the first rotation angle, calculating a third secondary location, with respect to the image in the physical image space, of a third secondary nozzle of the plurality of secondary nozzles, wherein the first secondary location in the physical image space, the second secondary location in the physical image space, and the third secondary location in the physical image space form a plurality of secondary locations in the physical image space, and wherein based at least in part on the plurality of secondary locations in the physical image space, one or more selected nozzles of the plurality of nozzles are activated to form at least a portion of the image onto the print medium.
2. The method of claim 1, wherein calculating the first secondary location in the physical image space of the first secondary nozzle further comprises: calculating the first secondary location, with respect to the image in the physical image space, of the first secondary nozzle of the plurality of secondary nozzles by
X=X.sub.start(S.sub.x*COS ),Y=Y.sub.start(S.sub.x*Sin ), wherein (X, Y) form the first secondary location of the first secondary nozzle in a two-dimensional Cartesian coordinate system, (X.sub.start, Y.sub.start) are the first index location of the index nozzle in the Cartesian coordinate system, Sx is the distance in the x Cartesian coordinate system between the index nozzle and the first secondary nozzle, and is the determined first rotation angle of the handheld printer.
3. The method of claim 2, further comprising: based at least in part on (i) the first index location in the physical image space and (ii) the first rotation angle, calculating a fourth secondary location, with respect to the image in the physical image space, of a fourth secondary nozzle of the plurality of secondary nozzles by
X=X.sub.start(S.sub.y*sin ),Y=Y.sub.start(S.sub.y*Cos ), wherein (X, Y) form the fourth secondary location of the fourth secondary nozzle in a two-dimensional Cartesian coordinate system, (X.sub.start, Y.sub.start) are the first index location of the index nozzle in the Cartesian coordinate system, Sy is the distance in the x Cartesian coordinate system between the index nozzle and the fourth secondary nozzle, and is the determined first rotation angle of the handheld printer.
4. The method of claim 1, further comprising: based at least in part on (i) the first index location in the physical image space and (ii) the plurality of secondary locations in the physical image space, determining first corresponding locations in the memory, wherein the first corresponding locations of the memory are associated with (i) the first index location in the physical image space and (ii) the plurality of secondary locations in the physical image space; and based at least in part on the first corresponding locations in the memory, first activating one or more selected nozzles of the plurality of nozzles to form at least a portion of the image onto the print medium, wherein determining the first corresponding locations of the memory comprises providing first memory addresses of the first corresponding locations in the memory, and based at least in part upon the first memory addresses, mapping (i) the first index location in the physical image space and (ii) the plurality of secondary locations in the physical image space to the first corresponding locations in the memory.
5. The method of claim 4, wherein first activating the one or more selected nozzles is based at least in part on accessing and reading memory cells located at the first corresponding locations of the memory.
6. The method of claim 4, further comprising: subsequent to activating the one or more selected nozzles, clearing the data stored at the first corresponding locations in the memory.
7. The method of claim 4, wherein first activating one or more selected nozzles of the plurality of nozzles comprises discharging ink from the one or more selected nozzles of the plurality of nozzles onto the print medium.
8. A handheld printer comprising: a plurality of nozzles comprising an index nozzle and a plurality of secondary nozzles; a memory; and a print engine configured to determine a first index location, with respect to the image in physical image space, of the index nozzle, determine a first rotation angle of the handheld printer, based at least in part on (i) the first index location in the physical image space of the index nozzle and (ii) the first rotation angle, calculate a first secondary location, with respect to the image in the physical image space, of a first secondary nozzle of the plurality of secondary nozzles, based at least in part on (i) the first secondary location in the physical image space of the first secondary nozzle and (ii) the first rotation angle, calculate a second secondary location, with respect to the image in the physical image space, of a second secondary nozzle of the plurality of secondary nozzles, and based at least in part on (i) the second secondary location in the physical image space of the second secondary nozzle and (ii) the first rotation angle, calculate a third secondary location, with respect to the image in the physical image space, of a third secondary nozzle of the plurality of secondary nozzles, wherein the first secondary location in the physical image space, the second secondary location in the physical image space, and the third secondary location in the physical image space form a plurality of secondary locations in the physical image space, and wherein based at least in part on the plurality of secondary locations in the physical image space, one or more selected nozzles of the plurality of nozzles are activated to form at least a portion of the image onto the print medium.
9. The handheld printer of claim 8, wherein the print engine is further configured to calculate the first secondary location in the physical image space of the first secondary nozzle by:
X=X.sub.start+(S.sub.x*COS ),Y=Y.sub.start+(S.sub.x*Sin ), wherein (X, Y) form the first secondary location of the first secondary nozzle in a two-dimensional Cartesian coordinate system, (X.sub.start, Y.sub.start) are the first index location of the index nozzle in the Cartesian coordinate system, Sx is the distance in the x Cartesian coordinate system between the index nozzle and the first secondary nozzle, and is the determined first rotation angle of the handheld printer.
10. The handheld printer of claim 8, wherein the print engine is further configured to: based at least in part on (i) the first index location in the physical image space and (ii) the first rotation angle, calculate a fourth secondary location, with respect to the image in the physical image space, of a fourth secondary nozzle of the plurality of secondary nozzles by
X=X.sub.start(S.sub.y*sin ),Y=Y.sub.start(S.sub.y*Cos ), wherein (X, Y) form the fourth secondary location of the fourth secondary nozzle in a two-dimensional Cartesian coordinate system, (X.sub.start, Y.sub.start) are the first index location of the index nozzle in the Cartesian coordinate system, Sy is the distance in the x Cartesian coordinate system between the index nozzle and the fourth secondary nozzle, and is the determined first rotation angle of the handheld printer.
11. The handheld printer of claim 8, wherein the print engine is further configured to: based at least in part on (i) the first index location in the physical image space and (ii) the plurality of secondary locations in the physical image space, determine first corresponding locations in the memory, wherein the first corresponding locations of the memory are associated with (i) the first index location in the physical image space and (ii) the plurality of secondary locations in the physical image space; and based at least in part on the first corresponding locations in the memory, first activate one or more selected nozzles of the plurality of nozzles to form at least a portion of the image onto the print medium, wherein the print engine is further configured to determine the first corresponding locations in the memory by providing first memory addresses of the first corresponding locations in the memory, and based at least in part upon the first memory addresses, mapping (i) the first index location in the physical image space and (ii) the plurality of secondary locations in the physical image space to the first corresponding locations in the memory.
12. The handheld printer of claim 11, wherein first activating the one or more selected nozzles is based at least in part on accessing and reading memory cells located at the first corresponding locations of the memory.
13. The handheld printer of claim 11, wherein the print engine is further configured to: subsequent to activating the one or more selected nozzles, clear the data stored at the first corresponding locations in the memory.
14. The handheld printer of claim 11, wherein the print engine is further configured to first activate the one or more selected nozzles of the plurality of nozzles by discharging ink from the one or more selected nozzles of the plurality of nozzles onto the print medium.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which are shown, by way of illustration, specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
(10) Reference in the specification to one embodiment or an embodiment means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase in one embodiment in various places in the specification do not necessarily all refer to the same embodiment, but they may.
(11) The phrase A and/or B means (A), (B), or (A and B). The phrase A, B, and/or C means (A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C). The phrase (A) B means (A B) or (B), that is, A is optional.
(12) According to various embodiments of the present invention, methods and apparatuses are provided that may facilitate, for example, a handheld printer to accurately and efficiently print an image onto print medium. Embodiments of the present invention may also allow the operator the freedom to move a handheld printer in any linear or nonlinear direction with respect to the print medium during a printing operation of an image onto a print medium without causing disruptions or degradation of the image to be formed. A handheld printer may be any type of portable or mobile printer with a plurality of nozzles. Examples of such printers include, for example, handheld ink jet-printers with ink nozzles, handheld laser printers with a plurality of light beam sources such as light emitting diodes (LEDs) for illuminating a light sensitive print medium, and so forth. The terms handheld printer, handheld printing device, and handheld device may be used interchangeably throughout the following description. Thus, these terms are synonymous. Further, the terms printing operation and print job may also be used interchangeably throughout the following description and are, therefore, synonymous.
(13) Handheld printers may include many of the same components of conventional printers. For example, just like convention printers, a handheld printer may include a print head having a large number of ink or light beam nozzles (or simply nozzles) that may be controlled in order to print an image onto a print medium. As previously described, unlike conventional printers, however, handheld printers do not rely on mechanical means to move the print head with respect to the print medium during a print job. Instead, these devices rely on the operator's imprecise movement of the handheld device in order to move the handheld device (and the print head) over the print media during a print job.
(14) In particular, the movement of a handheld printing device over a print medium during a printing operation may be under the physical control of an operator (i.e., operator propelled). Because of the inability for humans to make consistently precise motions, a handheld device under the physical control of the operator, may be placed in irregular, angular, and/or nonlinear motion with respect to the image to be formed on a print medium, which is unlike the clean back and forth motions of a print head in a convention printer. Even worse, because of the inability of humans to accurately track and avoid those portions of the image that have already been printed onto the print medium, some portions of the image may be inadvertently printed more than once. In order to ensure that the handheld printing device is not improperly printing an image, some sort of logic may be needed in order to be able to quickly and accurately track the movements and locations of each of the nozzles with respect to, for example, the electronic or the digitized version of the image to be printed on to a print medium that is typically stored in the printer memory.
(15) Part of the above described problems associated with handheld printers may be due to, no doubt, the result of the difficulties of trying to locate, retrieve, and process, for each of the nozzles, the appropriate image pixel data that may be stored in memory. This may be best demonstrated by the following example with reference to
(16) Each block 13 in image 14 may represent an image pixel, which may be further associated with a memory cell or element in the printer memory that will store the image data for the image pixel. In the printer memory, data for each image pixel may be stored in separate memory cells or elements. Note that if the electronic form of the image stored in the printer memory is a digitized image, then logic 0 stored in a memory cell may indicate, for example, that no ink (or light beam) should be deposited by a nozzle for the corresponding image pixel while logic 1 may indicate that ink should indeed by deposited by a nozzle for the corresponding image pixel.
(17) Superimposed on top of the grid 10 and the image 14 is an outline of a print head 16 and nozzles 18 of a conventional printer to show the location of the print head 16 and nozzles 18 with respect to the image 14 in the physical image space. Note that the number of nozzles and the sizes of the print head 16, nozzles 18, and image pixels (i.e., blocks 13) are not drawn to scale, but instead, have been drawn entirely out-of-scale for ease of illustration and understanding of various concepts.
(18) With conventional printers, the locating, reading (or retrieving), and processing of image pixel data stored in memory during a print job is relatively straightforward. This is because conventional printers are typically rectilinear printer systems in which during a print job the print head 16 moves, in the physical image space, in a linear direction with respect to the image 14 as depicted by arrows 19. In particular, the mechanical systems that are typically employed in conventional printer systems will move the print head in a predictable linear horizontal direction with respect to the print medium and the image to be created. Between each pass of the print head, the print medium is moved, incrementally, in a vertical direction thus eventually resulting in the printing of a complete image onto a print medium. Because the movements of the print head and its nozzles are very predictable, not to mention linear with respect to the image to be formed, the locating, retrieval, and processing of image data that is stored in the printer memory is relatively easy. More particularly, the locating, retrieval, and processing of pixel data for controlling the nozzles during a printing operation that are stored in the memory elements associated with the image pixel blocks 13 is relatively straightforward and simple.
(19) In contrast, retrieval and processing of pixel data from memory becomes significantly more complex if the print head is moving in a nonlinear and/or in an angular direction with respect to the image 14 as is the case with handheld printing devices. This is depicted in
(20) Accordingly, the present invention provides for apparatuses and methods that may facilitate a handheld printing device to quickly locate, read, and process pixel data from a printer memory in order to create an image onto a print medium with minimal distortions or disruptions. In some embodiments, this may involve calculating the locations, in physical image space, of multiple nozzles of a print head with respect to an image to be printed based on the location of an index nozzle in the physical image space with respect to the image. The determined locations of the nozzles in the physical image space may then be translated or mapped to memory space (or simply memory) in order to retrieve or read the appropriate pixel data from the memory. And based on the read data, to control the nozzles during a printing operation. In some embodiments, the pixel data that was read from the memory may be cleared once the pixel data have been read in order to prevent the multiple printing problems described earlier. A print medium, as used herein, may be any type of material having a printable surface such as a sheet of paper, a wall, a surface of a cardboard box, and so forth.
(21) Referring now to
(22) In
(23) The distance between the index nozzle N.sub.00 and the adjacent horizontal secondary nozzle N.sub.10, which is the horizontal distance between the two nozzles, is S.sub.x (note that there is no vertical y-distance between the two in this case), while the distance between the index nozzle N.sub.00 and the adjacent vertical secondary nozzle N.sub.01, which is the vertical distance between the two nozzles, is S.sub.y (note that there is not horizontal x-distance). Note that the distance between the index nozzle N.sub.00 and any of the other secondary nozzles 18 may also be defined in a two-dimensional (xy-coordinate) space by identifying a horizontal x-distance and a vertical y-distance. The distances (e.g., S.sub.x and/or S.sub.y) between the nozzles 18 are typically predefined and are typically known. Note that the terms vertical and horizontal are used herein merely for ease of understanding and illustration and are not to be construed as any sort of limitations.
(24)
(25) Thus, embodiments of the present invention may simplify the processing requirements for locating, retrieving, and processing image pixel data stored in a printer memory by initially determining only the location (herein index location) of an index nozzle in a physical image space with respect to the image to be printed, and based on the index location of the index nozzle, determine the locations (herein secondary locations) with respect to the image, in the physical image space, of the rest of the nozzles (i.e., secondary nozzles) in order to quickly and efficiently locate and retrieve pixel data stored in the printer memory. Note that although the physical image space described herein is a two-dimensional (xy-coordinate) space, alternatively, the physical image space may be a three-dimensional space. For example, a three-dimensional space may be appropriate when the print medium is not a flat plane but rather a non-planar surface.
(26)
(27) Next, based at least in part on the determined index location, calculating one or more secondary locations in the physical image space for one or more secondary nozzles relative to the image at 44. The process for calculating the one or more secondary locations in the physical image space for the one or more secondary nozzles (e.g., in
(28) For example, referring back to
X=X.sub.start(S.sub.x*Cos ),Y=Y.sub.start(S.sub.x*Sin );
and a secondary location of a secondary nozzle that is adjacent in the y-direction, e.g., N.sub.01, may be determined by:
X=X.sub.start+(S.sub.y*Sin ),Y=Y.sub.start+(S.sub.y*Cos );
(29) where X and Y is the secondary location of the adjacent secondary nozzle in a two-dimensional Cartesian coordinate system, X.sub.start and Y.sub.start, is the location in the Cartesian coordinate system for the starting nozzle, in this case the index nozzle N.sub.00, S.sub.x and S.sub.y are the x and y distances between the starting nozzle and the adjacent nozzle, and is the rotation angle of the print head. may be determined with respect to the image, e.g., as an angle between the y-orientation of the image and the y-orientation of the print head and/or with respect to an initial location of the print head, e.g., as an angle between initial y-orientation and current y-orientation. It may be noted that, when the orientation of the image in physical image space is defined by the initial location of the print head, as described below, may be determined with respect to both the image and the initial location.
(30) In order to determine the secondary location of another secondary nozzle, such as secondary nozzle N.sub.O2, which is not adjacent to the index nozzle N.sub.00, the above equations may again be used for calculating the secondary location of the secondary nozzle N.sub.O2 except that the starting nozzle in this case would be, for example, secondary nozzle N.sub.01 instead of the index nozzle N.sub.00. Thus, the values for X.sub.start and Y.sub.start above equations would be equal to the X and Y values previously determined for secondary nozzle N.sub.01 based on the index nozzle N.sub.00 being the starting nozzle. This may be repeated over and over again to determine the locations of each of the nozzles with respect to the image in the physical image space.
(31) The determined index location for the index nozzle and the calculated secondary locations for the secondary nozzles in the physical image space may then be translated or mapped to corresponding memory locations in the printer memory at 46.
(32) Data (e.g., image or pixel data) stored at the corresponding locations in the memory may then be read at 48. Based on the reading of the data, the nozzles may be controlled by activating or not activating one or more selected nozzles in order to print or form at least a portion of the image onto a print medium at 50. If the nozzles are ink nozzles then the activation of the nozzles may result in the disposition of ink onto the print medium. On the other hand, if the nozzles are laser diodes, for example, then the activation of the nozzles may result in the projection of light beams onto the print medium. Finally, the image data stored at the corresponding memory locations may be cleared to ensure that the image data that was stored in the corresponding memory locations are not revisited again, which would cause portions of the image to be reprinted. That is, by clearing the image data that have been read, multiple printing of portions of the image may be avoided if one or more of the nozzles revisits the same locations in the physical image space (e.g., due to the operator going over or scanning over the same locations on the print medium).
(33) Note that in some alternative embodiments block 52 may be executed prior to block 50 so long as block 52 is executed after block 48 (i.e., reading of the data in the first and second memory locations). The process 40 may be repeated over and over again during a printing operation as the handheld printer is moving across the print medium in a linear, non-linear, rectilinear, and/or angular manner with respect to the image. In some embodiments, the process 40 may be executed continuously, periodically, semi-periodically, and/or randomly during a printing operation.
(34) As an illustrative example of how the above described processes may be employed during a printing operation for printing an image onto a print medium using a handheld printer, the following example is provided with reference to
(35) In this example, the print head 30 and its nozzles 32, which may actually be located at an arbitrary location on the print medium, are initially located at a corner of the image 34 in the physical image space during the first time period. This initial position of the print head 30 during the first time period may anchor the image 34 in the physical image plane as well as anchor the image onto the print medium. That is, the initial location of the print head 30, which in this case corresponds to the top left corner of the image 34, defines how the entire image 34 should be oriented in the physical image space as well as on the print medium. As a result, the initial location of the print head 30 in the physical image space may dictate as to whether subsequent positions of the print head 30 during subsequent time periods are angularly displaced with respect to the image. Note that in some embodiments, a navigation system that includes an optical system such as those associated with a computer mouse may be employed in order to track the subsequent locations and orientations of the print head 30 (and at least the index nozzle) with respect to the initial anchor location.
(36) During the first time period, the location of the index nozzle (e.g., nozzle N.sub.00) with respect to the image 34 may be determined. The secondary locations of the other nozzles 32 (i.e., secondary nozzles) with respect to the image 34 may then be calculated based on the determined index location of the index nozzle and employing the iterative process described earlier. Based on the determined locations of the nozzles in the physical image space, the appropriate image data can then be located in the memory. The image data may then be retrieved and processed in order to selectively control the nozzles to print a portion of the image onto the print medium during the first time period. The locations in the memory that corresponds to the locations of the nozzles 32 in the physical image space may then be cleared to ensure that no revisits of the image data that have already been read occur.
(37) In the second time period, the print head 30 has been moved to a new location with respect to the image 34 in the physical image space. The new location is angularly displaced with respect to the image 34 as well as with respect to the initial location of the print head 30 during first time period. The new locations of the nozzles 32 with respect to the image 34 may again be computed using the previously described process. Based on the determined new (index and secondary) locations of the nozzles 32, corresponding locations in the memory may be identified and the appropriate image data stored at those identified memory locations may be read and processed to control the nozzles in order to print another portion of the image onto the print medium. The image data stored at those memory locations may then be cleared to ensure no revisits.
(38) In the third time period, the print head 30 has again been moved with respect to the image as well as with respect to the print medium, but this time, at least some of the nozzles 32 are at locations that have already been visited by nozzles 32 during the second time period. This will be determined during the determination and calculations of the index and secondary locations of the nozzles during the third time period. However, no reprinting of portions of the image will occur because the memory locations that correspond to the locations in the physical image space that is being revisited by the nozzles 32 were cleared during the second time period. As a result, the nozzles 32 that are revisiting those previously visited locations in the physical image space will be excluded from being activated during the third time period due to the cleared corresponding memory locations.
(39)
(40) The handheld printer 50 may include a control block 54 that is coupled to a print head 56 with a plurality of nozzles. The control block 54 includes a communication interface 58, a print engine 60, an image processing module 62, a memory 64, and a navigation system 66. If the image source 52 is a removable storage device, e.g., a universal serial bus (USB) storage device, the communication interface 58 may include a port, e.g., USB port, designed to receive the storage device. The image processing module 62 may process image data received through the communication interface using various processing techniques including, for example, dithering, decompression, half-toning, color plane separation, and/or image storage. The image data processed by the image processing module 62 may be stored in the memory 64, to be subsequently accessed by the print engine 60 for controlling the nozzles included in the print head 56 during a printing operation. The control block 54 may further include a navigation system 66 to determine the location of, for example, an index nozzle, as well as the rotation angle of the print head 56.
(41) Based on the location information of the index nozzle and the rotation angle that may be provided by the navigation system 66, the print engine 60 may calculate the locations of the nozzles (e.g., other than the index nozzles) with respect to the image in physical image space, and to efficiently locate and retrieve image data from the memory 64 based, at least in part, on the determined and calculated locations of the index nozzle and the other non-index nozzles. This may be accomplished, in some embodiments, by the print engine translating or mapping the determined and calculated locations of the nozzles to corresponding memory locations in memory 64. After determining the corresponding memory locations, the print engine may read the image data stored at the determined corresponding memory locations. After reading the image data, the image data that was read may be cleared by the print engine 60 from the memory 64. Based on the image data read from the memory 64, the print engine may control the nozzles included in the print head 56 to selectively activate or not active the nozzles.
(42) In some embodiments, the print engine 60 may be embodied in software. For these embodiments, computer readable instructions that may be stored in a computer-readable storage medium may be executed by, for example, a processor, in order to perform the various processes described herein. In some embodiments, the print engine 60 may be embodied in hardware, e.g., application specific integrated circuit (ASIC) or system on chip (SOC), while in other alternative embodiments, the print engine 60 may be embodied in both software and hardware.
(43) Turning now to
(44) One of the primary components for the iterative process for calculating the locations of the printer nozzles in the physical image space described previously are the X DDA 82 and the Y DDA 84. The DDAs 82 or 84, in some embodiments, may be employed in order to accumulate the x or y coordinate values of the locations of the nozzles that are calculated using the previously described processes.
(45) The DDA 82 or 84, as depicted, includes a multiplexor (MUX) 96 and an accumulator register 98. The DDA 82 or 84 is an integrator, or in digital terms, an accumulator, of the fixed slope values. Thus, the DDA 82 or 84 may be used iteratively to calculate the locations, in physical image space, of each of the nozzles of a handheld printer with respect to an image to be printed onto a print medium. The host processor 70 may facilitate the calculating of the locations of the nozzles in physical image space, the reading of image data from the memory, and the subsequent control of the nozzles as described previously.
(46) Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art and others, that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiment shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the embodiment discussed herein. Therefore, it is manifested and intended that the invention be limited only by the claims and the equivalents thereof.