Apparatus, computer-implemented method and computer program product for improved print position compensation

By using sensors to detect the edge position of the printing medium and the timestamp difference to generate print position compensation, the problem of print position drift caused by printer slippage is solved, improving printing accuracy and reducing material waste.

CN116118373BActive Publication Date: 2026-06-09HAND HELD PRODS INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HAND HELD PRODS INC
Filing Date
2022-08-03
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing printers suffer from printing errors and wasted resources due to printing media slippage during the printing process caused by printing position drift.

Method used

By detecting the edge position distance and timestamp difference of the printing medium using sensors, print position compensation is generated to correct the relative position of the print head and the edge of the medium, ensuring that printing is performed in the correct position.

Benefits of technology

It reduces printing errors, improves printing accuracy, and reduces material waste, especially in long printing jobs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116118373B_ABST
    Figure CN116118373B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide improved print position compensation, for example, to improve the accuracy of print jobs performed by a printer. The print position compensation implements an offset of the time until printing on a print medium to account for changes and / or erroneous movement of the print medium, such as due to slippage and / or other results of the force applied to the print medium. Particular embodiments determine data values derived for both an output phase and a retraction phase of printer operation. Various embodiments generate print position compensation as a function of sensor-based edge position distance determined during each of a media output phase and a media retraction phase. Alternatively or additionally, various embodiments generate print position compensation as a function of sensor-based media movement phase timestamp differences determined during each of a media output phase and a media retraction phase.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments disclosed herein generally relate to improving printer operation, and more specifically to improving print position compensation to increase the accuracy of print jobs and / or otherwise reduce erroneous print jobs and the associated wasted resources. Background Technology

[0002] In various contexts, printers may encounter any of a number of errors, situations, etc., resulting in the incorrect completion of print jobs, for example, by misprinting data at various locations along the print medium instead of the correct location on a specific printable portion. The applicant has identified problems with current implementations for compensating for such errors. Through effort, ingenuity, and innovation, the applicant has addressed many of these recognized problems by developing solutions embodied in this disclosure, which are described in detail below. Summary of the Invention

[0003] In general, the embodiments of this disclosure provided herein offer improved generation and / or uses for print position compensation. Other specific embodiments for improved generation and / or uses of print position compensation will be, or will become apparent to those skilled in the art upon examination of the following figures and detailed description. All such additional embodiments included within this specification are intended to be within the scope of this disclosure and are protected by the following claims.

[0004] According to a first aspect of this disclosure, an exemplary computer-implemented method is provided. This exemplary computer-implemented method is provided for generating print position compensation based at least in part on a first edge position distance and a second edge position distance. The computer-implemented method can be performed by any of a plurality of computing devices embodied in hardware, software, firmware, and / or any combination thereof. In one exemplary embodiment, the computer-implemented method includes determining a first edge position distance between a first edge and a printhead via a sensor during a media output phase. The exemplary computer-implemented method further includes determining a second edge position distance between the first edge and the printhead via a sensor during a media retraction phase. The exemplary computer-implemented method further includes generating print position compensation based at least in part on the first edge position distance and the second edge position distance.

[0005] In addition or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, the exemplary computer-implemented method further includes initiating a printing operation based at least in part on print position compensation.

[0006] Alternatively, in some exemplary embodiments of the method implemented in the exemplary computer, the first edge location distance includes a first data value of a specific size, and the second edge location distance each includes a second data value of a specific size.

[0007] Alternatively or in some exemplary embodiments of the method implemented in an exemplary computer, generating print position compensation includes generating a differential edge position distance by subtracting a second edge position distance from a first edge position distance; and generating print position compensation by dividing the differential edge position distance by two.

[0008] In addition or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, determining the first edge position distance includes detecting the leading edge of at least a printable portion of the printing medium via a sensor; tracking the distance traveled by the leading edge during a media output phase while applying a predetermined force to the printing medium, the predetermined force being associated with a target distance between the sensor and the printhead; and determining the first edge position distance based at least in part on the tracking distance traveled by the leading edge during the media output phase.

[0009] In addition or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, determining the second edge position distance includes detecting the leading edge of at least a printable portion of the printing medium via a sensor; tracking the distance traveled by the leading edge during a media retraction phase while applying a predetermined force to the printing medium, the predetermined force being associated with a target distance between the sensor and the printhead; and determining the second edge position distance based at least in part on the tracking distance traveled by the leading edge during the media retraction phase.

[0010] In addition or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, determining the second edge position distance includes detecting the trailing edge of at least a printable portion of the printing medium via a sensor; tracking the distance traveled by the trailing edge during a media retraction phase while applying a predetermined force to the printing medium, the predetermined force being associated with a target distance between the sensor and the printhead; and determining the second edge position distance based at least in part on the tracking distance traveled by the trailing edge during the media retraction phase.

[0011] In addition, or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, the media output phase includes a calibration printing phase.

[0012] In addition, or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, the media output phase includes a previous print job phase.

[0013] In addition or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, the exemplary computer-implemented method further includes performing boundary checks based at least in part on print position compensation.

[0014] In addition or alternatively, in some exemplary embodiments of the exemplary computer-implemented method, the exemplary computer-implemented method further includes detecting the occurrence of an idle state; and resetting the print position compensation in response to detecting the occurrence of an idle state.

[0015] According to a second aspect of this disclosure, another computer-implemented method is provided. The second exemplary computer-implemented method is provided for generating print position compensation based at least in part on an output phase timestamp and a retraction phase timestamp. The second computer-implemented method can be performed by any of a plurality of computing devices embodied in hardware, software, firmware, and / or any combination thereof. In one exemplary embodiment, the second exemplary computer-implemented method includes determining an output phase timestamp difference via a sensor during a media output phase based at least in part on a first edge associated with a first printable portion of the print medium and a second edge associated with a second printable portion of the print medium. The second exemplary computer-implemented method further includes determining a retraction phase timestamp difference via a sensor during a media retraction phase based at least in part on a third edge associated with a third printable portion of the print medium and a fourth edge associated with a fourth printable portion of the print medium. The second exemplary computer-implemented method further includes generating print position compensation based at least in part on the output phase timestamp difference and the retraction phase timestamp difference.

[0016] In addition or alternatively, in some exemplary embodiments of the method implemented by the second exemplary computer, determining the output stage timestamp difference via a sensor during the media output stage includes identifying a first event timestamp associated with a first edge detection event associated with a first edge during the media output stage; identifying a second event timestamp associated with a second edge detection event associated with a second edge during the media output stage; and determining the output stage timestamp difference based at least in part on the first event timestamp and the second event timestamp.

[0017] Alternatively, in some exemplary embodiments of the method implemented by the second exemplary computer, determining the output stage timestamp difference via a sensor during the media output stage includes detecting a first edge detection event via a sensor during the media output stage; determining a first event timestamp associated with the first edge detection event via a sensor; detecting a second edge detection event via a sensor during the media output stage; determining a second event timestamp associated with the second edge detection event via a sensor; and generating the output stage timestamp difference by subtracting the second event timestamp from the first event timestamp.

[0018] In addition or alternatively, in some exemplary embodiments of the method implemented by the second exemplary computer, determining the retraction phase timestamp difference via a sensor during the media retraction phase includes identifying a first event timestamp associated with a first edge detection event associated with a first edge during the media retraction phase; identifying a second event timestamp associated with a second edge detection event associated with a second edge during the media retraction phase; and determining the retraction phase timestamp difference based at least in part on the first event timestamp and the second event timestamp.

[0019] Alternatively, in some exemplary embodiments of the method implemented by the second exemplary computer, determining the retraction phase timestamp difference via a sensor during the media retraction phase includes detecting a first edge detection event via a sensor during the media retraction phase; determining a first event timestamp associated with the first edge detection event via a sensor; detecting a second edge detection event via a sensor during the media retraction phase; determining a second event timestamp associated with the second edge detection event via a sensor; and generating the retraction phase timestamp difference by subtracting the second event timestamp from the first event timestamp.

[0020] Alternatively, in some exemplary embodiments of the method implemented in the second exemplary computer, generating print position compensation includes generating a timestamp-based distance value by subtracting the retraction stage timestamp difference from the output stage timestamp difference; and generating print position compensation by multiplying the timestamp-based distance value by the print speed.

[0021] In addition or alternatively, in some exemplary embodiments of the method implemented in the second exemplary computer, determining the retraction phase timestamp difference includes (A) repeating the following steps until a first edge of a first edge type is detected: advancing the printing medium by a dotted line; determining sensor data corresponding to the sensor by an analog-to-digital converter associated with the sensor, determining whether the sensor data indicates a first edge of the first edge type; if the sensor data indicates a first edge of the first edge type: determining a first timestamp associated with the detection of the first edge; storing the first timestamp associated with the detection of the first edge; repeating the following steps until a second edge of the first edge type is detected: advancing the printing medium by a dotted line; determining second sensor data corresponding to the sensor by an analog-to-digital converter associated with the sensor; determining whether the sensor data indicates a second edge of the first edge type; if the second sensor data indicates a second edge of the first edge type: determining a second timestamp associated with the detection of the first edge; storing the second timestamp associated with the detection of the second edge; and determining the retraction phase timestamp difference by the first timestamp associated with the detection of the first edge and the second timestamp associated with the detection of the second edge.

[0022] According to a third aspect of this disclosure, an apparatus is provided. The apparatus is provided for generating print position compensation based at least in part on a first edge position distance and a second edge position distance. In one exemplary embodiment, the exemplary apparatus includes at least one processor and at least one memory storing computer-coded instructions thereon, which, when executed with the at least one processor, cause the apparatus to perform any of the exemplary computer-implemented methods described herein. In another exemplary embodiment, the exemplary apparatus includes means for performing each step of any of the exemplary computer-implemented methods described herein.

[0023] According to a fourth aspect of this disclosure, a computer program product is provided. The computer program product is provided for generating print position compensation based at least in part on a first edge position distance and a second edge position distance. In one exemplary embodiment, the exemplary computer program product includes at least one non-transitory computer-readable storage medium on which computer program code is stored, the computer program code configuring the computer program product, when executed with at least one processor, to perform any of the methods of the exemplary computer implementation described herein. Attached Figure Description

[0024] Therefore, embodiments of this disclosure have been described in general terms, and reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and in which:

[0025] Figure 1A block diagram of a printer apparatus that can be specially configured and operated within an embodiment of the present disclosure is shown.

[0026] Figure 2 An exemplary visualization of printing errors affecting a printing medium according to at least some exemplary embodiments of the present disclosure is shown, with improvements to the visualization;

[0027] Figure 3 Exemplary sensor outputs according to at least some exemplary embodiments of the present disclosure are shown;

[0028] Figure 4 An exemplary visualization of edge location distance determination during the media output phase according to at least some exemplary embodiments of the present disclosure is shown;

[0029] Figure 5 An exemplary visualization of edge location distance determination during the media retraction phase according to at least some exemplary embodiments of the present disclosure is shown;

[0030] Figure 6 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations for generating and / or utilizing print position compensation based at least in part on one or more determined edge location distances;

[0031] Figure 7 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations for generating an exemplary process based at least in part on print position compensation and a divisor factor;

[0032] Figure 8 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations of an exemplary process for determining an edge location distance based on the tracking distance traveled during a medium movement phase;

[0033] Figure 9 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations of an exemplary process for resetting print position compensation;

[0034] Figure 10 An exemplary visualization is shown of the determination of stage timestamp differences during a media output stage according to at least some exemplary embodiments of the present disclosure;

[0035] Figure 11 An exemplary visualization is shown of the determination of stage timestamp differences during a media retraction stage according to at least some exemplary embodiments of the present disclosure;

[0036] Figure 12 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations for generating and / or utilizing print position compensation based at least in part on one or more determined stage timestamp differences;

[0037] Figure 13 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations of an exemplary process for determining a media movement phase timestamp difference associated with a particular media movement phase;

[0038] Figure 14 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operations of an exemplary process for generating a media movement phase timestamp difference associated with a media movement phase;

[0039] Figure 15 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations for generating print position compensation based at least in part on timestamp-based distance values; and

[0040] Figure 16 A flowchart is shown according to at least some exemplary embodiments of the present disclosure, which depicts exemplary operation of an exemplary process for determining the timestamp difference of a media movement phase based on edge and timestamp detection and storage via sensors. Detailed Implementation

[0041] Embodiments of the invention will now be described more fully below with reference to the accompanying drawings, which illustrate some, but not all, of the embodiments of this disclosure. In fact, embodiments of this disclosure can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Throughout this document, similar reference numerals refer to similar elements.

[0042] In some implementations, some of the operations described above may be modified or further amplified. Furthermore, in some implementations, additional optional operations may be included. Modifications, amplifications, or additions to the operations described above may be performed in any order and in any combination.

[0043] Those skilled in the art to which this disclosure pertains, having benefited from the teachings presented in the foregoing description and accompanying drawings, will conceive of numerous modifications and other embodiments of this disclosure set forth herein. Therefore, it should be understood that the embodiments are not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Furthermore, although the foregoing description and accompanying drawings describe exemplary embodiments in the context of certain example combinations of elements and / or functions, it should be understood that different combinations of elements and / or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, combinations of elements and / or functions different from those explicitly described above, as shown in some of the appended claims, are also contemplated. Although specific terminology is used herein, it is used only in a general and descriptive sense and not for limiting purposes.

[0044] It should be understood that the data types, data objects, and other data representations described herein can be embodied in any of many ways. For example, such data representations can be embodied by any of many basic data types, custom object implementations, etc., without departing from the scope and spirit of this disclosure.

[0045] Overview

[0046] Ensuring that the printer continues printing at the expected position on the printing media is one of many factors important for ensuring the printer functions as intended. One aspect of ensuring this is maintaining printing accuracy, which defines where data printing will begin and / or end. If the printer starts printing in an incorrect position (e.g., too high or too low), the incorrectly printed portion of the printing media can become completely unusable. For example, in the context of label printing, printing in an incorrect position can result in the label on the printing media being printed incompletely, with one or more portions of the data missing, cut off, etc. If the printing media is printed incorrectly, the printer may have completely wasted the processing resources used to perform the printing, as well as the actual printing media on which the data was printed (e.g., in cases where the printing media is not reusable).

[0047] One reason printers print misaligned labels is due to slippage of the printing media. Slippage can cause printing to begin at different locations on different labels on the printing media due to inconsistent forces applied to it. For example, slippage can occur as the size of the print job increases when label printers and / or other devices utilize a roll of printing media. The diameter of this roll decreases as it is consumed. Applying force to the printing media pulls it in the direction required to print on the labels and / or output the data included in the print.

[0048] As the force manipulates the print media roll (e.g., a spring force pulls the print media roll for printing and output), the changing dynamics of the print media can cause a shift in the print position. For example, a tension force can be applied to a new print media roll sufficient to pull the print media when it is at its maximum (e.g., highest diameter), heaviest, etc., state. A similar tension force can be applied to continuously used print media rolls as the print job continues. A reduction in the size and / or other alteration of the print media roll used (e.g., a reduced diameter) can cause incorrect print position, resulting in errors of varying severity in label printing. Typically, printers do not have any mechanism to compensate for or otherwise manage this force variation.

[0049] See Figure 2 , Figure 2 This shows a label that was incorrectly printed due to incorrect printing precision. Specifically, Figure 2 An exemplary printable medium 200 is depicted, comprising printable portions 202A, 202B, 202C, 202D, and 202E. In one exemplary context, each printable portion of the printable medium 200 corresponds to a label on a particular label roll. Each printable portion includes data printed on that particular printable portion. For example, printable portion 202A includes text data 204A, printable portion 202B includes text data 204B, printable portion 202C includes text data 204C, printable portion 202D includes text data 204D, and printable portion 202E includes text data 204E. Text data 204A-204E can be printed by a particular printer during a particular print job, which can correspond to the printing of any number of labels. For example, the printer can perform print jobs for dozens, hundreds, thousands, and / or more labels. In an exemplary context, printable portion 202A represents the first label of a print job, and printable portion 202A represents the second label of a print job, while printable portions 202C, 202D, and 202E can be dozens, hundreds, or thousands of labels later in the print job. As the print job continues, the likelihood of print position errors affecting the printer can increase, for example, due to the diameter of the print media roll within the printer decreasing due to output during printing. Additionally, the likelihood of print position errors increases when the area of ​​the printable portion of the print media is smaller.

[0050] Each printable portion includes text data printed thereon, which is intended to be printed at a specific location within the printable portion. For example, the text data may be intended to be printed centered on the corresponding printable portion, such that margins are maintained on each side of the text data. As shown, the print position may drift over time as the print job continues. The print position begins to drift downwards during the printing of printable portion 202C. The print position drifts further downwards during the printing of printable portion 202D, and even further downwards during the printing of printable portion 202E, causing at least a portion of the text to be cut off. This drifting of the print position makes the consumption of computational resources for printing one or more printable portions, such as printable portions 202C, 202D, and / or 202E, wasteful and potentially requiring disposal. At the end of particularly long print jobs (e.g., printing tens, hundreds, thousands, or more labels), some or all of the resulting prints may be unusable.

[0051] Embodiments of this disclosure generate print position compensation to offset changes in print position over time (e.g., drift due to slippage). In this respect, print position compensation can represent the offset to be utilized during one or more print jobs to initiate printing at the correct print position. The correct print position can account for any drift that has occurred. By reducing and / or eliminating drift, embodiments of this disclosure perform print jobs more accurately regardless of print job length, label size, and / or any other factors affecting print position drift. By performing print jobs more accurately, embodiments also reduce material waste that would otherwise result from print failures and / or inaccuracies caused by such print position drift.

[0052] Some embodiments of this disclosure generate print position compensation based at least in part on one or more distances and / or timestamps that can be used to generate the distances, wherein such determination is performed during different media movement phases, such as media output and media retraction phases. For example, some embodiments determine the edge position distance between an edge and a component of the printer (e.g., the print head) where printing will occur, and utilize such edge position distances to generate print position compensation. Alternatively or additionally, some embodiments determine media movement phase timestamp differences for the media output and media retraction phases, and utilize such timestamp differences to determine print position compensation. Such distances and / or timestamps can be determined using sensors present in various printers. In this respect, conventional printers can be specifically configured to perform such operations without requiring additional and / or extra hardware. Similarly, new printers can be specifically configured to perform such determinations without reconfiguration.

[0053] definition

[0054] The term "sensor" refers to hardware, software, firmware, and / or combinations thereof that detect the presence of printing media, gaps between portions of the printing media, black marks, and / or other determinable aspects of a portion of the printing media. Non-limiting examples of sensors include label stop sensors, black mark sensors, gap sensors, slot sensors, etc.

[0055] The term "printhead" refers to a printer component embodied in hardware, software, and / or firmware that engages with and / or otherwise interacts with the printing media to print on the printing media.

[0056] The term "printing media" refers to any number of areas on which data is printed. Non-limiting examples of printing media include label rolls, continuous paper feeders, and any other conveyor of printable material.

[0057] The term "printable portion" refers to a defined area of ​​a printing medium on which data is to be printed. In some embodiments, the printing medium includes printable portions that embody a label or other area on which data is to be printed, as well as non-printable portions that separate the printable portions, such as gaps between such printable portions.

[0058] The term "edge position distance" refers to a defined distance between a specific edge of a portion of the printing medium and the printhead.

[0059] The term "media movement phase" refers to the operational state of a printer in which the printing media is manipulated by one or more applied forces.

[0060] The term "media output stage" refers to a specific media movement stage in which the printing media is manipulated in a first direction for output via the printer. Non-limiting examples of media output stages include the stage in which the printer prints on the printing media to output the printing media containing data of such printing, the stage in which the printing media is conveyed through the printer to output the printing media, and / or another stage in which the printing media is output with or without printing.

[0061] The term "media retraction phase" refers to a specific media movement phase in which the printing media is manipulated in the opposite direction to the printer's direction during output. Non-limiting examples of media retraction phases include the phase where the printer retracts unprinted labels that have passed through a specific sensor but have not yet been printed during the print job.

[0062] The term "print position compensation" refers to electronically managed data indicating the offset distance or time value at which printing will begin. In an exemplary context, a positive print position compensation indicates that printing will begin a specific number of dots later, compared to the predetermined or default position where printing would typically begin.

[0063] The term "print operation" refers to an electronically driven instruction that causes the printer to initiate a print job phase for printing specific data onto a print media. The term "print job phase" refers to the state of the printer where data will be printed onto the print media. The term "calibration print phase" refers to a specific print job phase where specific data is printed onto the print media to calibrate one or more configurations, settings, and / or other aspects of the printer. For example, in some exemplary contexts, during the calibration print phase, calibration data is printed onto the print media to determine the default print position where data will begin to be printed onto the print media.

[0064] The term "determinable step size" refers to electronically managed data representing a unit of measurement associated with adjusting the position of the printing medium. In some implementations, the determinable step size represents a specific number of dots, where the number is determined directly or interpreted by other data detected from sensors (e.g., timestamp data).

[0065] The term "differential edge location distance" refers to electronic management data that represents the distance difference between two edge location distances. In an exemplary context, differential edge location distance represents the difference between a first edge location distance associated with a first media movement phase (e.g., a media output phase) and a second edge location distance associated with a second media movement phase (e.g., a media retraction phase).

[0066] The term "edge" refers to the boundary location and / or area of ​​the printable portion of a printing medium. In some implementations, an edge is associated with multiple edges, each with a different "edge type." The term "edge type" refers to a defined classification and / or categorization of a particular edge based on its position and / or specific orientation relative to the corresponding printable portion of the printing medium.

[0067] The term "leading edge" relative to the printable portion of a printing medium refers to the area and / or location of the printable portion that first passes through the sensor during the media output phase. The leading edge can also be similarly referred to as the "leading edge" of the printable portion of a printing medium (such as a label). In some implementations, the leading edge is a non-limiting example of an edge type.

[0068] The term "trailing edge" relative to the printable portion of a printing medium refers to the area and / or location of the printable portion that last passes through the sensor during the media output phase. The trailing edge can also be similarly referred to as the "rear edge" of the printable portion of a printing medium (such as a label). In some implementations, the trailing edge is a non-limiting example of an edge type.

[0069] The term "target distance" relative to two locations refers to electronic management data representing the known distance between those two locations. When used relative to a specific component, target distance refers to electronic management data representing the known distance between locations associated with each specific component.

[0070] The term "boundary check" refers to any number of algorithmic, deterministic, and / or data-driven processes that indicate whether the identified print position for performing a print job falls within the printable portion of the printable medium. In some implementations, the boundary check involves a comparison between print position compensation and maximum permissible compensation.

[0071] The term "idle state" refers to a defined state of a printer that indicates that the printer has not performed any operations associated with a print job within a specific time period.

[0072] The term "edge detection event" refers to electronically managed data captured by a sensor that indicates the presence of an edge within the sensor's field of view. Edge detection events can be detected by the sensor and / or the processing circuitry associated with the sensor.

[0073] The term "event timestamp" refers to electronically managed data that indicates the time when a specific event was detected.

[0074] The term "media movement phase timestamp differential" refers to electronic management data that represents a defined duration between a first event and a second event, both detected during the media movement phase.

[0075] The term "output phase timestamp difference" refers to the timestamp difference of the media movement phase determined based on the first and second events detected during the media output phase.

[0076] The term "retraction phase timestamp difference" refers to the timestamp difference of the media movement phase determined based on the first and second events detected during the media retraction phase.

[0077] The term "timestamp-based distance value" refers to electronic management data that represents, at least in part, the difference between the time one or more edges move between the media output phase and the media retraction phase, determined based on a defined difference between the output phase timestamp difference and the retraction phase timestamp difference.

[0078] The term "print speed" refers to electronically managed data that represents the known and / or determined speed at which the printing media moves within the printer.

[0079] Exemplary apparatus of this disclosure

[0080] Figure 1 A block diagram of a printer apparatus that can be specially configured and operated within embodiments of this disclosure is shown. Specifically, Figure 1 An exemplary printer apparatus 100 that generates and / or utilizes print position compensation according to this disclosure is illustrated. For example, in some embodiments, the printer apparatus 100 is configured to perform printing operations based at least in part on print position compensation determined as described herein to minimize or eliminate the effects of print position drift. As shown, the printer apparatus 100 includes a sensor 102, a sensor ADC 104, a light source 106, a processor 108, a memory 112, print compensation circuitry 114, and a printing mechanism 116. The printer apparatus 100 also includes a pressure roller 118 that manipulates at least a print medium 120. In this regard, it should be understood that the various components depicted and described with respect to the printer apparatus 100 manipulate the print medium 120 and / or an associated roll of print medium including at least the print medium 120 to print data on portions of such print medium via the printing mechanism 116 and output print medium including such printed data.

[0081] Sensor 102 includes hardware, software, firmware, and / or combinations thereof that facilitate control of the movement of the printing medium within the printer apparatus 100. In some embodiments, sensor 102 embodies a label stop sensor, a black mark sensor, or other photoelectric sensor that facilitates control of the printing medium, such as by providing data indicating the detection of edges, edge movement, etc. Sensor 102 can detect gaps between printable portions of the printing medium (e.g., gaps between labels), black marks in a continuous feed, slots in a continuous feed, etc. Alternatively or additionally, sensor 102 can generate and / or capture data sent to processor 108, which is specifically configured to perform such detections based at least in part on data received from sensor 102. In some embodiments, the sensor includes a sensor ADC 104 embodying an analog-to-digital converter. Sensor ADC 104 can generate and / or output a digital signal representing the data captured by sensor 102. For example, sensor 102 can detect and / or capture light emitted from the light source 106 when the light source 106 emits light through the printing medium 120, such as during the printing and / or retraction of the printing medium during a print job. The light source 106 may be embodied in one or more LEDs, lasers, and / or devices that generate high-power light in at least one direction. The sensor ADC 104 may output a digital representation of the light captured by the sensor 102.

[0082] Printing medium 120 may include multiple printable portions on which data is to be printed. In some embodiments, each printable portion embodies a label on which data is printed via printer device 100. Additionally, printing medium 120 includes a gap between the trailing edge of a printable portion and the leading edge of the next printable portion. Such gaps and / or edges may be detected via sensor 102 as described herein.

[0083] The printing mechanism 116 includes components embodied in hardware, software, and / or firmware that facilitate printing data onto the print medium 120, conveying the print medium out of the printer device 100, and / or tearing off or removing one or more printable portions of the print medium 120. In some embodiments, the printing mechanism 116 includes a tear bar. The tear bar may be specifically designed to tear off printable portions from the print medium 120 that have passed through the tear bar, and / or to tear printable portions away from the print medium 120. In addition or alternatively, in some embodiments, the printing mechanism 116 includes a print head. The print head may be specifically configured to print data onto the print medium 120. In some embodiments, the print head is controlled at least in part based on instructions from a processor 108, etc., that cause the print head to print specific data at specific locations (e.g., dotted lines) and / or at multiple locations along the print medium 120. In some embodiments, the print head is used to print specific data at specific locations on each printable portion of the print medium 120. In this respect, the printhead can be activated, for example, at least in part, based on instructions from the processor 108, to print data at a specific location at least in part based on print position compensation.

[0084] In some embodiments, processor 108 (and / or coprocessor or any other processing circuitry assisting or otherwise associated with the processor) may communicate with memory 112 via a bus for transferring information between components of printer device 100. In some embodiments, for example, memory 112 is non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, for example, memory 112 includes or embodies electronic storage devices (e.g., computer-readable storage media) in some embodiments. In some embodiments, memory 112 is configured to store information, data, content, applications, instructions, etc., for enabling printer device 100 to perform various functions according to exemplary embodiments of this disclosure.

[0085] Processor 108 can be embodied in a variety of different ways. For example, in some exemplary embodiments, processor 108 includes one or more processing devices configured to execute independently. In addition or alternatively, in some embodiments, processor 108 includes one or more processors configured in series via a bus to enable independent execution of instructions, pipelines, and / or multithreading. The terms “processor” and “processing circuitry” are to be understood to include single-core processors, multi-core processors, multiple processors within printer device 100, and / or one or more remote or “cloud” processors external to printer device 100.

[0086] In exemplary embodiments, processor 108 may be configured to execute instructions stored in memory 112 or otherwise accessible to the processor. Alternatively, processor 108 is configured in some embodiments to perform hard-coded functions. Thus, whether configured by hardware or software methods, or by a combination thereof, processor 108 may represent an entity (e.g., physically embodied in circuit form) capable of performing operations according to embodiments of this disclosure. Alternatively, as another example in some exemplary embodiments, when processor 108 is embodied as an executor of software instructions, these instructions may specifically configure processor 108 to perform algorithms embodied in the specific operations described herein when executing such instructions.

[0087] As a specific example, processor 108 may be configured to perform various operations associated with the printing process performed by printer device 100. In some embodiments, processor 108 includes hardware, software, firmware, and / or combinations thereof for controlling the operation of sensor 102 and / or receiving data from that operation. Alternatively, in some embodiments, processor 108 includes hardware, software, firmware, and / or combinations thereof that control motor 110, such as to move print media 120 according to media movement phases (e.g., during printing, calibration, etc.). For example, in some embodiments, motor 110 may be activated to advance (e.g., convey) pressure roller 118, thereby outputting more print media 120. Alternatively, in some embodiments, motor 110 may be activated to reverse pressure roller 118, thereby retracting print media 120. In addition to or alternatively, in some embodiments, processor 108 includes hardware, software, firmware, and / or combinations thereof that control the activation of light source 106 during one or more stages to generate light that illuminates the printing medium (such as printing medium 120) during printing. In addition to or alternatively, in some embodiments, processor 108 includes hardware, software, firmware, and / or combinations thereof that control printing mechanism 116 to print on printing medium 120, output the printing medium, and / or otherwise engage or interact with the printing medium. In addition to or alternatively, in some embodiments, processor 108 includes hardware, software, firmware, and / or combinations thereof that interact with sensor 102, for example, by receiving data captured by sensor 102 as input, thereby generating print position compensation to compensate for print position drift.

[0088] In some embodiments, printer device 100 (e.g., via processor 108) may be configured to utilize any of a variety of user-supplied print media, such that the print media is not predefined by printer device 100 (e.g., "mixed mode"). In some embodiments, processor 108 operates using commands specific to a particular type of print media and / or the configuration of printer device 100.

[0089] Print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof that support various functions associated with generating and / or utilizing print position compensation. Print position compensation offsets specific drifts in the print position. In some embodiments, print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof for determining a first edge position distance during the media output phase and a second edge position distance during the media retraction phase. Additionally or alternatively, in some embodiments, print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof for generating print position compensation at least in part based on the first and second edge position distances.

[0090] In addition to or alternatively, in some embodiments, the print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof for determining the output stage timestamp difference associated with the media output stage. In addition to or alternatively, in some embodiments, the print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof for determining the retraction stage timestamp difference associated with the media retraction stage. In addition to or alternatively, in some embodiments, the print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof for generating print position compensation based at least in part on the output stage timestamp difference and the retraction stage timestamp difference.

[0091] In addition or alternatively, in some embodiments, the print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof that initiate a print operation at least in part based on print position compensation. In addition or alternatively, in some embodiments, the print compensation circuit 114 includes hardware, software, firmware, and / or combinations thereof that perform boundary checks at least in part based on print position compensation.

[0092] It should be understood that in some embodiments, the print compensation circuit 114 may include a separate processor, a specially configured field-programmable gate array (FPGA), or a specially programmed application-specific integrated circuit (ASIC). Alternatively, in some embodiments, the print compensation circuit 114 is combined with one or more other sets of circuitry. For example, in some embodiments, the print compensation circuit 114 is combined with processor 108 such that both sets of circuitry are embodied in a single component. Similarly, in some embodiments, the print compensation circuit 114 is combined such that processor 108 performs one or more of the operations described above with respect to the print compensation circuit 114.

[0093] Figure 3 Exemplary sensor outputs according to at least some exemplary embodiments of the present disclosure are shown. Specifically, Figure 3An exemplary graph 300 is shown, depicting the output from a sensor (such as sensor 102). In some embodiments, the values ​​depicted may represent analog values ​​that are converted and / or output as digital values ​​by a digital-to-analog converter (e.g., sensor ADC 104 associated with sensor 102) associated with the corresponding sensor.

[0094] Graph 300 represents the voltage output of a sensor (such as sensor 102) acquired throughout the entire print job. When the job begins, the sensor is activated, for example, to detect the edges of printable portions of the printable medium (e.g., indicated by black markers), gaps between printable portions of the printable medium, etc. In this respect, as the printable medium in front of the sensor moves, the sensor output begins to change at different times as the printable medium moves. At, for example, timestamp 302, the sensor is activated at a baseline value associated with the output from the sensor (e.g., during which time the printable portion is in front of the sensor). At, for example, timestamp 304, the sensor output begins to rise, for example, due to light reflected from the trailing edge of the printable portion of the printable medium. The sensor output reaches a peak and then falls back until timestamp 306 (e.g., based at least in part on light reflected from the starting edge of the next printable portion), at which point it returns to the baseline value.

[0095] In this regard, between timestamps 302 and 304, the sensor output indicates the presence of a specific printable portion of the printing medium in front of the sensor (e.g., where a single label crosses the sensor). Furthermore, at timestamp 304, the sensor output indicates the presence of a trailing edge associated with that specific printable portion of the printing medium (e.g., where a single label has ended and subsequent data indicates a change in the printing medium in front of the sensor, indicating the start of a gap). Further still, at timestamp 306, the sensor output indicates the presence of a leading edge associated with the next printable portion of the printing medium (e.g., where the detected gap has ended and the baseline value is output again).

[0096] In this regard, it should be understood that sensor output can be processed to determine one or more events and / or timestamps of such events. For example, an edge detection event associated with the trailing edge of the currently printable portion can be detected, at least in part based on a change in sensor output from a baseline value to another value. Alternatively, an edge detection event associated with the leading edge of a new printable portion can be detected, at least in part based on a change in sensor output from the changed value back to the baseline value. Alternatively, when an edge is detected, an edge detection event and / or an edge movement event (e.g., indicating edge movement) can be detected, at least in part based on sensor output at any given time. It should be understood that timestamps of the detected specific events can be identified, stored, and / or processed by the sensor itself and / or associated processing circuitry (e.g., a processor such as processor 108).

[0097] It should be understood that the sensor output pattern can be repeated for any number of printable portions on the printing medium. In this respect, the sensor output can be repeated any number of times as the printing medium moves (e.g., outputs or retracts) within the printer unit. Therefore, continuous sensor output can be used to detect how much printable portion has passed the sensor, how much time has elapsed since a specific edge of the printable portion passed the sensor, etc. Furthermore, it should be understood that timestamps associated with one or more detected events, individually and / or in addition to predetermined and / or known data values ​​(such as the size of the label and / or the speed at which the printer moves the printing medium), can be used to determine one or more distances traveled by an edge, multiple edges, etc.

[0098] Exemplary visualization for determining edge location distance

[0099] Having described exemplary systems and apparatus according to this disclosure, an exemplary visualization of a process for determining edge position distances according to this disclosure will now be discussed. The edge position distance determination process can be used for any of many purposes, such as generating print position compensation. In some embodiments, the edge position distance determination is performed by a specially configured printer (e.g., printer apparatus 100). It should be understood that the distances depicted are for illustrative purposes and are not intended to limit the scope and substance of this disclosure.

[0100] Figure 4An exemplary visualization of edge position distance determination during the media output phase according to at least some exemplary embodiments of the present disclosure is shown. Specifically, the exemplary visualization depicts a printable medium 400 comprising a plurality of printable portions 410A-410G, each printable portion being separated by a plurality of gaps 408. It should be understood that in some embodiments, each of the plurality of gaps 408 has the same size. The visualization also includes the location 402 of the sensor, the location 404 of the print head, and the location 406 of the tear lever. The printable medium 400 may be held within a printer (e.g., embodied by a printer device 100) that includes printing mechanisms at the locations defined by locations 402, 404, and 406 to facilitate printing on the printable medium 400. In addition or alternatively, in other embodiments, any number of printable portions may be located between the location 402 of the sensor, which has not been used in a previous print job, and the location 406 of the tear lever.

[0101] Figure 4 The position of each of the plurality of printable portions 410A-410G can be depicted at the end of a previous print job (e.g., a calibration print job or another previous print job). As shown, printable portion 410G may be the last printable portion printed during a previous print job. In this respect, printable portion 410G extends past position 406 of the tear-off lever and can be torn off and / or otherwise removed from the print media 400 upon completion of the print job. The remaining plurality of printable portions 110A-110F can be used to perform subsequent print jobs involving one or more printable portions, such as as relative to... Figure 4 and Figure 5 As described. In this respect, the printer device 100 may utilize print position compensation for at least the purpose of printing on each printable portion 410A-410F during subsequent print jobs. In some such embodiments, subsequent print jobs are performed from, as relative to, the printable portion 410A-410F. Figure 5 The medium retraction phase begins as described and depicted.

[0102] During the media output phase, the printer device 100 manipulates the printing medium 400 to move the printing medium 400 in the output direction 416. The printing medium 400 can be moved in the output direction 416 during the execution of a print job (e.g., printing of desired label data, calibration printing, etc.). In this respect, the printing medium 400 is moved toward the position 406 of the tear-off lever.

[0103] The sensor at position 402 can be used to track the position of the edges of specific printable portions of the print media 400. For example, the sensor at position 402 can be used to detect each edge as each edge of print positions 410A-410G passes the sensor at position 402. In this respect, the sensor at position 402 can be used to track the position of each printable portion 410A-410G. For example, for any one of the printable portions 410A-410G, the sensor at position 402 can be used to detect the leading edge of the printable portion and can track the position of that leading edge based on the timestamp interval of printing continuation and a predetermined or determinable speed at which the print media 400 is output. The sensor at position 402 can similarly be used to detect and track the trailing edge of the printable portion, thereby defining the distance and / or area covered by the printable portion. It should be understood that the printer device 100 can simultaneously track any number of printable portions of the print media 400 and / or specific edges thereof.

[0104] In some embodiments, the sensor can be used to track the position of the leading edge of a specific printable portion of the print media 400 closest to the sensor at position 402 when the print job is completed. As shown, the sensor can be used to determine and / or track the position 412 of the leading edge that passes the sensor at position 402, particularly the leading edge associated with the printable portion 410A closest to and past the sensor at position 402. In some embodiments, the printer apparatus 100 uses the sensor at position 402 to determine position 412 by detecting a timestamp when the leading edge passes the sensor at position 402 and a timestamp when the print media 400 stops moving (e.g., print job completed). The difference between the timestamp when the leading edge at position 412 passes the sensor and the timestamp when the print media 400 stops moving can then be multiplied by a predetermined (e.g., static) or determinable speed to determine how far the leading edge has moved during that time (e.g., the distance between sensor position 412 and position 402). Alternatively or otherwise, in some embodiments, the leading edge of the printable portion 410A of the printing medium 400 may be determined at position 412 based at least in part on the known width of each printable portion and / or the output from the sensor at position 402.

[0105] In some embodiments, the leading edge of the printable portion 410A shown at position 412 is used to determine a first edge position distance 414 associated with the media output phase. For example, the leading edge of the printable portion 410A may be traced to determine the first edge position distance 414, which represents the distance between position 412 and position 404 of the printhead. In this regard, the distance between position 412 and position 402 of the sensor is determined, and this distance is subtracted from the known target distance between the sensor at position 402 and position 404 of the printhead. The known target distance between the sensor at position 402 and position 404 of the printhead may be statically maintained by the printer device 100, for example, in memory, and maintained as a static value by a processor or the like, at least in part based on the configuration of the printer device 100. In some embodiments, a timestamp between the detection of the last edge of the sensor at position 402 or the last edge of a particular edge type, together with a timestamp when the print media 400 stops moving, is used to determine position 412, the distance between position 412 and the sensor at position 402, and / or the distance between position 412 and position 404 of the printhead. In some embodiments, a sensor at location 402 may be used to track the number of dots as the print media 400 is moved (e.g., by a motor attached to a pressure roller that controls the movement of the print media 400). Alternatively or in addition, in some embodiments, the sensor is used to determine a timestamp of a particular event, and the first edge position distance 414 is generated based at least in part on such timestamps and known data associated with the speed at which the print media 400 is moved, a predetermined force applied, etc. It should be understood that in other embodiments, the trailing edge of a particular printable portion (e.g., printable portion 410A) is tracked to generate the first edge position distance 414.

[0106] Figure 5 An exemplary visualization of edge location distance determination during the media retraction phase according to at least some exemplary embodiments of the present disclosure is shown. It should be understood that, as described herein with respect to... Figure 4 A media retraction phase occurs after and / or before the described media output phase. For example, in some embodiments, the media retraction phase begins when a new print job is initiated after a previous print job has been completed. The previous print job can be a calibration print job or an actual print job in which the user inputs data to be printed. As described herein, the depicted and described printable portion 410G can be printed during the previous print job for removal from the print media 400. Therefore, a media retraction phase with the printable portion 410G removed is depicted. Figure 5 .

[0107] In some embodiments, the printer device 100 maintains the position of each remaining (e.g., not printed during a previous print job) printable portion. For example, in some embodiments, the printer device 100 continues to track the position of each remaining printable portion relative to the previous print job. Figure 4 The described position of each printable portion 410A-410F printed during a previous print job. In some such embodiments, the printer device 100 tracks each of the leading and / or trailing edges of each printable portion 410A-410F and retains such positions in a permanent or temporary storage device for use in subsequent print jobs. It should be understood that the printer device 100 may retain the positions of the printable portions 410A-410F (and / or their edges) (e.g., in memory 112) throughout the entire idle period when the printer device 100 is in an idle state. Therefore, the printer device 100 may retrieve such positions during a subsequent retraction phase and utilize these positions to perform one or more determinations, such as relative to... Figure 5 As depicted and described. For example, in some embodiments, printer device 100 uses such stored data indicating a stored location to retract such that the printable portion 410F is substantially in a specific print position corresponding to the position of the print head 404 used for printing. Alternatively or additionally, printer device 100 may use such stored data indicating a stored location to determine a position 502 for generating print position compensation.

[0108] During the media retraction phase, the printer device 100 manipulates the print media 400 to move the print media 400 in the retraction direction 506. When the printer device 100 operates in the media retraction phase, the print media 400 can be moved in the retraction direction 506. For example, the printer device 100 may remain in the media retraction phase to retract the print media 400, thereby preparing for a subsequent print job to begin from a first printable portion of the print media 400 (such as the printable portion 410G of the print media 400). It should be understood that the retraction direction 506 can be relative to... Figure 4 The output directions depicted and described are opposite to 416.

[0109] The sensor at position 402 can be used to track the position of an edge of a specific printable portion of the printable medium 400. In some embodiments, the sensor can be used to track the position of the same edge tracked during a corresponding media output phase. As shown, for example, when the printable medium 400 retracts, the printer device 100 tracks the position of the leading edge of the printable portion 410A of the printable medium 400. Alternatively or in addition, in some embodiments, the printer device 100 tracks the position of the edge closest to the sensor at position 402 but which has previously passed the sensor in order to determine a second edge position distance 504. In some embodiments, the printer device 100 tracks the position of an edge of a specific edge type (e.g., the nearest leading edge or the nearest trailing edge) closest to the sensor at position 402 but which has previously passed the sensor.

[0110] Position 502 may be affected by slippage that occurs during the retraction of the print medium 400, and therefore needs to be compensated for. In some embodiments, the printer apparatus 100 uses a sensor at position 402 to detect a timestamp when the first edge reaches position 402 of the sensor during retraction. In this regard, the difference between this timestamp and the timestamp at the initiation of retraction can be used to determine how long the edge travels from its initial position (e.g., position 502) at the start of retraction to reach the sensor at position 402. Using a predetermined (e.g., statically stored) or determinable print speed, the printer apparatus 100 can determine the distance between position 502 and the sensor position 402. In some embodiments, the leading edge of the printable portion 410A may be determined at a specific position 502 based at least in part on any other data from the sensor at position 402, known distances, and / or combinations thereof.

[0111] In the depicted visualization, as shown, the leading edge of the printable portion 410A retracts to a specific position 502. As the leading edge retracts to position 502 during the media retraction phase, a sensor at position 402 can track the leading edge. In some embodiments, position 502 of the leading edge of the printable portion 410A is used to determine a second edge position distance 504 associated with the media retraction phase. For example, the leading edge of the printable portion 410A can be tracked to determine the second edge position distance 504, which represents the distance between printhead position 404 and position 502. In some embodiments, the sensor at position 402 can be used to track the number of dots as the print media 400 is moved (e.g., by a motor attached to a pressure roller that controls the movement of the print media 400). Alternatively or additionally, in some embodiments, the sensor is used to determine a timestamp of a specific event, and the second edge position distance 504 is generated based at least in part on such timestamps and known data associated with the speed of moving the print media 400, a predetermined force applied during retraction, etc. It should be understood that in other embodiments, the trailing edge of a particular printable portion (e.g., printable portion 410A) is tracked to generate a second edge position distance 504.

[0112] In some embodiments, the printer device 100 uses edge position distances to generate print position compensation. In some embodiments, for example, a determined algorithm for generating print position compensation is used to process a first edge position distance associated with a media output phase and a second edge position distance associated with a media retraction phase. One non-limiting exemplary algorithm includes subtracting the second edge position distance associated with the media retraction phase from the first edge position distance associated with the media output phase to generate a differential edge position, and dividing the differential edge position by a specific divisor factor (e.g., factor 2).

[0113] The print position of one or more printable portions of the print medium 400 can then be offset using determined print position compensation. In some embodiments, print position compensation is used to initiate printing on each printable portion that has previously been sensed but was not utilized in completing a previous print job. For example, in some embodiments, when printing printable portions 410F, 410E, 410D, 410C, 410B, and 410A in subsequent print jobs, the printer device 100 can use print position compensation to initiate printing at a specific location on each printable portion. For example, the printer device 100 can fully retract the print medium 400, at least in part, based on a previously stored position of printable portion 410F (or its edge), such that printable portion 410F reaches position 404 of the print head. The printer device 100 can then begin printing data at a default print position offset by print position compensation on printable position 410F. The default print position may be offset by print position compensation to be used for at least the remaining printable positions 410E, 410D, 410C, 410B and 410A, and in other embodiments, the default print position may be used for each printable position to be printed in a particular subsequent print job.

[0114] Exemplary process using edge location distances disclosed herein

[0115] Having described exemplary systems, apparatuses, and visualizations for determining edge location distances according to this disclosure, exemplary processes using edge location distances will now be discussed. For example, exemplary processes for generating print position compensation using edge location distances, and associated additional and / or alternative operations, will be further discussed. It should be understood that each flowchart in the flowcharts depicts an exemplary computer-implemented process that can be performed by one or more of the apparatuses, systems, devices, and / or computer program products described herein, for example, using one or more of their specially configured components. The depicted boxes indicate the operation of each process. Such operations can take place in any of a variety of ways, including but not limited to the order and manner depicted and described herein. In some embodiments, one or more boxes of any process described herein occur between, before, in parallel with, or as a subprocess of another process. In addition or alternatively, any process may include some or all of the described and / or depicted operational steps, and in some embodiments, one or more optional boxes. Regarding the flowcharts shown herein, one or more boxes in the depicted boxes may be optional in some or all embodiments of this disclosure. Optional boxes are shown with dashed lines (or “dotted lines”). Similarly, it should be understood that one or more operations in each flowchart can be composable, interchangeable, and / or otherwise modified, as described herein.

[0116] Figure 6 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations for generating and / or utilizing print position compensation based at least in part on one or more determined edge location distances. Specifically, Figure 6The operation of an exemplary process 600 is illustrated. In some embodiments, the exemplary process 600 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or additionally, in some embodiments, process 600 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specially configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 600 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular label printer.

[0117] Process 600 begins at operation 602. At operation 602, printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to determine a first edge position distance between a first edge and the printhead via the sensor. The first edge position distance may be determined during a media output phase, for example, based at least in part on a determined position of the first edge tracked as the first edge moves during the media output phase. In some embodiments, the position of the first edge is determined at least in part based on one or more timestamps when the sensor detects the edge, the start and / or end of a phase, etc. In some embodiments, the position of the printhead is stored by printer device 100 and / or otherwise known to the printer device for determining the first edge position distance. As described herein, printer device 100 may utilize stored positions of one or more edges, printable positions, etc., from previous print jobs to determine the first edge position distance. Alternatively or additionally, in some embodiments, printer device 100 retrieves the first edge position distance stored during and / or after the completion of a previous print job. Figure 8 A non-limiting exemplary algorithm is described for determining the distance to a first edge position, for example, based on the position of the first edge during the media output phase.

[0118] At operation 604, printer device 100 includes means such as sensor 102, print compensation circuit 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to determine a second edge position distance between a first edge and the printhead via the sensor. The second edge position distance may be determined during the media retraction phase. For example, the first edge position distance may be determined at least in part based on a determined position of the first edge tracked as the first edge moves during the media retraction phase. It should be understood that, as described, the position of the printhead may be known to printer device 100 and / or determined via sensors of the printer device. It should be understood that in some embodiments, the media retraction phase and the media output phase described relative to operation 602 are part of different print jobs, for example, where the first edge position distance is determined for a previous print job corresponding to the media output phase and the media retraction phase begins a subsequent print job. This document is relative to... Figure 8 A non-limiting exemplary algorithm is determined for, for example, determining the distance to the location of a second edge based on the position of a first edge during a media retraction phase.

[0119] At operation 606, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to generate print position compensation at least in part based on a first edge position distance and a second edge position distance. Print position compensation represents an offset to be applied to a determined position where printing on one or more printable portions of the print medium will begin. In some embodiments, print position compensation represents a value based on the difference between the first edge position distance and the second edge position distance. In this respect, print position compensation may represent a specific offset to print position drift that occurs during the output and / or retraction of the print medium. This is relative to... Figure 7 A non-limiting exemplary algorithm is identified for generating print position compensation, for example, based at least in part on a first edge position distance and a second edge position distance.

[0120] At optional operation 608, printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to perform boundary checks at least in part based on print position compensation. In some embodiments, the boundary check embodies one or more algorithms that compare print position compensation with an acceptable maximum threshold. In this regard, printer device 100 may initiate a boundary check by comparing print position compensation with a maximum permissible compensation. If printer device 100 determines that print position compensation exceeds the maximum permissible compensation, printer device 100 may adjust print position compensation to equal the maximum permissible compensation. Alternatively or in addition, in some embodiments, printer device 100 compares print position compensation with a range of permissible compensation values ​​to determine whether print position compensation falls within that range. If print position compensation does not fall within that range, print position compensation may be adjusted to the closer of the maximum and / or minimum compensation within that range, rejected and retried, or used to generate an error for the operator of printer device 100.

[0121] In some other embodiments, printer device 100 determines whether a new print position, adjusted at least in part based on print position compensation, is above a minimum threshold range from one or more edges of the printable portion of the print media. Alternatively or in addition, in some embodiments, a boundary check determines whether a new print position, adjusted based on print position compensation for print position drift, falls within an acceptable threshold range of the compensation. In some contexts where printer device 100 determines that the boundary check is not met, printer device 100 restarts the print job and / or instructs one or more actions to be performed to reduce print position drift (e.g., notification to replace the print media with a new print media roll, change the print job, etc.).

[0122] At optional operation 610, printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to initiate a printing operation at least partially based on print position compensation. In some embodiments, printer device 100 initiates a printing operation at least partially based on print position compensation such that data is started at a specific position offset from a default or other print position, at least partially based on print position compensation. For example, print position compensation may indicate the number of dots before or after a default print position (default dotted line) where printing will begin. In this respect, printer device 100 may initiate printing onto any number of printable portions of the print media at least partially based on print position compensation to print data at a specific position that takes into account the drift of the print position. In some embodiments, printer device 100 utilizes at least print position compensation to adjust the print position for printing on each printable position that has passed all or part of the printable position of the printer device 100's sensor before the start of the media retraction phase.

[0123] Figure 7 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations for generating print position compensation based at least in part on print position compensation and a divisor factor. Specifically, Figure 7 Operation of an exemplary process 700 is depicted. In some embodiments, process 700 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 700 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specially configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 700 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0124] Process 700 begins at operation 702. In some embodiments, process 700 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 700 begins after the execution of operation 604 as depicted and described relative to process 600. In this respect, some or all of process 700 may replace or supplement one or more blocks depicted and / or described relative to any other process described herein, such as operation 606 as depicted and described relative to process 600. Upon completion of process 700, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 700, the flow may return to one or more operations of another process, such as returning to operation 608 as depicted and described relative to process 600. It should be understood that in some embodiments, process 700 embodies a subprocess of one or more other processes (such as process 600).

[0125] At operation 702, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to generate a differential edge position distance. In some embodiments, the differential edge position distance represents the difference between a first edge position distance determined during a first media movement phase (e.g., a media output phase) and a second edge position distance determined during a second media movement phase (e.g., a media retraction phase). For example, in some embodiments, the differential edge position distance is generated by subtracting the second edge position distance from the first edge position distance. In this respect, the differential edge position distance represents the difference between distances determined based on the position of a particular edge during each of the media output and media retraction phases.

[0126] At operation 704, the printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to generate print position compensation by dividing the differential edge position distance by a divisor factor. In some embodiments, the divisor factor is predetermined. For example, in one exemplary embodiment, the printer device 100 is configured to divide the differential edge position distance using a divisor factor 2. The divisor factor 2 can be used to determine compensation between the positions of edges affected by print position drift in each of the media output phase and the media retraction phase. Alternatively or in addition, in some embodiments, the divisor factor is determined at least in part based on a first edge position distance, a second edge position distance, and / or other data values ​​determined by the operation of the printer device 100.

[0127] Figure 8A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations of an exemplary process for determining an edge location distance based on the tracking distance traveled during a medium movement phase. Specifically, Figure 8 Operation of an exemplary process 800 is depicted. In some embodiments, process 800 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 800 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specially configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 800 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0128] Process 800 begins at operation 802. In some embodiments, process 800 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 800 begins after the execution of operation 602 as depicted and described relative to process 600. In this respect, some or all of process 800 may replace or supplement one or more blocks depicted and / or described relative to any other process described herein, such as operations 602 and / or 604 as depicted and described relative to process 600. Upon completion of process 800, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 800, the flow may return to one or more operations of another process, such as returning to operations 604 and / or 606 as depicted and described relative to process 600. It should be understood that in some embodiments, process 800 embodies a subprocess of one or more other processes (such as process 600).

[0129] At operation 802, the printer apparatus 100 includes means such as a sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, or combinations thereof, to detect a first edge associated with a first edge type of at least a printable portion of the printable medium via the sensor. For example, sensor output may be processed to detect an edge detection event indicating the presence of a specific edge and / or a specific edge type. For example, sensor data at a specific timestamp and / or previous sensor data output by the sensor may be processed to detect a specific edge and / or determine whether the specific edge is a specific edge type (e.g., leading edge or trailing edge). In this regard, a leading edge may be indicated by varying sensor data followed by a timestamp or timetamp range corresponding to a specific baseline value, and / or a trailing edge may be indicated by a specific baseline value followed by varying sensor data. In some embodiments, the printer apparatus 100 detects a specific first edge, such as a first edge associated with the position closest to the sensor during the media output phase. Alternatively or otherwise, in some embodiments, the printer apparatus 100 repeats operations on a specific first edge associated with each of a plurality of printable portions of the printing medium, for example, to determine a print position compensation associated with each of the plurality of printable portions.

[0130] At operation 804, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, or combinations thereof, to track the distance traveled by the first edge when a predetermined force is applied to the print media during a media movement phase. In some embodiments, a predetermined force is applied to move the print media in a specific direction based on the media movement phase. For example, in some embodiments, such as during a media movement phase embodying a media output phase, a predetermined force propels the print media for output, printing, and / or delivery. In some embodiments, such as during a media movement phase embodying a media retraction phase, a predetermined force propels the print media for retraction. As described herein, the predetermined force can cause the print media to move at different rates based on the slippage of the print media, resulting in print position drift. In some embodiments, the printer apparatus 100 tracks the distance traveled by the first edge based on movement detected based on sensor data from the sensor.

[0131] At operation 806, the printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, and combinations thereof, to determine a first edge position distance based at least in part on the tracking distance traveled by the first edge during the media movement phase. In some embodiments, for example, the printer device 100 determines a first edge position distance corresponding to the tracking distance traveled by the first edge until a specific target position is reached. In an exemplary context, the printer device 100 determines the first edge position distance based on the tracking movement of the first edge toward a position associated with the printhead of the printer device 100.

[0132] Figure 9 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations of an exemplary process for resetting print position compensation. Specifically, Figure 9 Operation of an exemplary process 900 is depicted. In some embodiments, process 900 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 900 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specially configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 900 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0133] Process 900 begins at operation 902. In some embodiments, process 900 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 900 begins after the execution of operation 606 as depicted and described relative to process 600. In this respect, some or all of process 900 may replace or supplement one or more boxes depicted and / or described relative to any other process described herein, such as operation 904 as depicted and described relative to process 600. Upon completion of process 900, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 900, the flow may return to one or more operations of another process, such as returning to operation 608 as depicted and described relative to process 600. It should be understood that in some embodiments, process 900 embodies a subprocess of one or more other processes (such as process 600).

[0134] At operation 902, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to detect the occurrence of an idle state. In some embodiments, the printer apparatus 100 maintains a timestamp associated with each previously initiated and / or completed print job. Before initiating an idle state, the printer apparatus 100 may further maintain or otherwise associate with a specific maximum timestamp threshold. In this regard, the printer apparatus 100 may determine data representing the time since the stored timestamp when the previous print job was completed. Additionally, the printer apparatus 100 may compare the data representing the time since the stored timestamp with the maximum timestamp threshold to detect the occurrence of an idle state if no new print job has been initiated within the time represented by the maximum timestamp threshold.

[0135] At operation 904, the printer device 100 includes means such as sensor 102, print compensation circuit 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to reset print position compensation in response to detecting the occurrence of an idle state. In this respect, print position compensation can be regenerated upon the next activation of the printer device 100 and / or the initiation of a new print job. Alternatively, in some embodiments where an idle state is initiated upon completion of each print job, print position compensation is regenerated for each print job to maximize the likelihood that the print position compensation will remain correct in subsequent prints.

[0136] Exemplary visualization for determining stage timestamp differences

[0137] Exemplary systems, apparatuses, and visualizations for edge location distance determination according to this disclosure, as well as flowcharts for printer position compensation based at least in part on edge distance determination, have already been described. Now, exemplary visualizations for stage timestamp differential determination according to this disclosure will be discussed. The stage timestamp differential determination process can be used for any of many purposes, such as for generating print position compensation. In some embodiments, the stage timestamp differential determination is performed by a specially configured printer (e.g., printer apparatus 100). It should be understood that the distances depicted are for illustrative purposes and are not intended to limit the scope and substance of this disclosure.

[0138] Figure 10 An exemplary visualization is shown illustrating the determination of stage timestamp differences during a media output stage according to at least some exemplary embodiments of the present disclosure. Specifically, the exemplary visualization depicts a printable medium 400 comprising a plurality of printable portions 410A-410G, each printable portion being separated by a plurality of gaps 408. The visualization also includes the location 1006 of a sensor (such as a label stop sensor), the location 404 of the print head, and the location 406 of the tear-off lever. The printable medium 400 may be held within a printer (e.g., embodied by a printer device 100) which includes printing mechanisms at locations defined by positions 1006, 404, and 406 to facilitate printing on the printable medium 400. It should be understood that, in this respect, relative to Figure 11 The components depicted and described are relative to Figure 4 The function is executed in a similar manner.

[0139] Figure 10 The location of each of the plurality of printable portions 410A-410G at the end of a previous print job (e.g., calibration print or another previous print job) is depicted. As shown, printable portion 410G may be the last printable portion printed during the previous print job. In this respect, printable portion 410G extends past position 406 of the tear-off lever and may be torn off and / or otherwise removed from the print medium 400 upon completion of the previous print job. The remaining plurality of printable portions 110A-110F may be used to perform subsequent print jobs involving one or more printable portions, such as as relative to... Figure 10 and Figure 11 As described. In this respect, the printer device 100 may utilize print position compensation for at least the purpose of printing on each printable portion 410A-410F during subsequent print jobs. In some such embodiments, subsequent print jobs are performed from, as relative to, the printable portion 410A-410F. Figure 11 The medium retraction phase begins as described and depicted.

[0140] In some embodiments, the sensor located at position 1006 embodies a label stop sensor. The label stop sensor can be configured to detect specific events (e.g., the presence of an edge, the start and end of a printable portion such as a label, etc.) and / or timestamps associated with such detection. In this regard, the timestamps can be used alone or in combination with one or more other portions of data (e.g., a known or determined speed at which the print medium is output via printer device 100) to determine the distance traveled by the print medium. For example, the label stop sensor at position 1006 can be used to detect each or at least one edge of printable portions 410A-410G. In some embodiments, the label stop sensor at position 1006 is used to detect each edge or each edge of a specific edge type (e.g., leading edge or trailing edge) passing through the label stop sensor at position 1006. For any of the printable portions 410A-410G, the label stop sensor at position 1006 can be used to detect the leading edge of the printable portion and can track the position of that leading edge as output continues. It should be understood that the printer device 100 can simultaneously track any number of printable portions of the printing medium 400 and / or its specific edges.

[0141] As shown, a label stop sensor located at position 1006 determines a timestamp associated with a specific defined distance (e.g., a printable portion and a gap). In some embodiments, the label stop sensor detects a first edge associated with a first printable portion of the printable medium 400 (such as printable portion 410B as shown). The first edge may represent a leading edge associated with printable portion 410B and may be detected first based on the direction of movement of the printable medium 400 during a particular medium movement phase (such as in the output direction 416). Additionally, the label stop sensor detects a second edge associated with a second printable portion of the printable medium 400. The second edge may represent a leading edge associated with the next subsequent printable portion on the printable medium 400 (e.g., printable portion 410A as shown). The label stop sensor may detect the second edge after the first edge has been detected.

[0142] In some implementations, the label stop sensor at position 1006 is used to track each printable portion 410A-410G and / or its edges. For example, the distance the edge travels from the label stop sensor at position 1006 in the output direction 416 can be determined at least in part based on a timestamp when the edge is detected and a known or otherwise determineable printing speed associated with the printer device 100. In this regard, the label stop sensor at position 1016 can be used to detect edges defining the boundaries of each printable portion 410A-410G, and / or to track such edges as they move in the output direction 416. It should be understood that, relative to... Figure 4 and Figure 5 Similarly described, printer device 100 may store the position of each detected edge (or at least a specific type of edge) or at least equivalent data that can be used to regenerate that position in a memory, storage device, etc., for subsequent print jobs and / or media movement stages (e.g., relative to...). Figure 11 The retrieval of such locations during the period described.

[0143] The label stop sensor can store a timestamp associated with the detection of each relevant edge. For example, in some embodiments, the label stop sensor at location 1006 detects the leading edge of printable portion 410B starting at 1002B and stores a timestamp indicating the time when the leading edge of printable portion 410B starting at 1002B was detected. Additionally, in some embodiments, the label stop sensor at location 1006 detects the leading edge of printable portion 410A starting at 1002A and stores a timestamp indicating the time when the leading edge of printable portion 410A starting at 1002A was detected. It should be understood that, as described herein, a second edge (e.g., the leading edge of printable portion 410A starting at 1002A) can be detected based on first detecting a gap between printable portions (e.g., one of the plurality of gaps 408) after detecting the leading edge of printable portion 410B starting at 1002B and / or the trailing edge of that printable portion.

[0144] It should be understood that in other embodiments, another edge type may be detected and used. For example, in some embodiments, a label stop sensor is used to detect the trailing edge of the printable portion of the printing medium 400 and the trailing edge of subsequent printable portions of the printing medium 400. In this respect, Figure 10 The specific edges depicted in the disclosure shall not limit the scope and / or substance of this disclosure.

[0145] The timestamps associated with the detection of the first leading edge starting at 1002B and the second leading edge starting at 1002A can be used to determine the output stage timestamp difference 1004. The output stage timestamp difference 1004 can represent the time difference between the detection of the first leading edge starting at 1002B and the second leading edge starting at 1002A during the media output stage. In this regard, the printer device 100 can detect and store the output stage timestamp difference 1004 for further processing, such as for determining timestamp-based distance values ​​and / or associated print position compensation as described herein.

[0146] Figure 11 An exemplary visualization of the determination of stage timestamp differences during a media retraction phase according to at least some exemplary embodiments of the present disclosure is shown. It should be understood that this can be achieved, as relative to... Figure 10The media retraction phase occurs after and / or before the described media output phase. For example, in some embodiments, the media retraction phase begins when a new print job is initiated after a previous print job has been completed, such as from relative to... Figure 10 The described operation begins upon completion. The previous print job can be a calibration print job or an actual print job with data entered by the user. As described herein, the depicted and described printable portion 410G can be printed during the previous print job for removal from the print medium 400. Therefore, a depiction of the removed printable portion 410G is provided. Figure 11 .

[0147] In some embodiments, the printer device 100 maintains the position of each remaining (e.g., not printed during a previous print job) printable portion. For example, in some embodiments, the printer device 100 continues to track the position of each remaining printable portion relative to the previous print job. Figure 10 The position of each printable portion 410A-410F printed during the described print job. In some such embodiments, the printer device 100 tracks each of the leading and / or trailing edges of each printable portion 410A-410F and maintains such positions in a permanent or temporary storage device for retrieval and use during subsequent print jobs. It should be understood that the printer device 100 may maintain the positions of the printable portions 410A-410F (and / or their edges) (e.g., in memory 112) throughout the entire idle period when the printer device 100 is in an idle state. Therefore, the printer device 100 may retrieve such positions during a subsequent retraction phase and utilize these positions to perform one or more determinations, such as relative to... Figure 10 As depicted and described. For example, in some embodiments, the device 100 uses such stored data indicating a stored location to retract such that the printable portion 410F is at or approximately at a specific print position corresponding to the position of the print head 404 used for printing. In addition or alternatively, the printer device 100 may use such stored data indicating a stored location to determine positions 1002B and / or 1002A for generating print position compensation.

[0148] During the media retraction phase, the printer device 100 manipulates the print media 400 to move the print media 400 in the retraction direction 506. When the printer device 100 operates in the media retraction phase, the print media 400 can be moved in the retraction direction 506. For example, the printer device 100 may remain in the media retraction phase to retract the print media 400, thereby preparing for a subsequent print job to begin from a first printable portion of the print media 400 (such as the printable portion 410F of the print media 400). It should be understood that the retraction direction 506 can be relative to... Figure 10 The output directions depicted and described are opposite to 416.

[0149] A label stop sensor at position 1016 can be used to determine a timestamp associated with another specific reference distance (e.g., a printable portion and a gap) as the print medium 400 moves in the retraction direction 506 during the media retraction phase. In some embodiments, the label stop sensor at position 1006 detects a first edge associated with the first printable portion based on the retraction direction 506. For example, the label stop sensor at position 1016 can detect a first edge associated with a first printable portion of the print medium 400 (such as printable portion 410A as shown). The first edge starting at position 1102A can represent the trailing edge associated with printable portion 410A and can be detected first based on the direction of movement of the print medium 400 during a specific media movement phase (such as the retraction direction 506). Additionally, the label stop sensor detects a second edge associated with a second printable portion of the print medium 400. The second edge can similarly represent the trailing edge starting at position 1102B associated with the next subsequent printable portion on the print medium 400 (e.g., printable portion 410B as shown). The tag stop sensor can detect a second edge after the first edge has been detected.

[0150] The label stop sensor can store a timestamp associated with the detection of each relevant edge. For example, in some embodiments, the label stop sensor at position 1006 detects the trailing edge of printable portion 410A starting at position 1102A and stores a timestamp indicating the time at which the trailing edge starting at position 1102A was detected. Additionally, in some embodiments, the label stop sensor at position 1006 detects the trailing edge of printable portion 410B starting at position 1102B and stores a timestamp indicating the time at which the trailing edge of printable portion 410B starting at position 1102B was detected. It should be understood that, as described herein, a second edge (e.g., the trailing edge of printable portion 410B) can be detected based on first detecting a gap between printable portions (e.g., one of the plurality of gaps 408) after detecting the trailing edge of printable portion 410A starting at position 1102A and / or the leading edge of that printable portion.

[0151] In addition, or alternatively, in some embodiments, the printer device 100 determines positions 1102A and / or 1102B based at least in part on the timestamp at the start of retraction, the timestamp at the detection of a first edge of a specific edge type (e.g., corresponding to position 1102A), and the timestamp at the detection of a second edge of a specific edge type (e.g., corresponding to position 1102B). The printer device 100 may compare such timestamps with those from previous print jobs (e.g., relative to...). Figure 10The location and / or distance of the stored information (as described) are used together. For example, in some embodiments, the label stop sensor at location 1016 detects a timestamp when the nearest leading edge (e.g., the leading edge of printable portion 410A) is detected. The printer device 100 can determine the difference between the timestamp when retraction begins and the timestamp when the leading edge associated with printable portion 410A is detected, thereby indicating how long the edge travels to reach the label stop sensor at location 1016. The printer device 100 can then determine location 1102A by multiplying the difference between these two timestamps by a printing speed known to the printer device 100 (e.g., stored in memory 112) or otherwise determined by the printer device. Similarly, the printer device 100 can detect a timestamp when the leading edge of printable portion 410B is detected, determine the difference between that timestamp and the timestamp when retraction begins, and multiply by the speed to determine location 1102B where the leading edge of printable portion 410B begins. It should be understood that due to slippage, locations 1102A and / or 1102B may represent relative to... Figure 10 The distances described and depicted are different from the position 1016 of the tag stop sensor.

[0152] It should be understood that in other embodiments, another edge type may be detected and used. For example, in some embodiments, a label stop sensor is used to detect the leading edge of each printable portion of the printing medium 400 based on a specific direction of movement and / or the corresponding stage of media movement. In this regard, Figure 11 The specific edges depicted in the disclosure shall not limit the scope and / or substance of this disclosure.

[0153] The timestamps associated with the detection of the first trailing edge starting at position 1102A and the second trailing edge starting at position 1102B can be used to determine a second media movement phase timestamp difference, such as a retraction phase timestamp difference 1104. The retraction phase timestamp difference 1104 can represent the time difference between the detection of the first trailing edge starting at position 1102A and the second trailing edge starting at position 1102B during the media retraction phase. In this regard, the printer device 100 can detect and store the retraction phase timestamp difference 1104 for further processing, such as for determining timestamp-based distance values ​​and / or associated print position compensation as described herein.

[0154] In some embodiments, the printer apparatus 100 utilizes media movement phase timestamp differences to generate print position compensation. In some embodiments, for example, a determined algorithm for generating print position compensation is used to process output phase timestamp differences associated with a media output phase and retraction phase timestamp differences associated with a media retraction phase. One non-limiting exemplary algorithm includes subtracting the retraction phase timestamp differences associated with the media retraction phase from the output phase timestamp differences associated with the media output phase to generate a timestamp-based distance value, and multiplying the timestamp-based distance value by a printing speed (e.g., a known or determined speed at which the print media 400 moves). The determined print position compensation can then be used to offset the print position of one or more printable portions of the print media 400.

[0155] In some implementations, the printer device 100 performs relative to one or more media movement phases. Figure 10 and / or Figure 11 The described operations are repeated multiple times. For example, in some embodiments, printer device 100 uses a first reference printing medium to calibrate a reference media movement stage timestamp difference for a specific media movement stage. In some non-limiting exemplary contexts, printer device 100 generates a media movement stage timestamp difference by performing operations using a free-dangling medium. The reference media movement stage timestamp difference can be stored as a calibration reference associated with the corresponding media movement stage. Printer device 100 can subsequently store some or all of the media movement stage timestamp differences during operations for a specific media movement stage (e.g., moving a printable portion of the printing medium (such as a label) and each duration of a gap). It should be understood that other reference distances can be used in other embodiments.

[0156] In some implementations, a print position compensation can then be generated using the stored media movement phase timestamp difference and the reference media movement phase timestamp difference. The print position compensation can represent the time difference used to offset the start of printing during a print job. In this respect, a print position compensation that defines a time offset can be used as an alternative to a distance offset that takes into account the slippage of the print media to be printed.

[0157] For example, in some implementations, printer device 100 compares a reference media movement stage timestamp difference corresponding to a specific media movement stage of operation with a media movement stage timestamp difference associated with operation in the case where no identical print media is freely suspended during the same media movement stage. In an exemplary context, printer device 100 calibrates a reference movement timing during a media output stage using freely suspended media, which reflects the output stage timestamp difference representing the movement of a specific reference distance (e.g., representing one label and one gap of the printable portion of the print media). Printer device 100 then stores all durations during which the same media is moved during printing. If the media movement stage timestamp difference during operation in a specific media movement stage exceeds the reference media movement stage timestamp difference corresponding to the same media movement stage, printer device 100 may generate print position compensation to compensate for the slippage caused by the time difference. Print position compensation may be reflected in the forward movement (e.g., depending on the output media stage) time difference to be applied when determining when to start printing during print media movement. For example, in an exemplary context where “X” is defined as the timestamp difference of a specific media movement phase corresponding to the operation of printer device 100 in a specific media movement phase and “Y” is defined as the reference media movement timestamp difference corresponding to a specific media movement phase, printer device 100 can determine whether X>Y. In the case of X>Y, printer device 100 can generate print position compensation as described herein, for example, based on the time percentage algorithm print position compensation = (XY) / Y*100%. It should be understood that other algorithms, such as those described herein, can be used similarly. In some such embodiments, print position compensation embodies a forward movement time difference to be applied only during the media output phase embodying the print operation.

[0158] An exemplary process of moving using a medium

[0159] This disclosure of phase timestamp differences

[0160] Having described exemplary systems, apparatuses, visualizations for edge location distance determination, processes for printer position compensation based at least in part on edge distance determination, and visualizations for stage timestamp differential determination according to this disclosure, exemplary processes using stage timestamp differential determination will now be discussed. For example, exemplary processes for generating print position compensation using media movement stage timestamp differentials, and associated additional and / or alternative operations, will be further discussed. It should be understood that each flowchart in the flowcharts depicts an exemplary computer-implemented process that can be performed by one or more of the apparatuses, systems, devices, and / or computer program products described herein, for example, using one or more of their specially configured components. The depicted boxes indicate the operation of each process. Such operations can take place in any of a variety of ways, including but not limited to the order and manner depicted and described herein. In some embodiments, one or more boxes of any process described herein occur between one or more boxes of another process, before one or more boxes of another process, in parallel with one or more boxes of another process, and / or as a subprocess of a second process. In addition to or alternatively, any process in the procedure may include some or all of the described and / or depicted operational steps, including one or more optional boxes in some embodiments. Regarding the flowcharts shown herein, one or more boxes depicted in some or all embodiments of this disclosure may be optional. Optional boxes are shown with dashed lines (or “dotted lines”). Similarly, it should be understood that one or more operations in the operation of each flowchart may be composable, alternative, and / or otherwise modified as described herein.

[0161] Figure 12 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations for generating and / or utilizing print position compensation, at least in part, based on one or more determined stage timestamp differences. Specifically, Figure 12The operation of an exemplary process 1200 is illustrated. In some embodiments, the exemplary process 1200 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, the process 1200 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, the printer device 100 is specially configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to the printer device 100. In some embodiments, the printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, the process 1200 is described as being performed by and described from the perspective of a printer device 100, for example, embodying a particular label printer.

[0162] Process 1200 begins at operation 1202. At operation 1202, printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to detect an output stage timestamp difference via the sensor during the media output stage. The output stage timestamp difference is based at least in part on a first edge associated with a first printable portion of the print media. The output stage timestamp difference is further based at least in part on a second edge associated with a second printable portion of the print media. In some embodiments, the first edge and the second edge are of the same edge type. In addition, or alternatively, in some embodiments, the second printable portion of the print media follows the first printable portion of the print media, at least in part, based on the output direction corresponding to the media output stage. In some embodiments, the output stage timestamp difference is determined based on the difference between a timestamp associated with the detection of the first edge and a second timestamp associated with the detection of the second edge. This document is relative to... Figure 13 and Figure 14 A non-limiting exemplary process for determining the output stage timestamp difference is described.

[0163] At operation 1204, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to detect a retraction phase timestamp difference via the sensor during the media retraction phase. The retraction phase timestamp difference is based at least in part on a third edge associated with a third printable portion of the print media. The retraction phase timestamp difference is further based at least in part on a fourth edge associated with a fourth printable portion of the print media. In some embodiments, the first and second printable portions, as described with respect to operation 1202, correspond to the third and fourth printable portions, such that edges of the same printable portions are used to determine the output phase timestamp difference and the retraction phase timestamp difference. In addition or alternatively, in some embodiments, the same edges of the same printable portions are processed for each media movement phase. In still other embodiments, relative edges of the same printable portions of the print media are processed, such that the same type of edges are processed taking into account changes in the direction of movement. Figure 13 and Figure 14 A non-limiting exemplary process for determining the timestamp difference of the retraction phase is described.

[0164] At operation 1206, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to generate print position compensation. In some embodiments, the printer apparatus 100 generates print position compensation at least in part based on output stage timestamp differences and retraction stage timestamp differences. In some embodiments, print position compensation is at least in part based on the difference between the output stage timestamp differences and the retraction stage timestamp differences to represent the offset at which printing should begin. In this respect, print position compensation can be generated at least in part based on the output stage timestamp differences and the retraction stage timestamp differences to account for the drift in print position indicated by such media movement stage timestamp differences. This document is relative to... Figure 15 A non-limiting exemplary process is described for generating print position compensation based at least in part on output stage timestamp differences and retraction stage timestamp differences.

[0165] Optionally, in some embodiments, the printer apparatus 100 performs one or more operations based at least in part on print position compensation. For example, in some embodiments, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to perform boundary checks at least in part on print position compensation, as described herein with respect to operation 608. Alternatively or additionally, in some embodiments, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to initiate a printing operation at least in part on the print position compensation determined at operation 1206. In some embodiments, print position compensation is used to compensate for forward movement by changing the timing in which the print head is activated to print on a specific printable portion of the printing medium. It should be understood that these optional operations may otherwise behave similarly to the operations described with respect to operations 608 and 610, respectively. Therefore, for the sake of brevity and clarity in this specification, repeated disclosures of such functions have been omitted.

[0166] Figure 13 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations of an exemplary process for determining a media movement stage timestamp difference associated with a particular media movement stage. Specifically, Figure 13 Operation of an exemplary process 1300 is depicted. In some embodiments, process 1300 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 1300 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specially configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 1300 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0167] Process 1300 begins at operation 1302. In some embodiments, process 1300 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 1300 begins after the execution of operations 1202 and / or 1204 as depicted and described relative to process 1200. In this respect, some or all of process 1300 may replace or supplement one or more blocks depicted and / or described relative to any other process described herein, such as operations 1204 and / or 1206 as depicted and described relative to process 1200. Upon completion of process 1300, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 1300, the flow may return to one or more operations of another process, such as returning to operations 1204 and / or 1206 as depicted and described relative to process 1200. It should be understood that in some embodiments, process 1300 embodies a subprocess of one or more other processes (such as process 600).

[0168] At operation 1302, the printer apparatus 100 includes means such as sensor 102, print compensation circuit 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to identify a first event timestamp associated with a first edge detection event and associated with the first edge during the media movement phase. In some embodiments, the sensor detects the first edge detection event and identifies a first event timestamp representing the current time at which the first edge detection event was detected. Alternatively or in addition, in some embodiments, one or more other components of the printer apparatus 100 receive data from the sensor indicating the detection of the first edge detection event and identify a first event timestamp representing the current time. In, for example, some embodiments, sensor 102, print compensation circuit 114, and / or processor 108 maintain access to the current timestamp such that the current timestamp can be retrieved and stored as the first event timestamp upon detection of a first edge detection event associated with the first edge.

[0169] At operation 1304, the printer apparatus 100 includes means such as a sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, or combinations thereof, to identify a second event timestamp associated with a second edge detection event and the second edge during the media movement phase. In this respect, the second event timestamp may represent the timestamp at which a subsequent edge of a particular edge type is detected for a subsequent printable portion on the print media. In some embodiments, the sensor similarly detects the second edge detection event and identifies a second event timestamp representing the current time at which the second edge detection event was detected. Alternatively or additionally, in some embodiments, the one or more other components of the printer apparatus 100 receive data from the sensor indicating the detection of the second edge detection event and identify a second event timestamp representing the current time.

[0170] At operation 1306, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to determine media movement phase timestamp differences. The media movement phase timestamp differences are determined at least in part based on a first event timestamp and a second event timestamp. In some embodiments, for example, the media movement phase timestamp difference for a particular media movement phase is determined based on the difference between the first event timestamp and the second event timestamp. In this respect, the media movement phase timestamp difference may indicate the time difference between a first edge crossing the sensor and / or otherwise being detected by the sensor and a second edge crossing the sensor and / or otherwise being detected by the sensor. It should be understood that the determined media movement phase timestamp difference may specifically correspond to the current media movement phase (e.g., media output phase or media retraction phase) to which the printer apparatus 100 is set during the identification of the first event timestamp and the second event timestamp.

[0171] Figure 14 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations of an exemplary process for generating a media movement stage timestamp difference associated with a media movement stage. Specifically, Figure 14Operation of an exemplary process 1400 is depicted. In some embodiments, process 1400 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 1400 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specifically configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 1400 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0172] Process 1400 begins at operation 1402. In some embodiments, process 1400 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 1400 begins after the execution of operations 1202 and / or 1204 as depicted and described relative to process 1200. In this respect, some or all of process 1400 may replace or supplement one or more blocks depicted and / or described relative to any other process described herein, such as operations 1204 and / or 1206 as depicted and described relative to process 1200. Upon completion of process 1400, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 1400, the flow may return to one or more operations of another process, such as returning to operations 1204 and / or 1206 as depicted and described relative to process 1200. It should be understood that in some embodiments, process 1400 embodies a subprocess of one or more other processes (such as process 600).

[0173] At operation 1402, the printer apparatus 100 includes means such as a sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, or combinations thereof, to detect a first edge detection event via the sensor during a media movement phase. In some embodiments, the printer apparatus 100 detects the edge detection event at least in part based on changes in values ​​represented in the sensor output toward and / or from a baseline value (e.g., indicating leading and / or trailing edges, respectively, depending on a particular direction of movement). In this regard, the sensor and / or another component of the printer apparatus 100 may monitor and / or otherwise process the sensor output to detect a specific edge detection event at least in part based on such changes in the sensor output. Additionally, in some embodiments, the printer apparatus 100 determines, for example, the edge type associated with the edge detected via the first edge detection event based on changes in the sensor output corresponding to the first edge detection event.

[0174] At operation 1404, the printer apparatus 100 includes means such as a sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, or combinations thereof, to determine a first event timestamp associated with a first edge detection event via the sensor. In some embodiments, the sensor output represents the first event timestamp indicating the time when the first edge detection event was detected. Alternatively or in addition, in some embodiments, upon detecting the first edge detection event, the printer apparatus 100 determines a first event timestamp associated with the first edge detection event, which reflects the time when a change in sensor data occurred and / or the sensor captured the change in sensor data. In some embodiments, for example, the printer apparatus 100 maintains a sensor output associated with a timestamp when the sensor output was captured by the sensor and / or received by other components of the printer apparatus 100 for processing.

[0175] At operation 1406, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to detect a second edge detection event via the sensor during the media movement phase. The second edge detection event may correspond to the detection of a second edge of the same edge type as and relative to the first edge detected by the first edge detection event. For example, the second edge detection event may represent the detection of the same edge type of a second printable portion of a particular printable medium (such as a subsequent printable portion of the printable medium following the first printable portion associated with the first edge). It should be understood that the second edge detection event may similarly be detected at least in part based on changes in the value represented in the sensor output toward and / or from a baseline value, as described with respect to operation 1402.

[0176] At operation 1408, the printer apparatus 100 includes means such as a sensor 102, a print compensation circuit 114, a motor 110, a light source 106, a printing mechanism 116, a processor 108, or combinations thereof, to determine a second event timestamp associated with the second edge detection event via the sensor. The second event timestamp can similarly represent the time at which the second edge detection event was detected. It should be understood that the second event timestamp associated with the second edge detection event can be determined in a manner similar to that described herein with respect to operation 1404.

[0177] At operation 1410, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to generate a media movement stage timestamp difference associated with a media movement stage. In some embodiments, the media movement stage timestamp difference associated with a media movement stage is generated by subtracting a second event timestamp associated with a media movement stage from a first timestamp associated with the media movement stage. In this regard, it should be understood that the media movement stage timestamp difference represents the difference between the timestamps when a first edge detection event and a second edge detection event are detected in a particular media movement stage. Such operations can be repeated for any number of media movement stages (e.g., both and / or either a media output stage and a media retraction stage).

[0178] Figure 15 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operations for generating print position compensation based at least in part on timestamp-based distance values. Specifically, Figure 15Operation of an exemplary process 1500 is depicted. In some embodiments, process 1500 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 1500 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specifically configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 1500 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0179] Process 1500 begins at operation 1502. In some embodiments, process 1500 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 1500 begins after the execution of operation 1204 as depicted and described relative to process 1200. In this respect, some or all of process 1500 may replace or supplement one or more blocks depicted and / or described relative to any other process described herein, such as operation 1206 as depicted and described relative to process 1200. Upon completion of process 1500, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 1500, the flow may return to one or more operations of another process, such as returning to operations 1204 and / or 1206 as depicted and described relative to process 1500. It should be understood that in some embodiments, process 1400 embodies a subprocess of one or more other processes (such as process 600).

[0180] At operation 1502, the printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, and combinations thereof, to generate a timestamp-based distance value. In some embodiments, the timestamp-based distance value is generated by subtracting the retraction stage timestamp difference from the output stage timestamp difference. The timestamp-based distance value represents the time difference taken for a particular edge to travel a specific distance between the media output stage and the media retraction stage. It should be understood that in other embodiments, the timestamp-based distance value is generated by subtracting the output stage timestamp difference from the retraction stage timestamp difference.

[0181] At operation 1504, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to generate print position compensation by multiplying a timestamp-based distance value by the print speed. The print speed can represent the speed at which the print medium typically moves within the printer apparatus 100 during printing and / or output. In some embodiments, the printer apparatus 100 maintains and / or otherwise stores known print speeds and retrieves known print speeds for processing. Alternatively or additionally, in some embodiments, the printer apparatus 100 determines the print speed by processing data output from the sensor (e.g., the number of dots within a specific change in timestamps). In some embodiments, the print speed is at least partially based on a determinable step size (e.g., one dot) measured by the sensor within a specific timestamp interval.

[0182] Figure 16 A flowchart illustrating at least some exemplary embodiments according to this disclosure is shown, depicting exemplary operation of an exemplary process for determining timestamp differences of a medium movement phase based on edge and timestamp detection and storage via sensors. Specifically, Figure 16Operation of an exemplary process 1600 is depicted. In some embodiments, process 1600 is embodied by computer program code stored on a non-transitory computer-readable storage medium of a computer program product, the computer program code being configured to execute to perform the depicted and described process. Alternatively or in addition, in some embodiments, process 1600 is executed by one or more specially configured computing devices, such as a printer device 100, either alone or in communication with one or more other components, devices, systems, etc. In this regard, in some such embodiments, printer device 100 is specifically configured to perform the depicted and described operations by computer-coded instructions (e.g., computer program instructions) stored thereon, for example, in memory 112 and / or in another component depicted and / or described herein and / or otherwise accessible to printer device 100. In some embodiments, printer device 100 communicates with one or more external devices, systems, devices, etc., to perform one or more of the depicted and described operations. For the purpose of simplicity, process 1600 is described as being performed by and described from the perspective of printer device 100, for example, embodying a particular printer.

[0183] Process 1600 begins at operation 1602. In some embodiments, process 1600 begins after one or more operations depicted and / or described relative to any other process described herein. For example, in some depicted embodiments, process 1600 begins after the execution of operations 1202 and / or 1204 as depicted and described relative to process 1200. In this respect, some or all of process 1600 may replace or supplement one or more blocks depicted and / or described relative to any other process described herein, such as operations 1204 and / or 1206 as depicted and described relative to process 1200. Upon completion of process 1600, the flow of operations may terminate. Alternatively or otherwise, as depicted, upon completion of process 1600, the flow may return to one or more operations of another process, such as returning to operations 1204 and / or 1206 as depicted and described relative to process 1600. It should be understood that in some embodiments, process 1600 embodies a subprocess of one or more other processes (such as process 1200).

[0184] At operation 1602, the printer device 100 includes means such as sensor 102, print compensation circuit 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to advance the print media by a dotted line. The printer device 100 can advance the print media by a dotted line in a specific direction consistent with the current phase of media movement. For example, the printer device 100 can advance the print media in a first direction (e.g., toward the output of the print media) during the media output phase and in a second direction (e.g., toward the retraction of the print media) during the media retraction phase. In some embodiments, to advance the print media, the printer device 100 activates motor 110, which applies a predetermined force to the print media, for example, via the pressure rollers of the printer device 100.

[0185] At operation 1604, the printer device 100 includes means such as a sensor 102, a print compensation circuit 114, a motor 110, a light source 106, a printing mechanism 116, a processor 108, or combinations thereof, to determine sensor data corresponding to the sensor by an analog-to-digital converter associated with the sensor. In this respect, the analog-to-digital converter associated with the sensor can be used to convert analog signals captured by the sensor into digital data outputs representing such analog signals. For example, the sensor data may represent data values ​​generated based on different voltages generated according to light interacting with the sensor through the printing medium, at least in part based on the intensity of the light reaching the sensor.

[0186] At operation 1606, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to determine whether sensor data indicates an edge of a specific edge type. For example, in some embodiments, the printer apparatus 100 processes sensor data to detect an edge detection event corresponding to a specific edge type (e.g., a leading or trailing edge corresponding to the direction of movement in the current media movement phase). The edge detection event may be detected at least in part based on current sensor data and / or previous sensor data output at one or more previous timestamps. For example, the printer apparatus 100 may process sensor data and previous sensor data to detect changes in sensor data indicating an edge of a specific edge type (e.g., as described herein relative to...). Figure 3 (As described). In some embodiments, the specific edge type to be determined is predetermined and / or otherwise set at least in part based on the configuration of the printer device 100. For example, in some embodiments, the printer device 100 processes sensor data to determine whether the sensor data indicates the leading edge of a printable portion of the printable medium.

[0187] If the printer device 100 determines that the sensor data does not indicate an edge of a specific edge type (e.g., the sensor data does not indicate an edge or indicates an edge of an incorrect edge type), the process returns to operation 1602. In this respect, the process can continue to advance the print media while searching for the next edge of the specific edge type. If the printer device 100 determines that the sensor data indicates an edge of the specific edge type, the process proceeds to operation 1608.

[0188] At operation 1608, the printer device 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to store data indicating an edge and / or a timestamp when an edge is detected. In some embodiments, the printer device 100 stores data embodying, associating with, and / or otherwise indicating whether the edge is a first or second detected edge of a specific edge type. In addition, or alternatively, in some embodiments, the printer device 100 stores data embodying, associating with, and / or otherwise indicating the timestamp when an edge is detected. In some embodiments, the timestamp is determined at least in part based on the timestamp when sensor data is captured. The timestamp may be received from the sensor, determined by the processor 108 of the printer device 100, etc. In some embodiments, the printer device 100 stores data indicating the edge and / or the timestamp in a cache, memory (e.g., memory 112), permanent storage, etc.

[0189] At operation 1610, the printer apparatus 100 includes means such as sensor 102, print compensation circuitry 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to determine whether the detected edge is a second edge of a specific edge type. In some embodiments, the printer apparatus 100 queries and / or otherwise examines stored edge and / or timestamp data to determine whether data associated with another edge has been previously detected and / or stored. If the printer apparatus 100 retrieves and / or identifies previously stored data indicating the detected edge and / or its associated timestamp, the printer apparatus 100 may determine that the edge is a second edge.

[0190] If the printer device 100 determines that the detected edge is not a second edge of a specific edge type, the process returns to operation 1602. In this respect, the printer device 100 continues to advance the print media until a second edge of a specific edge type is detected. For example, a second edge of a specific edge type may indicate that the print media has moved a specific distance (e.g., corresponding to the width of the gap between the printable portion of the print media and the first printable portion and the next printable portion). If the printer device 100 determines that the detected edge is a second edge of a specific edge type, the process continues to operation 1612.

[0191] At operation 1602, the printer apparatus 100 includes means such as sensor 102, print compensation circuit 114, motor 110, light source 106, printing mechanism 116, processor 108, etc., or combinations thereof, to determine a media movement stage timestamp difference by a first timestamp associated with the detection of a first edge and a second timestamp associated with the detection of a second edge. In some embodiments, the media movement stage timestamp difference is determined by subtracting the timestamp representing the time of detection of a second edge of a specific edge type from the timestamp representing the time of detection of a first edge of a specific edge type. Alternatively or additionally, in some embodiments, the media movement stage timestamp difference is determined by subtracting the timestamp representing the time of detection of a first edge of a specific edge type from the timestamp representing the time of detection of a second edge of a specific edge type. In this respect, the media movement stage timestamp difference represents the amount of time taken to traverse the distance between a first detected edge of a specific edge type and a second detected edge of a specific edge type during the movement of the print media.

[0192] The media movement stage timestamp difference can correspond to a specific media movement stage that the printer device 100 is currently set to. For example, if the printer device 100 is currently set to the media output stage, the media movement stage timestamp difference can represent the output stage timestamp difference corresponding to the media output stage, and if the printer device 100 is currently set to the media retraction stage, the media movement stage timestamp difference can represent the retraction stage timestamp difference corresponding to the media retraction stage. In some embodiments, the printer device 100 temporarily or permanently emphasizes different media movement stage timestamps corresponding to the media movement stage that the printer device is currently set to.

[0193] In some embodiments, the media movement stage timestamp differences can then be processed for any of a number of purposes. For example, in some embodiments, printer device 100 performs process 1600 to generate a media movement stage timestamp difference reflecting a media output stage timestamp difference corresponding to a media output stage, and printer device 100 similarly performs process 1600 to generate a media movement schedule timestamp reflecting a media retraction stage timestamp difference corresponding to a media retraction stage. Such resulting media movement stage timestamp differences can then be processed to determine print position compensation, at least in part, based on print speed, for further processing, such as as described herein with respect to... Figure 12 and / or Figure 15 As described. The resulting print position compensation can be used to offset the starting position of a print job initiated at one or more printable locations on the print media (e.g., for printing on one or more labels on the print media).

[0194] in conclusion

[0195] Although an exemplary processing system has been described above, specific implementations of the subject matter and functional operations described herein may be implemented in other types of digital electronic circuits or in computer software, firmware, or hardware (including the structures disclosed herein and their equivalents) or in a combination of one or more of them.

[0196] Embodiments of the subject matter and operations described herein may be implemented in digital electronic circuits, or in computer software, firmware, or hardware (including the structures disclosed herein and their equivalents), or in a combination thereof. Embodiments of the subject matter described herein may be implemented as one or more computer programs (i.e., one or more modules of computer program instructions) encoded on a computer storage medium for execution by an information / data processing device or for controlling the operation of the information / data processing device. Alternatively or additionally, program instructions may be encoded on artificially generated propagating signals (e.g., machine-generated electrical, optical, or electromagnetic signals) generated to encode information / data for transmission to a suitable receiver device for execution by the information / data processing device. The computer storage medium may be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof, or may be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof. Furthermore, although the computer storage medium is not a propagating signal, it may be a source or destination of computer program instructions encoded in an artificially generated propagating signal. Computer storage media can also be one or more separate physical components or media (e.g., multiple CDs, disks or other storage devices), or included in one or more separate physical components or media.

[0197] The operations described herein can be implemented as operations performed by an information / data processing device on information / data stored on one or more computer-readable storage devices or received from other sources.

[0198] The term "data processing apparatus" encompasses all kinds of devices, apparatuses, and machines used for processing data, including, for example, programmable processors, computers, systems-on-a-chip, or a combination of the foregoing. The apparatus may include special-purpose logic circuitry (e.g., FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits)). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program under consideration (e.g., code constituting processor firmware, protocol stacks, memory management systems, operating systems, cross-platform runtime environments, virtual machines, or combinations thereof). The apparatus and execution environment can implement a variety of different computing model infrastructures, such as web services, distributed computing infrastructures, and grid computing infrastructures.

[0199] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any form of programming language (including compiled or interpreted languages, declarative languages, or programming languages) and can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be stored as a part of a file that holds other programs or information / data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinating files (e.g., a file storing portions of one or more modules, subroutines, or code). A computer program can be deployed to execute on one or more computers located at a single site or distributed across multiple sites and interconnected via a communication network.

[0200] The processes and logic flows described herein can be executed by one or more programmable processors that execute one or more computer programs to perform actions by manipulating input information / data and generating outputs. By way of example, processors suitable for executing computer programs include both general-purpose microprocessors and special-purpose microprocessors, as well as any one or more processors of any kind of digital computer. Generally, a processor receives instructions and information / data from read-only memory or random access memory, or both. The basic elements of a computer are a processor for performing actions according to instructions and one or more memories for storing instructions and data. Generally, a computer will also include one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or operatively coupled to such mass storage devices to receive information / data from or transfer information / data to such mass storage devices, or both. However, a computer does not need to have such devices. Devices suitable for storing computer program instructions and information / data include all forms of non-volatile memory, media, and memory devices, including (by way of example) semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory may be supplemented by or integrated into dedicated logic circuitry.

[0201] Although this specification contains many specific implementation details, these details should not be construed as limiting the scope of any disclosure or claimable content, but rather as descriptions of features specific to a particular disclosure and a particular implementation. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of individual embodiments may also be implemented separately in multiple embodiments or in any suitable sub-combination. Furthermore, although features may be described above as functioning in certain combinations and even originally claimed in this way, in some cases, one or more features from the claimed combination may be removed from the combination, and the claimed combination may be for sub-combinations or variations thereof.

[0202] Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in sequential order, or to perform all of the shown operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or comprised of multiple software products.

[0203] Therefore, specific embodiments of this subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions described in the claims can be performed in a different order and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific order or sequence shown to achieve the desired result. In some specific embodiments, multitasking and parallel processing may be advantageous.

Claims

1. A computer-implemented method for print position compensation, the computer-implemented method comprising: The distance between the first edge and the printhead is determined by a sensor during the media output phase; The sensor determines the distance between the first edge and the second edge position between the printhead during the media retraction phase. as well as Print position compensation is generated at least in part based on the distance between the first edge position and the distance between the second edge position. The print position compensation refers to an offset to be applied to a defined position where printing will begin on one or more printable portions of the print medium, and the method further includes: Boundary checks are performed at least in part based on the print position compensation, wherein the boundary checks are performed by comparing the print position compensation with the maximum permissible compensation, and if it is determined that the print position compensation exceeds the maximum permissible compensation, the print position compensation is adjusted to be equal to the maximum permissible compensation. as well as The printing operation is initiated at least in part based on the print position compensation.

2. The computer-implemented method according to claim 1, wherein generating the print position compensation comprises: The differential edge position distance is generated by subtracting the second edge position distance from the first edge position distance; as well as The print position compensation is generated by dividing the differential edge position distance by two.

3. The computer-implemented method according to claim 1, wherein determining the distance to the first edge position includes: The leading edge of at least the printable portion of the printing medium is detected via the sensor; During the media output phase, the distance traveled by the leading edge is tracked while a predetermined force is applied to the printing medium, the predetermined force being associated with a target distance between the sensor and the printhead; as well as The first edge position distance is determined at least in part based on the distance traveled by the tracked leading edge during the medium output phase.

4. The computer-implemented method according to claim 1, wherein determining the distance to the second edge position comprises: The leading edge of at least the printable portion of the printing medium is detected via the sensor; During the media retraction phase, the distance traveled by the leading edge is tracked while a predetermined force is applied to the printing media, the predetermined force being associated with a target distance between the sensor and the printhead; as well as The second edge position distance is determined at least in part based on the distance traveled by the tracked leading edge during the medium retraction phase.

5. The computer-implemented method according to claim 1, wherein determining the distance to the second edge position comprises: The trailing edge of at least the printable portion of the printing medium is detected via the sensor; During the media retraction phase, the distance traveled by the trailing edge is tracked while a predetermined force is applied to the printing media, the predetermined force being associated with a target distance between the sensor and the printhead; as well as The second edge position distance is determined at least in part based on the distance traveled by the trailing edge during the medium retraction phase.

6. The computer-implemented method according to claim 1, wherein the media output stage includes a calibration printing stage.

7. The computer-implemented method of claim 1, wherein the media output stage includes a previous print job stage.

8. The computer-implemented method of claim 1, wherein the first edge location distance includes a first data value of a specific size, and the second edge location distance each includes a second data value of the specific size.

9. The computer-implemented method according to claim 1, further comprising: Detect the occurrence of an idle state; as well as The print position compensation is reset in response to the detection of the occurrence of the idle state.

10. The computer-implemented method according to claim 1, further comprising: The sensor is activated when the print job begins.

11. The computer-implemented method according to claim 1, further comprising: The printhead is activated at least in part based on the print position compensation to print data at a specific location.

12. An apparatus for print position compensation, the apparatus comprising at least one processor and at least one non-transitory memory thereon storing computer program instructions, wherein the computer program instructions, when executed by the at least one processor, configure the apparatus to perform any one of the methods according to claims 1 to 11.

13. A non-transitory computer-readable storage medium having computer program code stored thereon, said computer program code, when executed by at least one processor, performing any one of the methods according to claims 1 to 11.