Language selection

Search

Patent 2716065 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2716065
(54) English Title: METHOD FOR AT LEAST PARTIALLY COMPENSATING FOR ERROS IN INK DOT PLACEMENT DUE TO ERRONEOUS ROTATIONAL DISPLACEMENT
(54) French Title: PROCEDE POUR LA COMPENSATION AU MOINS PARTIELLE D'ERREURS DANS LE PLACEMENT POINTS D'ENCRE DUES A UN DEPLACEMENT ROTATIONNEL ERRONE
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • B41J 2/01 (2006.01)
  • B41J 2/07 (2006.01)
  • B41J 2/12 (2006.01)
  • B41J 2/155 (2006.01)
  • H04L 9/14 (2006.01)
  • H04L 9/32 (2006.01)
(72) Inventors :
  • WALMSLEY, SIMON R. (Australia)
  • SILVERBROOK, KIA (Australia)
  • JACKSON PULVER, MARK (Australia)
  • SHEAHAN, JOHN R. (Australia)
  • PLUNKETT, RICHARD T. (Australia)
  • WEBB, MICHAEL J. (Australia)
  • MORPHETT, BENJAMIN D. (Australia)
(73) Owners :
  • SILVERBROOK RESEARCH PTY LTD (Australia)
(71) Applicants :
  • SILVERBROOK RESEARCH PTY LTD (Australia)
(74) Agent: OYEN WIGGS GREEN & MUTALA LLP
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2004-05-27
(41) Open to Public Inspection: 2005-12-22
Examination requested: 2010-09-24
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract




A method of at least partially compensating for errors in ink dot placement by
at least one of a plurality of nozzles
due to erroneous rotational displacement of a printhead module relative to a
carrier, the nozzles being disposed on the printhead
module, the method comprising the steps of: (a) determining the rotational
displacement; (b) determining at least one correction
factor that at least partially compensates for the ink dot displacement; and
(c) using the correction factor to alter the output of the ink
dots to at least partially compensate for the rotational displacement.




Claims

Note: Claims are shown in the official language in which they were submitted.




1258
1. A print engine comprising:
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;
and
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein
the first printer controller outputs dot data only to the first printhead
module and the second printer
controller outputs dot data only to the second printhead module, wherein the
printhead modules are configured
such that no dot data passes between them.

2. A print engine according to claim 1, further comprising a synchronization
means between the first and
second printer controllers for synchronizing the supply of dot by the printer
controllers.

3. A print engine according to claim 1, wherein each of the printer
controllers is configurable to supply the
dot data to a printhead module of arbitrary length.

4. A print engine according to claim 1, wherein each of the printhead moduels
includes at least one row of
print nozzles, and at least two shift registers for shifting in dot data
supplied from a data source to each of the at
least one rows, and further wherein each print nozzle obtains dot data to be
fired from an element of one of the
shift registers.

5. A printer according to claim 1, wherein the first and second printer
controllers are connected to a
common input of the printhead.

6. A printer according to claim 1, wherein each print head module is
configured for at least partially
compensating for errors in ink dot placement by a nozzle of a respective print
head module caused by erroneous
rotational displacement of the printhead module relative to a carrier, each
print head module being configured to:
access a correction factor associated with the at least one printhead module;
determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and
supply the dot data to the printhead module.

7. A printer according to claim 1, wherein each print head module includes a
plurality of thermal sensors,
each of the thermal sensors being configured to respond to a temperature at or
adjacent at least one of the nozzles,
the printer being configured to modify operation of at least some of the
nozzles in response to the temperature
rising above a first threshold.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Method for at least partially compensating for errors in ink dot placement due
to
erroneous rotational displacement

FIELD OF THE INVENTION

The present invention relates to a method of compensating for errors in ink
dot placement due to erroneous
rotational displacement of a printhead or printhead module.

The invention has primarily been developed for use in a pagewidth inkjet
printer comprising a printer controller
and a printhead having one or more printhead modules, and will be described
with reference to this example.
However, it will be appreciated that the invention is not limited to any
particular type of printing technology, and
is not limited to use in, for example, pagewidth and inkjet printing.

CROSS-REFERENCES
Various methods, systems and apparatus relating to the present invention are
disclosed in the following co-
pending applications filed by the applicant or assignee of the present
invention. The disclosures of all of these co-
pending applications are incorporated herein by cross-reference.

10/727,181 10/727,162 10/727,163 10/727,245 PEA05US
10/727,233 10/727,280 10/727,157 10/727,178 10/72,210
PEA 11 US 10/727,238 10/727,251 10/727,159 10/727,180

PEAI6US PEA17US PEA18US 10/727,164 10/727,161
10/727,198 10/727,158 10/754,536 10/754,938 10/727,227
10/727,160 09/575,108 10/727,162 09/575,110 09/607,985
6,398,332 6,394,573 6,622,923 10/173,739 10/189,459

10/713,083 10/713,091 ZG 164US 10/713,077 10/713,081
10/713,080 10/667,342 10/664,941 10/664,939 10/664,938
10/665,069 09/112,763 09/112,762 09/112,737 09/112,761
09/113,223 09/505,951 09/505,147 09/505.952 09/517,539
09/517,384 09/516,869 09/517,608 09/517,380 09/516,874


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
2
09/517,541 10/636,263 10/636,283 ZE028US ZE029US

ZE030US 10/407,212 10/407,207 10/683,064 10/683,041

Some applications have been listed by their docket numbers, these will be
replaced when application numbers are
known.

BACKGROUND
When a printhead module is being mounted to a carrier, there is the
possibility that the position of the printhead
will be rotationally erroneous. Such errors arise due to the tolerances in the
assembly process, for example.


In cases where the printhead module is short, and particularly where it is the
only module in the printhead, minor
rotational errors may be acceptable. However, in the case of relatively long
printheads, the amount of error
introduced to dot positions due to the erroneous rotational position of the
printhead module relative to the carrier
may reach noticeable, and therefore unacceptable (or at least undesirable)
levels.


The problem is exacerbated when multiple printhead modules are laid end to end
to form a printhead, such as a
pagewidth printhead, due to the fact that some forms of rotational error will
cause discontinuities between rows of
dots printed by adjacent modules. In general, these discontinuities are more
visible and objectionable than mere
consistent skew across a single printhead module.


It would be useful to provide a method and apparatus for at least partially
compensating for errors in ink dot
placement due to erroneous rotational displacement of a printhead module
relative to a carrier.
SUMMARY OF THE INVENTION

In a first aspect the present invention provides a method of at least
partially compensating for errors in ink dot
placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead module
relative to a carrier, the nozzles being disposed on the printhead module, the
method comprising the steps of:

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
3
(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally, step (c) includes altering a timing of a fire signal to at least
one of the nozzles on the basis of the
correction factor, thereby to effect the at least partial compensation.

Optionally, the nozzles are disposed in a plurality of rows, and step (c)
includes reallocating at least one of the ink
dots from at least one original print line to at least one alternate print
line, thereby to effect the at least partial
compensation.


Optionally, step (c) further includes the step of altering a timing of fire
signals to at least one of the nozzles on the
basis of the correction factor, thereby to effect the at least partial
compensation.

Optionally, the altered fire signals are supplied to both reallocated ink dots
and non-reallocated ink dots.

Optionally, the correction factor is stored in a memory associated with the
printhead.

Optionally, the memory is mounted with the printhead, the printhead being
mounted on the print engine.
Optionally, the rotational displacement is roll.

Optionally, the rotational displacement is yaw.

Optionally, the printhead module being one of a plurality of printhead modules
mounted on a carrier to form a
printhead and the error in ink dot placement being an error relative to ink
dots output by one or more of the other
printhead modules

Optionally, the printer is a pagewidth printer.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
4
Optionally, the printer is a pagewidth printer.

Optionally, the present invention provides a printer controller programmed and
configured to implement the
method of at least partially compensating for errors in ink dot placement by
at least one of a plurality of nozzles
due to erroneous rotational displacement of a printhead module relative to a
carrier, the nozzles being disposed on
the printhead module, the method comprising the steps of:

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally, the method including expelling ink from a printhead module
including at least one row that comprises
a plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to a
fire signal, the method comprising providing, for each set of nozzles, a fire
signal in accordance with the
sequence: [nozzle position 1, nozzle position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x],
wherein nozzle position x is at or adjacent the centre of the set of nozzles.

Optionally, the method including expelling ink from a printhead module
including at least one row that comprises
a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to a fire
signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally, the method including manufacturing a plurality of printhead
modules, at least some of which are
capable of being combined in pairs to form bilithic pagewidth printheads, the
method comprising the step of
laying out each of the plurality of printhead modules on a wafer substrate,
wherein at least one of the printhead
modules is right-handed and at least another is left-handed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
Optionally, the method being performed in conjunction with a printhead module
including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
5 wherein each print nozzle obtains dot data to be fired from an element of
one of the shift registers.
Optionally, the method being performed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.
Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


Optionally, the method being performed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
6
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the fast printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.


Optionally, the method being performed in conjunction with a printer
controller for controlling a printhead
comprising at least one monolithic printhead module, the at least one
printhead module having a plurality of rows
of nozzles configured to extend, in use, across at least part of a printable
pagewidth of the printhead, the nozzles
in each row being grouped into at least first and second fire groups, the
printhead module being configured to
sequentially fire, for each row, the nozzles of each fire group, such that
each nozzle in the sequence from each fire
group is fired simultaneously with respective corresponding nozzles in the
sequence in the other fire groups,
wherein the nozzles are fired row by row such that the nozzles of each row are
all fired before the nozzles of each


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
7
subsequent row, wherein the printer controller is configured to provide one or
more control signals that control the
order of firing of the nozzles.

Optionally, the method being performed in conjunction with a printer
controller for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally, the method being performed in conjunction with a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.


Optionally, the method being performed in conjunction with a printer
controller for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a rust mode, in which the printhead module is configured to receive data for a
first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally, the method being performed in conjunction with a printer
controller for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
8
Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.


Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
9
Optionally, the method being performed in conjunction with a printer
controller for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead, wherein each of
the serial outputs is configured to
supply dot data for at least two channels of the at least one printhead.

Optionally, the method being performed in conjunction with a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead capable
of printing a maximum of n of
channels of print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.

Optionally, the method being performed in conjunction with a printhead
comprising a plurality of printhead
modules, the printhead being wider than a reticle step used in forming the
modules, the printhead comprising at
least two types of the modules, wherein each type is determined by its
geometric shape in plan.

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to
a fire signal, such that, for each set of nozzles, a fire signal is provided
in accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of adjacent sets of n adjacent nozzles, each of the
nozzles being configured to expel the ink
in response to a fire signal, the printhead being configured to output ink
from nozzles at a first and nth position in
each set of nozzles, and then each next inward pair of nozzles in each set,
until:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

5 Optionally, the method being performed in conjunction with a printhead
module for receiving dot data to be
printed using at least two different inks and control data for controlling
printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.
Optionally, the method being performed in conjunction with a printhead module
including at least one row of
10 printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of rows of
nozzles configured to extend, in use, across at least part of a printable
pagewidth, the nozzles in each row being
grouped into at least first and second fire groups, the printhead module being
configured to sequentially fire, for
each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.

Optionally, the method being performed in conjunction with a printhead module
comprising at least first and
second rows configured to print ink of a similar type or color, at least some
nozzles in the first row being aligned
with respective corresponding nozzles in the second row in a direction of
intended media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally, the method being performed in conjunction with a printer
controller for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
11
Optionally, the method being performed in conjunction with a printhead module
having a plurality of nozzles for
expelling ink, the printhead module including a plurality of thermal sensors,
each of the thermal sensors being
configured to respond to a temperature at or adjacent at least one of the
nozzles, the printhead module being
configured to modify operation of the nozzles in response to the temperature
rising above a first threshold.
Optionally, the method being performed in conjunction with a printhead module
comprising a plurality of rows,
each of the rows comprising a plurality of nozzles for ejecting ink, wherein
the printhead module includes at least
first and second rows configured to print ink of a similar type or color, and
being configured such that, in the
event a nozzle in the first row is faulty, a corresponding nozzle in the
second row prints an ink dot at a position on
print media at or adjacent a position where the faulty nozzle would otherwise
have printed it.

In a second aspect the present invention provides a method of expelling ink
from a printhead module including at
least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.
Optionally the nozzle at each given position within the set is fired
simultaneously with the nozzles in the other
sets at respective corresponding positions.

Optionally the printhead module includes a plurality of the rows of nozzles,
the method including sequentially
repeating the for each of the rows of nozzles.

Optionally the rows are disposed in pairs.

Optionally the rows in each pair of rows are offset relative to each other.
Optionally each pair of rows is configured to print the same color ink.

Optionally each pair of rows is connected to a common ink source.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
12
Optionally the sets of nozzles are adjacent each other.

Optionally the sets of nozzles are separated by an intermediate nozzle, the
intermediate nozzle being fired either
prior to the nozzle at position 1 in each set, or following the nozzle at
position n.

Optionally the method includes the step of providing the fire sequence to the
printhead module from a printer
controller, the fire signals being based on the fire sequence.

Optionally the fire sequence is loaded into a shift register in the printhead
module.

Optionally the method at least partially compensating for errors in ink dot
placement by at least one of a plurality
of nozzles due to erroneous rotational displacement of a printhead module
relative to a carrier, the nozzles being
disposed on the printhead module, the method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


Optionally the method includes expelling ink from a printhead module including
at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
13
Optionally the method includes manufacturing a plurality of printhead modules,
at least some of which are
capable of being combined in pairs to form bilithic pagewidth printheads, the
method comprising the step of
laying out each of the plurality of printhead modules on a wafer substrate,
wherein at least one of the printhead
modules is right-handed and at least another is left-handed.


Optionally, the method being performed in conjunction with a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.


Optionally, the method being performed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.


Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
14
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally, the method being performed in conjunction with a printer
controller for controlling a printhead
comprising at least one monolithic printhead module, the at least one
printhead module having a plurality of rows
of nozzles configured to extend, in use, across at least part of a printable
pagewidth of the printhead, the nozzles


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
in each row being grouped into at least first and second fire groups, the
printhead module being configured to
sequentially fire, for each row, the nozzles of each fire group, such that
each nozzle in the sequence from each fire
group is fired simultaneously with respective corresponding nozzles in the
sequence in the other fire groups,
wherein the nozzles are fired row by row such that the nozzles of each row are
all fired before the nozzles of each
5 subsequent row, wherein the printer controller is configured to provide one
or more control signals that control the
order of firing of the nozzles.

Optionally, the method being performed in conjunction with a printer
controller for outputting to a printhead
module:

10 dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally, the method being performed in conjunction with a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.

Optionally, the method being performed in conjunction with a printer
controller for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally, the method being performed in conjunction with a printer
controller for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
16
Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
17
Optionally, the method being performed in conjunction with a printer
controller for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead, wherein each of
the serial outputs is configured to
supply dot data for at least two channels of the at least one printhead.

Optionally, the method being performed in conjunction with a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead capable
of printing a maximum of n of
channels of print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.

Optionally, the method being performed in conjunction with a printhead
comprising a plurality of printhead
modules, the printhead being wider than a reticle step used in forming the
modules, the printhead comprising at
least two types of the modules, wherein each type is determined by its
geometric shape in plan.

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to
a fire signal, such that, for each set of nozzles, a fire signal is provided
in accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of adjacent sets of n adjacent nozzles, each of the
nozzles being configured to expel the ink


CA 02716065 2010-09-24

WO 20051120835 PCT/AU20041000706
18
in response to a fire signal, the printhead being configured to output ink
from nozzles at a first and nth position in
each set of nozzles, and then each next inward pair of nozzles in each set,
until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.

Optionally, the method being performed in conjunction with a printhead module
for receiving dot data to be
printed using at least two different inks and control data for controlling
printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.

Optionally, the method being performed in conjunction with a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of rows of
nozzles configured to extend, in use, across at least part of a printable
pagewidth, the nozzles in each row being
grouped into at least first and second fire groups, the printhead module being
configured to sequentially fire, for
each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.
Optionally, the method being performed in conjunction with a printhead module
comprising at least first and
second rows configured to print ink of a similar type or color, at least some
nozzles in the first row being aligned
with respective corresponding nozzles in the second row in a direction of
intended media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally, the method being performed in conjunction with a printer
controller for providing data to a printhead
module that includes:

at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
19
at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of nozzles for
expelling ink, the printhead module including a plurality of thermal sensors,
each of the thermal sensors being
configured to respond to a temperature at or adjacent at least one of the
nozzles, the printhead module being
configured to modify operation of the nozzles in response to the temperature
rising above a first threshold.

Optionally, the method being performed in conjunction with a printhead module
comprising a plurality of rows,
each of the rows comprising a plurality of nozzles for ejecting ink, wherein
the printhead module includes at least
first and second rows configured to print ink of a similar type or color, and
being configured such that, in the
event a nozzle in the first row is faulty, a corresponding nozzle in the
second row prints an ink dot at a position on
print media at or adjacent a position where the faulty nozzle would otherwise
have printed it.


Optionally the printhead module includes a plurality of the rows, the method
including firing each nozzle in each
row simultaneously with the nozzle or nozzles at the same position in the
other rows.

Optionally the method includes a plurality of pairs of the rows, each pair of
rows including an odd row and an
even row, the odd and even rows in each pair being offset from each other in
both x and y directions relative to an
intended direction of print media movement relative to the printhead, the
method including causing firing of at
least a plurality of the odd rows prior to firing any of the even rows, or
vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.

Optionally the odd rows, or the even rows, or both, are fired in a
predetermined order.

Optionally the predetermined order is selectable from a plurality of
predetermined available orders.
Optionally the predetermined order is sequential.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally the predetermined order can commence at any of a plurality of the
rows.

In a third aspect the present invention provides a method of expelling ink
from a printhead module including at
least one row that comprises a plurality of sets of n adjacent nozzles, each
of the nozzles being configured to expel
5 ink in response to a fire signal, the method comprising the steps of

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
10 have been fired, and then firing the central nozzle.

Optionally the printhead module includes a plurality of the rows of nozzles,
the method including sequentially
repeating steps (a) to (d) for each of the rows of nozzles.

15 Optionally the rows are disposed in pairs.

Optionally the rows in each pair of rows are offset relative to each other.
Optionally each pair of rows is configured to print the same color ink.

Optionally each pair of rows is connected to a common ink source.
Optionally the sets of nozzles are adjacent each other.

Optionally the sets of nozzles are separated by an intermediate nozzle, the
intermediate nozzle being fired either
prior to the nozzle at position 1 in each set, or following the nozzle at
position n.

In a second aspect the present invention provides a method of expelling ink
from a printhead module including at
least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
21
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.

Optionally the nozzle at each given position within the set is fired
simultaneously with the nozzles in the other
sets at respective corresponding positions.

Optionally, the method at least partially compensating for errors in ink dot
placement by at least one of a plurality
of nozzles due to erroneous rotational displacement of a printhead module
relative to a carrier, the nozzles being
disposed on the printhead module, the method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally, the method including expelling ink from a printhead module
including at least one row that comprises
a plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to a
fire signal, the method comprising providing, for each set of nozzles, a fire
signal in accordance with the
sequence: [nozzle position 1, nozzle position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x],
wherein nozzle position x is at or adjacent the centre of the set of nozzles.

Optionally, the method including manufacturing a plurality of printhead
modules, at least some of which are
capable of being combined in pairs to form bilithic pagewidth printheads, the
method comprising the step of
laying out each of the plurality of printhead modules on a wafer substrate,
wherein at least one of the printhead
modules is right-handed and at least another is left-handed.

Optionally, the method being performed in conjunction with a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
22
Optionally, the method being performed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.
Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
23
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally, the method being performed in conjunction with a printer
controller for controlling a printhead
comprising at least one monolithic printhead module, the at least one
printhead module having a plurality of rows
of nozzles configured to extend, in use, across at least part of a printable
pagewidth of the printhead, the nozzles
in each row being grouped into at least first and second fire groups, the
printhead module being configured to
sequentially fire, for each row, the nozzles of each fire group, such that
each nozzle in the sequence from each fire
group is fired simultaneously with respective corresponding nozzles in the
sequence in the other fire groups,
wherein the nozzles are fired row by row such that the nozzles of each row are
all fired before the nozzles of each
subsequent row, wherein the printer controller is configured to provide one or
more control signals that control the
order of firing of the nozzles.

Optionally, the method being performed in conjunction with a printer
controller for outputting to a printhead
module:

dot data to be printed with at least two different inks; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
24
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally, the method being performed in conjunction with a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.

Optionally, the method being performed in conjunction with a printer
controller for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally, the method being performed in conjunction with a printer
controller for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
5 the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
10 printhead module comprising at least first and second rows configured to
print ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
15 the second pair of rows, the printer controller being configurable to
supply dot data to the printhead module for
printing.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
20 comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally, the method being performed in conjunction with a printer
controller for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead, wherein each of
the serial outputs is configured to
supply dot data for at least two channels of the at least one printhead.


Optionally, the method being performed in conjunction with a printhead module
including:
at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
26
at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead capable
of printing a maximum of n of
channels of print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.

Optionally, the method being performed in conjunction with a printhead
comprising a plurality of printhead
modules, the printhead being wider than a reticle step used in forming the
modules, the printhead comprising at
least two types of the modules, wherein each type is determined by its
geometric shape in plan.

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to
a fire signal, such that, for each set of nozzles, a fire signal is provided
in accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-I), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of adjacent sets of n adjacent nozzles, each of the
nozzles being configured to expel the ink
in response to a fire signal, the printhead being configured to output ink
from nozzles at a first and nth position in
each set of nozzles, and then each next inward pair of nozzles in each set,
until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally, the method being performed in conjunction with a printhead module
for receiving dot data to be
printed using at least two different inks and control data for controlling
printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
27
Optionally, the method being performed in conjunction with a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of rows of
nozzles configured to extend, in use, across at least part of a printable
pagewidth, the nozzles in each row being
grouped into at least first and second fire groups, the printhead module being
configured to sequentially fire, for
each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.
Optionally, the method being performed in conjunction with a printhead module
comprising at least first and
second rows configured to print ink of a similar type or color, at least some
nozzles in the first row being aligned
with respective corresponding nozzles in the second row in a direction of
intended media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally, the method being performed in conjunction with a printer
controller for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of nozzles for
expelling ink, the printhead module including a plurality of thermal sensors,
each of the thermal sensors being
configured to respond to a temperature at or adjacent at least one of the
nozzles, the printhead module being
configured to modify operation of the nozzles in response to the temperature
rising above a first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
28
Optionally, the method being performed in conjunction with a printhead module
comprising a plurality of rows,
each of the rows comprising a plurality of nozzles for ejecting ink, wherein
the printhead module includes at least
first and second rows configured to print ink of a similar type or color, and
being configured such that, in the
event a nozzle in the first row is faulty, a corresponding nozzle in the
second row prints an ink dot at a position on
print media at or adjacent a position where the faulty nozzle would otherwise
have printed it.

Optionally the printhead module includes a plurality of the rows, the method
including firing each nozzle in each
row simultaneously with the nozzle or nozzles at the same position in the
other rows.

Optionally the printhead module includes a plurality of the rows, the method
including firing each nozzle in each
row simultaneously with the nozzle or nozzles at the same position in the
other rows.

Optionally the method including a plurality of pairs of the rows, each pair of
rows including an odd row and an
even row, the odd and even rows in each pair being offset from each other in
both x and y directions relative to an
intended direction of print media movement relative to the printhead, the
method including causing firing of at
least a plurality of the odd rows prior to firing any of the even rows, or
vice versa.
Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.
Optionally the odd rows, or the even rows, or both, are fired in a
predetermined order.

Optionally the predetermined order is selectable from a plurality of
predetermined available orders.
Optionally the predetermined order is sequential.


Optionally the predetermined order can commence at any of a plurality of the
rows.

In a fourth aspect the present invention provides method of manufacturing a
plurality of printhead modules, at
least some of which are capable of being combined in pairs to form bilithic
pagewidth printheads, the method
comprising the step of laying out each of the plurality of printhead modules
on a wafer substrate, wherein at least
one of the printhead modules is right-handed and at least another is left-
handed.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
29
In a second aspect the present invention provides a method of manufacturing a
plurality of pagewidth printheads,
the method comprising the steps of

manufacturing a plurality of printhead modules in accordance with claim 1; and

assembling pairs of at least some of the printhead modules to form pagewidth
printheads, wherein each
of the printhead modules in each pagewidth printhead is shorter than the
pagewidth.

Optionally the printhead modules of at least one of the pagewidth printheads
are of relatively different lengths.
Optionally the printhead modules of at least one of the pagewidth printheads
are of the same length.
Optionally the printhead modules of at least one of the pagewidth printheads
are of relatively different lengths,
and the printhead modules of at least another of the pagewidth printheads are
of the same length.

Optionally at least some of the printhead modules are larger than a reticle
step used in laying out those printhead
modules.

Optionally the method includes the step of laying out a plurality of left-
handed and right-handed printhead
modules.


Optionally the method includes the step of laying out a plurality of different
lengths of left-handed and right-
handed printhead modules.

Optionally, the method at least partially compensating for errors in ink dot
placement by at least one of a plurality
of nozzles due to erroneous rotational displacement of a printhead module
relative to a carrier, the nozzles being
disposed on the printhead module, the method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally, the method including expelling ink from a printhead module
including at least one row that comprises
5 a plurality of adjacent sets of n adjacent nozzles, each of the nozzles
being configured to expel ink in response to a
fire signal, the method comprising providing, for each set of nozzles, a fire
signal in accordance with the
sequence: [nozzle position 1, nozzle position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x],
wherein nozzle position x is at or adjacent the centre of the set of nozzles.

10 Optionally, the method including expelling ink from a printhead module
including at least one row that comprises
a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to a fire
signal, the method comprising the steps of

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

15 (c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally, the method being performed in conjunction with a printhead module
including:
20 at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.
Optionally, the method being performed in a printer comprising:

25 a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally, the method being performed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
31
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally, the method being performed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the fast printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
32
determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally, the method being performed in conjunction with a printer
controller for controlling a printhead
comprising at least one monolithic printhead module, the at least one
printhead module having a plurality of rows
of nozzles configured to extend, in use, across at least part of a printable
pagewidth of the printhead, the nozzles
in each row being grouped into at least first and second fire groups, the
printhead module being configured to
sequentially fire, for each row, the nozzles of each fire group, such that
each nozzle in the sequence from each fire
group is fired simultaneously with respective corresponding nozzles in the
sequence in the other fire- groups,
wherein the nozzles are fired row by row such that the nozzles of each row are
all fired before the nozzles of each
subsequent row, wherein the printer controller is configured to provide one or
more control signals that control the
order of firing of the nozzles.

Optionally, the method being performed in conjunction with a printer
controller for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output-being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally, the method being performed in conjunction with a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
33
Optionally, the method being performed in conjunction with a printer
controller for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally, the method being performed in conjunction with a printer
controller for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally, the method being used in conjunction with a printer controller for
supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.


Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
34
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally, the method being performed in conjunction with a printer
controller for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.


Optionally, the method being performed in conjunction with a printer
controller for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead, wherein each of
the serial outputs is configured to
supply dot data for at least two channels of the at least one printhead.

Optionally, the method being performed in conjunction with a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead capable
of printing a maximum of n of
channels of print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally, the method being performed in conjunction with a printhead
comprising a plurality of printhead
modules, the printhead being wider than a reticle step used in forming the
modules, the printhead comprising at
least two types of the modules, wherein each type is determined by its
geometric shape in plan.

5

Optionally, the method being performed in conjunction with a printhead module
including at least one row that
comprises a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to
a fire signal, such that, for each set of nozzles, a fire signal is provided
in accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
10 position x is at or adjacent the centre of the set of nozzles.

Optionally 1, the method being performed in conjunction with a printhead
module including at least one row that
comprises a plurality of adjacent sets of n adjacent nozzles, each of the
nozzles being configured to expel the ink
in response to a fire signal, the printhead being configured to output ink
from nozzles at a first and nth position in
15 each set of nozzles, and then each next inward pair of nozzles in each set,
until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.

20 Optionally, the method being performed in conjunction with a printhead
module for receiving dot data to be
printed using at least two different inks and control data for controlling
printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.
Optionally, the method being performed in conjunction with a printhead module
including at least one row of
25 printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of rows of
nozzles configured to extend, in use, across at least part of a printable
pagewidth, the nozzles in each row being
30 grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire, for
each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
36
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.
Optionally, the method being performed in conjunction with a printhead module
comprising at least first and
second rows configured to print ink of a similar type or color, at least some
nozzles in the first row being aligned
with respective corresponding nozzles in the second row in a direction of
intended media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally, the method being performed in conjunction with a printer
controller for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally, the method being performed in conjunction with a printhead module
having a plurality of nozzles for
expelling ink, the printhead module including a plurality of thermal sensors,
each of the thermal sensors being
configured to respond to a temperature at or adjacent at least one of the
nozzles, the printhead module being
configured to modify operation of the nozzles in response to the temperature
rising above a first threshold.
Optionally, the method being performed in conjunction with a printhead module
comprising a plurality of rows,
each of the rows comprising a plurality of nozzles for ejecting ink, wherein
the printhead module includes at least
first and second rows configured to print ink of a similar type or color, and
being configured such that, in the
event a nozzle in the first row is faulty, a corresponding nozzle in the
second row prints an ink dot at a position on
print media at or adjacent a position where the faulty nozzle would otherwise
have printed it.

In a fifth aspect the present invention provides a printhead module including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
37
Optionally, there is a one to one correspondence between the nozzles and
elements of the two shift registers.
Optionally, each of the shift registers supplies dot data to about half of the
nozzles.


Optionally the printhead module includes at least one pair of rows of the
nozzles, the rows in each pair being
offset with respect to each other by half the intra-row nozzle spacing.

Optionally, each of the at least two shift registers supplies dot data to at
least some of the nozzles in at least one
pair of rows.

Optionally the present invention provides a printhead comprising a plurality
of printhead modules including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.
Optionally, the printhead is a pagewidth printhead.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of.

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
38
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.


Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module having been manufactured in accordance with a
method of manufacturing a
plurality of printhead modules, at least some of which are capable of being
combined in pairs to form bilithic
pagewidth printheads, the method comprising the step of laying out each of the
plurality of printhead modules on
a wafer substrate, wherein at least one of the printhead modules is right-
handed and at least another is left-handed.

Optionally the printhead module including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.


Optionally the printhead module installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
39
Optionally the printhead module installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,.
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

5 supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
10 one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a printhead
comprising at least one monolithic printhead module, the at least one
printhead module having a plurality of rows
15 of nozzles configured to extend, in use, across at least part of a
printable pagewidth of the printhead, the nozzles
in each row being grouped into at least first and second fire groups, the
printhead module being configured to
sequentially fire, for each row, the nozzles of each fire group, such that
each nozzle in the sequence from each fire
group is fired simultaneously with respective corresponding nozzles in the
sequence in the other fire groups,
wherein the nozzles are fired row by row such that the nozzles of each row are
all fired before the nozzles of each
20 subsequent row, wherein the printer controller is configured to provide one
or more control signals that control the
order of firing of the nozzles.

Optionally the printhead module is in communication with a printer controller
for outputting to a printhead
module:

25 dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
41
Optionally the printhead module including at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
42
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:


CA 02716065 2010-09-24

WO 20051120835 PCT/AU20041000706
43
a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.


Optionally a printhead comprising a plurality of printhead modules, the
printhead being wider than a reticle step
used in forming the modules, the printhead comprising at least two types of
the modules, wherein each type is
determined by its geometric shape in plan.

Optionally the printhead module including at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-/), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.


Optionally the printhead module including at least one row that comprises a
plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being configured to expel the ink in response to
a fire signal, the printhead being
configured to output ink from nozzles at a first and nth position in each set
of nozzles, and then each next inward
pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optional a printhead module including at least one row of printhead nozzles,
at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
44
Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module comprising at least first and second rows
configured to print ink of a similar type
or color, at least some nozzles in the first row being aligned with respective
corresponding nozzles in the second
row in a direction of intended media travel relative to the printhead, the
printhead module being configurable such
that the nozzles in the first and second pairs of rows are fired such that
some dots output to print media are printed
to by nozzles from the first pair of rows and at least some other dots output
to print media are printed to by
nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module comprising a plurality of rows, each of the rows
comprising a plurality of nozzles
for ejecting ink, wherein the printhead module includes at least first and
second rows configured to print ink of a
similar type or color, and being configured such that, in the event a nozzle
in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a sixth aspect the present invention provides printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
5 of the printhead.

Optionally the printer including at least one synchronization means between
the first and second printer
controllers for synchronizing the supply of dot by the printer controllers.

10 Optionally the printer configured such that the first and second printer
controllers sequentially provide the dot data
to the common input.

Optionally the printer further including a second printhead module, the
printer being configured such that: the first
printer controller outputs dot data to both the first printhead module and the
second printhead module; and the
15 second printer controller outputs dot data only to the second printhead
module.

Optionally the printhead modules are configured such that no dot data passes
between them.

Optionally each of the printer controllers is configurable to supply the dot
data to printhead modules of a plurality
20 of different lengths.

Optionally the printhead is a pagewidth printhead.

In a further aspect the present invention provides a print engine comprising:
25 a carrier;

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
30 of the printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
46
Optionally the printer including at least one synchronization means between
the first and second printer
controllers for synchronizing the supply of dot by the printer controllers.

Optionally the printer configured such that the first and second printer
controllers alternately provide the dot data
to the common input.

Optionally the printer further including a second printhead module, the
printer being configured such that: the first
printer controller outputs dot data to both the first printhead module and the
second printhead module; and the
second printer controller outputs dot data only to the second printhead
module.

Optionally the printhead modules are configured such that no dot data passes
between them.

Optionally each of the printer controllers is configurable to supply the dot
data to printhead modules of a plurality
of different lengths.

Optionally the printhead is a pagewidth printhead.

In a further aspect the present invention provides a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least first and second rows of print nozzles for expelling ink;
and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to the printhead to
supply data for the first and second rows of nozzles, respectively.

Optionally the printer including at least one synchronization means between
the first and second printer
controllers for synchronizing the supply of dot by the printer controllers.

Optionally the printhead modules are configured such that no dot data passes
between them.


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J2004/000706
47
Optionally the printhead is a pagewidth printhead.

Optionally the printer is for implementing a method of at least partially
compensating for errors in ink dot
placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead module
relative to a carrier, the nozzles being disposed on the printhead module, the
method comprising the steps of:

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer is for implementing a method of expelling ink from a
printhead module including at least
one row that comprises a plurality of adjacent sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising providing, for
each set of nozzles, a fire signal in
accordance with the sequence: [nozzle position 1, nozzle position n, nozzle
position 2, nozzle position (n-I), ... ,
nozzle position x], wherein nozzle position x is at or adjacent the centre of
the set of nozzles.

Optionally the printer is for implementing a method of expelling ink from a
printhead module including at least
one row that comprises a plurality of sets of n adjacent nozzles, each of the
nozzles being configured to expel ink
in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer is manufactured in accordance with a method of
manufacturing a plurality of printhead
modules, at least some of which are capable of being combined in pairs to form
bilithic pagewidth printheads, the
method comprising the step of laying out each of the plurality of printhead
modules on a wafer substrate, wherein
at least one of the printhead modules is right-handed and at least another is
left-handed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
48
Optionally the printer including a printhead module including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.

Optionally the printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the rust printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead'module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
49
Optionally the printer including at least one printhead module, configured for
at least partially compensating for
errors in ink dot placement by at least one of a plurality of nozzles on the
printhead module due to erroneous
rotational displacement of the printhead module relative to a carrier, the
printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer including a printhead module having a plurality of
nozzles for expelling ink, the printhead
module including a plurality of thermal sensors, each of the thermal sensors
being configured to respond to a
temperature at or adjacent at least one of the nozzles, the printer being
configured to modify operation of at least
some of the nozzles in response to the temperature rising above a first
threshold.

Optionally the printer controls a printhead comprising at least one monolithic
printhead module, the at least one
printhead module having a plurality of rows of nozzles configured to extend,
in use, across at least part of a
printable pagewidth of the printhead, the nozzles in each row being grouped
into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer including a printer controller for sending to a
printhead:
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.



CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally the printer including a printer controller for supplying data to a
printhead module including at least one
row of printhead nozzles, at least one row including at least one displaced
row portion, the displacement of the
row portion including a component in a direction normal to that of a pagewidth
to be printed.

5 Optionally the printer including a printer controller for supplying print
data to at least one printhead module
capable of printing a maximum of n of channels of print data, the at least one
printhead module being configurable
into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

10 a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer including a printer controller for supplying data to a
printhead comprising a plurality of
15 printhead modules, the printhead being wider than a reticle step used in
forming the modules, the printhead
comprising at least two types of the modules, wherein each type is determined
by its geometric shape.in plan.
Optionally the printer including a printer controller for supplying one or
more control signals to a printhead
module, the printhead module including at least one row that comprises a
plurality of sets of n adjacent nozzles,
20 each of the nozzles being configured to expel ink in response to a fire
signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

25 (d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer including a printer controller for supplying one or
more control signals to a printhead
module, the printhead module including at least one row that comprises a
plurality of adjacent sets of n adjacent
30 nozzles, each of the nozzles being configured to expel ink in response to a
fire signal, the method comprising
providing, for each set of nozzles, a fire signal in accordance with the
sequence: [nozzle position 1, nozzle


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
51
position n, nozzle position 2, nozzle position (n-1), ... , nozzle position
x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.

Optionally the printer including a printer controller for supplying dot data
to a printhead module comprising at
least first and second rows configured to print ink of a similar type or
color, at least some nozzles in the first row
being aligned with respective corresponding nozzles in the second row in a
direction of intended media travel
relative to the printhead, the printhead module being configurable such that
the nozzles in the first and second
pairs of rows are fired such that some dots output to print media are printed
to by nozzles from the first pair of
rows and at least some other dots output to print media are printed to by
nozzles from the second pair of rows, the
printer controller being configurable to supply dot data to the printhead
module for printing.

Optionally the printer including a printer controller for supplying dot data
to at least one printhead module, the at
least one printhead module comprising a plurality of rows, each of the rows
comprising a plurality of nozzles for
ejecting ink, wherein the printhead module includes at least first and second
rows configured to print ink of a
similar type or color, the printer controller being configured to supply the
dot data to the at least one printhead
module such that, in the event a nozzle in the first row is faulty, a
corresponding nozzle in the second row prints
an ink dot at a position on print media at or adjacent a position where the
faulty nozzle would otherwise have
printed it.

Optionally the printer including a printer controller for receiving first data
and manipulating the first data to
produce dot data to be printed, the print controller including at least two
serial outputs for supplying the dot data
to at least one printhead.

Optionally the printer including a printer controller for supplying data to a
printhead module including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printer including a printer controller for supplying data to a
printhead capable of printing a
maximum of n of channels of print data, the printhead being configurable into:


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J2004/000706
52
a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.


Optionally the printer including a printer controller for supplying data to a
printhead comprising a plurality of
printhead modules, the printhead being wider than a reticle step used in
forming the modules, the printhead
comprising at least two types of the modules, wherein each type is determined
by its geometric shape in plan.

Optionally the printer including a printer controller for supplying data to a
printhead module including at least one
row that comprises a plurality of sets of n adjacent nozzles, each of the
nozzles being configured to expel ink in
response to a fire signal, such that, for each set of nozzles, a fire signal
is provided in accordance with the
sequence: [nozzle position 1, nozzle position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x],
wherein nozzle position x is at or adjacent the centre of the set of nozzles.


Optionally the printer including a printer controller for supplying data to a
printhead module including at least one
row that comprises a plurality of adjacent sets of n adjacent nozzles, each of
the nozzles being configured to expel
the ink in response to a fire signal, the printhead being configured to output
ink from nozzles at a first and nth
position in each set of nozzles, and then each next inward pair of nozzles in
each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fine the central nozzle.

Optionally the printer including a printer controller for supplying data to a
printhead module for receiving dot data
to be printed using at least two different inks and control data for
controlling printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.
Optionally the printer including a printer controller for supplying data to a
printhead module including at least one
row of printhead nozzles, at least one row including at least one displaced
row portion, the displacement of the
row portion including a component in a direction normal to that of a pagewidth
to be printed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
53
Optionally the printer including a printer controller for supplying data to a
printhead module having a plurality of
rows of nozzles configured to extend, in use, across at least part of a
printable pagewidth, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.
Optionally the printer including a printer controller for supplying data to a
printhead module comprising at least
first and second rows configured to print ink of a similar type or color, at
least some nozzles in the first row being
aligned with respective corresponding nozzles in the second row in a direction
of intended media travel relative to
the printhead, the printhead module being configurable such that the nozzles
in the first and second pairs of rows
are fired such that some dots output to print media are printed to by nozzles
from the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer including a printer controller for providing data to a
printhead module that includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.


Optionally the printer including a printer controller for supplying data to a
printhead module having a plurality of
nozzles for expelling ink, the printhead module including a plurality of
thermal sensors, each of the thermal
sensors being configured to respond to a temperature at or adjacent at least
one of the nozzles, the printhead
module being configured to modify operation of the nozzles in response to the
temperature rising above a first
threshold.

Optionally the printer including a printer controller for supplying data to a
printhead module comprising a
plurality of rows, each of the rows comprising a plurality of nozzles for
ejecting ink, wherein the printhead
module includes at least first and second rows configured to print ink of a
similar type or color, and being
configured such that, in the event a nozzle in the first row is faulty, a
corresponding nozzle in the second row
prints an ink dot at a position on print media at or adjacent a position where
the faulty nozzle would otherwise
have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
54
In a seventh aspect the present invention provides a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer includes at least one synchronization means between the
first and second printer controllers
for synchronizing the supply of dot by the printer controllers.

Optionally each of the printer controllers is configurable to supply the dot
data to a printhead module of arbitrary
length.

Optionally the first and second printhead modules are equal in length.
Optionally the first and second printhead modules are unequal in length.
Optionally the printhead is a pagewidth printhead.


In a fiuther aspect the present invention provides a print engine comprising:
a carrier;

a printhead comprising first and second elongate printhead modules, the
printhead modules being mounted
parallel to each other end to end on the carrier on either side of a join
region;

at least first and second printer controllers mounted on the carrier and being
configured to receive print
data and process the print data to output dot data to the printhead, wherein
the first printer controller outputs dot
data only to the first printhead module and the second printer controller
outputs dot data only to the second
printhead module, wherein the printhead modules are configured such that no
dot data passes between them.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally the print engine includes at least one synchronization means
between the first and second printer
controllers for synchronizing the supply of dot by the printer controllers.

Optionally each of the printer controllers is configurable to supply the dot
data to a printhead module of arbitrary
5 length.

Optionally the first and second printhead modules are equal in length.
Optionally the first and second printhead modules are unequal in length.

Optionally the printhead is a pagewidth printhead.

Optionally the printer is for implementing a method of at least partially
compensating for errors in ink dot
placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead module
relative to a carrier, the nozzles being disposed on the printhead module, the
method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer is for implementing a method of expelling ink from a
printhead module including at least
one row that comprises a plurality of adjacent sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising providing, for
each set of nozzles, a fire. signal in
accordance with the sequence: [nozzle position 1, nozzle position n, nozzle
position 2, nozzle position (n-i), ... ,
nozzle position x], wherein nozzle position x is at or adjacent the centre of
the set of nozzles.

Optionally the printer is for implementing a method of expelling ink from a
printhead module including at least
one row that comprises a plurality of sets of n adjacent nozzles, each of the
nozzles being configured to expel ink
in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
56
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


Optionally the printer is manufactured in accordance with a method of
manufacturing a plurality of printhead
modules, at least some of which are capable of being combined in pairs to form
bilithic pagewidth printheads, the
method comprising the step of laying out each of the plurality of printhead
modules on a wafer substrate, wherein
at least one of the printhead modules is right-handed and at least another is
left-handed.


Optionally the printer includes a printhead module including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.


Optionally the printer comprises:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer comprises:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
57
Optionally the printer comprises:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the fast printer controller.

Optionally the printer comprises at least one printhead module, configured for
at least partially compensating for
errors in ink dot placement by at least one of a plurality of nozzles on the
printhead module due to erroneous
rotational displacement of the printhead module relative to a carrier, the
printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer comprises a printhead module having a plurality of
nozzles for expelling ink, the printhead
module including a plurality of thermal sensors, each of the thermal sensors
being configured to respond to a
temperature at or adjacent at least one of the nozzles, the printer being
configured to modify operation of at least
some of the nozzles in response to the temperature rising above a first
threshold.

Optionally the printer controls a printhead comprising at least one monolithic
printhead module, the at least one
printhead module having a plurality of rows of nozzles configured to extend,
in use, across at least part of a
printable pagewidth of the printhead, the nozzles in each row being grouped
into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
58
Optionally the printer includes a printer controller for sending to a
printhead:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row of printhead nozzles, at least one row including at least one displaced
row portion, the displacement of the
row portion including a component in a direction normal to that of a pagewidth
to be printed.

Optionally the printer includes a printer controller for supplying print data
to at least one printhead module
capable of printing a maximum of n of channels of print data, the at least one
printhead module being configurable
into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally the printer includes a printer controller for supplying data to a
printhead comprising a plurality of
printhead modules, the printhead being wider than a reticle step used in
forming the modules, the printhead
comprising at least two types of the modules, wherein each type is determined
by its geometric shape in plan.

Optionally the printer includes a printer controller for supplying one or more
control signals to a printhead
module, the printhead module including at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
59
(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer includes a printer controller for supplying one or more
control signals to a printhead
module, the printhead module including at least one row that comprises a
plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being configured to expel ink in response to a
fire signal, the method comprising
providing, for each set of nozzles, a fire signal in accordance with the
sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle position (n-1), ... , nozzle position
x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.

Optionally the printer includes a printer controller for supplying dot data to
a printhead module comprising at least
first and second rows configured to print ink of a similar type or color, at
least some nozzles in the first row being
aligned with respective corresponding nozzles in the second row in a direction
of intended media travel relative to
the printhead, the printhead module being configurable such that the nozzles
in the first and second pairs of rows
are fired such that some dots output to print media are printed to by nozzles
from the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer includes a printer controller for supplying dot data to
at least one printhead module, the at
least one printhead module comprising a plurality of rows, each of the rows
comprising a plurality of nozzles for
ejecting ink, wherein the printhead module includes at least first and second
rows configured to print ink of a
similar type or color, the printer controller being configured to supply the
dot data to the at least one printhead
module such that, in the event a nozzle in the first row is faulty, a
corresponding nozzle in the second row prints
an ink dot at a position on print media at or adjacent a position where the
faulty nozzle would otherwise have
printed it.

Optionally the printer includes a printer controller for receiving first data
and manipulating the first data to
produce dot data to be printed, the print controller including at least two
serial outputs for supplying the dot data
to at least one printhead.

Optionally the printer includes a printer controller for supplying data to a
printhead module including:
at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

5 Optionally the printer includes a printer controller for supplying data to a
printhead capable of printing a
maximum of n of channels of print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
10 channels, wherein the first number is greater than the second number.

Optionally the printer includes a printer controller for supplying data to a
printhead comprising a plurality of
printhead modules, the printhead being wider than a reticle step used in
forming the modules, the printhead
comprising at least two types of the modules, wherein each type is determined
by its geometric shape in plan.

Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row that comprises a plurality of sets of n adjacent nozzles, each of the
nozzles being configured to expel ink in
response to a fire signal, such that, for each set of nozzles, a fire signal
is provided in accordance with the
sequence: [nozzle position 1, nozzle position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x],
wherein nozzle position x is at or adjacent the centre of the set of nozzles.

Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row that comprises a plurality of adjacent sets of n adjacent nozzles, each of
the nozzles being configured to expel
the ink in response to a fire signal, the printhead being configured to output
ink from nozzles at a first and nth
position in each set of nozzles, and then each next inward pair of nozzles in
each set, until:
in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.

Optionally the printer includes a printer controller for supplying data to a
printhead module for receiving dot data
to be printed using at least two different inks and control data for
controlling printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
61
Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row of printhead nozzles, at least one row including at least one displaced
row portion, the displacement of the
row portion including a component in a direction normal to that of a pagewidth
to be printed.


Optionally the printer includes a printer controller for supplying data to a
printhead module having a plurality of
rows of nozzles configured to extend, in use, across at least part of a
printable pagewidth, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.
Optionally the printer includes a printer controller for supplying data to a
printhead module comprising at least
first and second rows configured to print ink of a similar type or color, at
least some nozzles in the first row being
aligned with respective corresponding nozzles in the second row in a direction
of intended media travel relative to
the printhead, the printhead module being configurable such that the nozzles
in the first and second pairs of rows
are fired such that some dots output to print media are printed to by nozzles
from the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer includes a printer controller for providing data to a
printhead module that includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data
supplied'from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printer includes a printer controller for supplying data to a
printhead module having a plurality of
nozzles for expelling ink, the printhead module including a plurality of
thermal sensors, each of the thermal
sensors being configured to respond to a temperature at or adjacent at least
one of the nozzles, the printhead
module being configured to modify operation of the nozzles in response to the
temperature rising above a first
threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
62
Optionally the printer includes a printer controller for supplying data to a
printhead module comprising a plurality
of rows, each of the rows comprising a plurality of nozzles for ejecting ink,
wherein the printhead module
includes at least first and second rows configured to print ink of a similar
type or color, and being configured such
that, in the event a nozzle in the first row is faulty, a corresponding nozzle
in the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
In an eighth aspect the present invention provides a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


Optionally the printhead modules are configured such that no dot data passes
between them.

Optionally the printer includes at least one synchronization means between the
first and second printer controllers
for synchronizing the supply of dot data by the printer controllers.

Optionally each of the printer controllers is configurable to supply the dot
data to printhead modules of a plurality
of different lengths.

Optionally the printhead is a pagewidth printhead.

In a further aspect the present invention provides a print engine comprising:
a carrier;

a printhead comprising first and second elongate printhead modules, the
printhead modules being
mounted parallel to each other end to end on the carver on either side of a
join region, wherein the first printhead
module is longer than the second printhead module;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
63
at least first and second printer controllers mounted on the carrier and being
configured to receive print
data and process the print data to output dot data to the printhead, wherein:
the first printer controller outputs dot
data to both the first printhead module and the second printhead module; and
the second printer controller outputs
dot data only to the second printhead module.


Optionally the printhead modules are configured such that no dot data passes
between them.

Optionally the print engine includes at least one synchronization means
between the first and second printer
controllers for synchronizing the supply of dot by the printer controllers.


Optionally each of the printer controllers is configurable to supply the dot
data to printhead modules of a plurality
of different lengths.

Optionally the printhead is a pagewidth printhead.

Optionally the printer is for implementing a method of at least partially
compensating for errors in ink dot
placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead module
relative to a carrier, the nozzles being disposed on the printhead module, the
method comprising the steps of.

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer is for implementing a method of expelling ink from a
printhead module including at least
one row that comprises a plurality of adjacent sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising providing, for
each set of nozzles, a fire signal in
accordance with the sequence: [nozzle position 1, nozzle position n, nozzle
position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle position x is at or adjacent the centre of
the set of nozzles.



CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
64
Optionally the printer is for implementing a method of expelling ink from a
printhead module including at least
one row that comprises a plurality of sets of n adjacent nozzles, each of the
nozzles being configured to expel ink
in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer is manufactured in accordance with a method of
manufacturing a plurality of printhead
modules, at least some of which are capable of being combined in pairs to form
bilithic pagewidth printheads, the
method comprising the step of laying out each of the plurality of printhead
modules on a wafer substrate, wherein
at least one of the printhead modules is right-handed and at least another is
left-handed.

Optionally the printer includes a printhead module including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.

Optionally the printer includes:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer includes:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer includes:

5 a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
10 module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer includes at least one printhead module, configured for
at least partially compensating for
15 errors in ink dot placement by at least one of a plurality of nozzles on
the printhead module due to erroneous
rotational displacement of the printhead module relative to a carrier, the
printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
20 least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer includes a printhead module having a plurality of
nozzles for expelling ink, the printhead
module including a plurality of thermal sensors, each of the thermal sensors
being configured to respond to a
25 temperature at or adjacent at least one of the nozzles, the printer being
configured to modify operation of at least
some of the nozzles in response to the temperature rising above a first
threshold.

Optionally the printer controls a printhead comprising at least one monolithic
printhead module, the at least one
printhead module having a plurality of rows of nozzles configured to extend,
in use, across at least part of a
30 printable pagewidth of the printhead, the nozzles in each row being grouped
into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J2004/000706
66
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer includes a printer controller for sending to a
printhead:
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row of printhead nozzles, at least one row including at least one displaced
row portion, the displacement of the
row portion including a component in a direction normal to that of a pagewidth
to be printed.

Optionally the printer includes a printer controller for supplying print data
to at least one printhead module
capable of printing a maximum of n of channels of print data, the at least one
printhead module being configurable
into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer includes a printer controller for supplying data to a
printhead comprising a plurality of
printhead modules, the printhead being wider than a reticle step used in
forming the modules, the printhead
comprising at least two types of the modules, wherein each type is determined
by its geometric shape in plan.
Optionally the printer includes a printer controller for supplying one or more
control signals to a printhead
module, the printhead module including at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
67
(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;

(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer includes a printer controller for supplying one or more
control signals to a printhead
module, the printhead module including at least one row that comprises a
plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being configured to expel ink in response to a
fire signal, the method compri sing
providing, for each set of nozzles, a fire signal in accordance with the
sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle position (n-I), ... , nozzle positionx],
wherein nozzle position x is at or
adjacent the centre of the set of nozzles.

Optionally the printer includes a printer controller for supplying dot data to
a printhead module comprising at least
first and second rows configured to print ink of a similar type or color, at
least some nozzles in the first row being
aligned with respective corresponding nozzles in the second row in a direction
of intended media travel relative to
the printhead, the printhead module being configurable such that the nozzles
in the first and second pairs of rows
are fired such that some dots output to print media are printed to by nozzles
from the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer includes a printer controller for supplying dot data to
at least one printhead module, the at
least one printhead module comprising a plurality of rows, each of the rows
comprising a plurality of nozzles for
ejecting ink, wherein the printhead module includes at least first and second
rows configured to print ink of a
similar type or color, the printer controller being configured to supply the
dot data to the at least one printhead
module such that, in the event a nozzle in the first row is faulty, a
corresponding nozzle in the second row prints
an ink dot at a position on print media at or adjacent a position where the
faulty nozzle would otherwise have
printed it.

Optionally the printer includes a printer controller for receiving first data
and manipulating the first data to
produce dot data to be printed, the print controller including at least two
serial outputs for supplying the dot data
to at least one printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
68
Optionally the printer includes a printer controller for supplying data to a
printhead module including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printer includes a printer controller for supplying data to a
printhead capable of printing a
maximum of n of channels of print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.

Optionally the printer includes a printer controller for supplying data to a
printhead comprising a plurality of
printhead modules, the printhead being wider than a reticle step used in
forming the modules, the printhead
comprising at least two types of the modules, wherein each type is determined
by its geometric shape in plan.
Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row that comprises a plurality of sets of n adjacent nozzles, each of the
nozzles being configured to expel ink in
response to a fire signal, such that, for each set of nozzles, a fire signal
is provided in accordance with the
sequence: [nozzle position 1, nozzle position n, nozzle position 2, nozzle
position (n-1), ... , nozzle positionx],
wherein nozzle position x is at or adjacent the centre of the set of nozzles.

Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row that comprises a plurality of adjacent sets of n adjacent nozzles, each of
the nozzles being configured to expel
the ink in response to a fire signal, the printhead being configured to output
ink from nozzles at a first and nth
position in each set of nozzles, and then each next inward pair of nozzles in
each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
69
Optionally the printer includes a printer controller for supplying data to a
printhead module for receiving dot data
to be printed using at least two different inks and control data for
controlling printing of the dot data, the printhead
module including a communication input for receiving the dot data for the at
least two colors and the control data.

Optionally the printer includes a printer controller for supplying data to a
printhead module including at least one
row of printhead nozzles, at least one row including at least one displaced
row portion, the displacement of the
row portion including a component in a direction normal to that of a pagewidth
to be printed.

Optionally the printer includes a printer controller for supplying data to a
printhead module having a plurality of
rows of nozzles configured to extend, in use, across at least part of a
printable pagewidth, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row.
Optionally the printer includes a printer controller for supplying data to a
printhead module comprising at least
first and second rows configured to print ink of a similar type or color, at
least some nozzles in the first row being
aligned with respective corresponding nozzles in the second row in a direction
of intended media travel relative to
the printhead, the printhead module being configurable such that the nozzles
in the first and second pairs of rows
are fired such that some dots output to print media are printed to by nozzles
from the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer includes a printer controller for providing data to a
printhead module that includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printer includes a printer controller for supplying data to a
printhead module having a plurality of
nozzles for expelling ink, the printhead module including a plurality of
thermal sensors, each of the thermal
sensors being configured to respond to a temperature at or adjacent at least
one of the nozzles, the printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
module being configured to modify operation of the nozzles in response to the
temperature rising above a first
threshold.

Optionally the printer includes a printer controller for supplying data to a
printhead module comprising a plurality
5 of rows, each of the rows comprising a plurality of nozzles for ejecting
ink, wherein the printhead module
includes at least first and second rows configured to print ink of a similar
type or color, and being configured such
that, in the event a nozzle in the first row is faulty, a corresponding nozzle
in the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.

10 In a ninth aspect the present invention provides a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
15 output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

20 Optionally the printhead modules are configured such that no dot data
passes between them.

Optionally the printer includes at least one synchronization means between the
first and second printer controllers
for synchronizing the supply of dot data by the printer controllers.

25 Optionally each of the printer controllers is configurable to supply the
dot data to printhead modules of a plurality
of different lengths.

Optionally the printhead is a pagewidth printhead.

30 In a further aspect the present invention provides a print engine
comprising:
a carrier;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
71
a printhead comprising first and second elongate printhead modules, the
printhead modules being mounted
parallel to each other end to end on the carrier on either side of a join
region, wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printhead modules are configured such that no dot data passes
between them.

Optionally the print engine includes at least one synchronization means
between the first and second printer
controllers for synchronizing the supply of dot by the printer controllers.

Optionally each of the printer controllers is configurable to supply the dot
data to printhead modules of a plurality
of different lengths.

Optionally the printhead is a pagewidth printhead.

Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carrier, the nozzles being disposed on the printhead
module, the method comprising the steps
of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
72
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.
Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
73
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of therrnal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
74
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a fast mode, in which the printhead module is configured to receive data for a
first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.



CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
5 (b) a fire signal is provided to the next inward pair of nozzles in each
set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.


Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
76
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.


Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
77
in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.


Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
78
Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.


Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In a tenth aspect the present invention provides printer controller for
supplying dot data to at least one printhead
module and at least partially compensating for errors in ink dot placement by
at least one of a plurality of nozzles
on the printhead module due to erroneous rotational displacement of the
printhead module relative to a carrier, the
printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally, the nozzles are disposed in a plurality of rows, and the printer
controller is configured to reallocate at
least one of the ink dots from at least one original print line to at least
one alternate print line, thereby to effect the
at least partial compensation.

Optionally the printer controller is configured to retrieve the correction
factor from a memory associated with the
printhead.

Optionally, the memory is mounted with the printhead, the printhead being
mounted on the print engine.

Optionally, the rotational displacement is roll.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
79
Optionally, the rotational displacement is yaw.

Optionally, the printhead module being one of a plurality of printhead modules
mounted on a carrier to form a
printhead and the error in ink dot placement being an error relative to ink
dots output by one or more of the other
printhead modules

Optionally, the printhead module is part of a printhead comprising a plurality
of the modules, the printer controller
being configured to determine an order in which at least some of the dot data
is supplied to a plurality of the
printhead modules, the order being determined at least partly on the basis of
one or more of the correction factors,
thereby to at least partially compensate for the rotational displacement of
the plurality of the printheads.
Optionally, the correction factor is at least partially based on a thickness
of media being printed on.

Optionally the printer controller configured to at least improve first order
continuity between ink dots printed by
adjacent printhead modules.

Optionally a print engine including the print controller according and a
plurality of the printhead modules that
define a printhead, the print engine being configured to compensate for the
rotational displacement of at least one
of the printhead modules.

Optionally the print engine further including a memory for storing the
correction factor in a form accessible to the
printer controller.

Optionally the print engine is configured to alter a timing of fire signals
supplied to at least one of the nozzles on
the basis of the correction factor, thereby to further effect the at least
partial compensation.

Optionally the print engine is configured to supply the altered fire signals
are to both reallocated ink dots and non-
reallocated ink dots.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally the printhead is a pagewidth printhead.

Optional a printer including a printer controller for supplying dot data to at
least one printhead module and at least
partially compensating for errors in ink dot placement by at least one of a
plurality of nozzles on the printhead
5 module due to erroneous rotational displacement of the printhead module
relative to a carrier, the printer being
configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
10 least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer further including a pagewidth printhead comprising a
plurality of the printhead modules.
15 Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carrier, the nozzles being disposed on the printhead
module, the method comprising the steps
of.

(a) determining the rotational displacement;

20 (b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

25 Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x), wherein nozzle position xis at or
adjacent the centre of the set of nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
81
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printer controller for supplying data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
82
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
83
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.


Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to at least one printhead
module capable of printing a maximum of
n of channels of print data, the at least one printhead module being
configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
84
(c) in the event is is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.


Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulates the
first data to produce dot data to be printed,
the print controller including at least two serial outputs for supplying the
dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

5 Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
10 channels, wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and
then to fire the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
86
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.


Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
87
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In an eleventh aspect the present invention provides printer controller for
supplying dot data to a printhead
module having a plurality of nozzles for expelling ink, the printhead module
including a plurality of thermal
sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least one of the
nozzles, the printer controller being configured to modify operation of at
least some of the nozzles in response to
the temperature rising above a first threshold.

Optionally the printer controller is configured to modify the operation of the
nozzles at or adjacent the at least one
thermal sensor, such that operation of nozzles not at or adjacent the at least
one thermal sensor is not modified.
Optionally each thermal sensor is associated with a predetermined group of the
nozzles, the printer controller
being configured to modify operation of the nozzles in the predetermined group
for which the temperature has
risen above the first threshold.

Optionally each thermal sensor is associated with a single nozzle.

Optionally the modification includes the printer controller preventing
operation of the nozzle.

Optionally the modification includes the printer controller preventing
operation of the nozzle for a predetermined
period.

Optionally the modification includes the printer controller preventing
operation of the nozzle until the temperature
drops below a second threshold.

Optionally the second threshold is lower than the first threshold.
Optionally the second threshold is the same as the first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
88
Optionally the temperature is not determined explicitly by the at least one
thermal sensor or the module.
Optionally each of the nozzles including a thermal ink ejection mechanism.


Optionally the thermal sensor comprises at least part of one of the thermal
inkjet mechanisms.
Optionally the thermal sensor comprises a heating element.

Optionally the thermal sensor determines the temperature by determining a
resistance of the heating element.
Optionally the printer controller is configured to:

receive thermal information from the at least one thermal sensor;
determine the modification based on the thermal information; and

send control information back to the printhead module, the control information
being indicative of the
modification to make to the operation of the one or more nozzles.

Optionally a print engine including a printer controller configured to:
receive thermal information from the at least one thermal sensor;
determine the modification based on the thermal information; and

send control information back to the printhead module, the control information
being indicative
of the modification to make to the operation of the one or more nozzles; and

a printhead module, wherein the printhead module further includes a plurality
of data latches,
the data latches being configured to provide dot data to respective ones of
the nozzles, at least some of the data
latches being configured to receive thermal signals from respective ones of
the thermal sensors during an
acquisition period.

Optionally the data latches are configured to form a shift register, the shift
register being configured to:
shift the print data in during a print load phase;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
89
sample the signals from the thermal sensors during a temperature load phase;
and

shift the thermal signals out to the printer controller during an output
phase.
Optionally the output phase coincides with a subsequent print load phase.

Optionally the print engine further includes logic circuitry configured to
perform a bitwise operation on: each
thermal signal as it is clocked out of the shift register; and each piece of
dot data to be clocked into the shift
register, such that when a thermal signal is indicative of a thermal problem
with a nozzle, the logic circuitry
prevents loading of data that would cause firing of that nozzle.


Optionally the logic circuitry includes an AND circuit that receives as inputs
the dot data and the thermal signal
corresponding to the nozzle for which the dot data is intended, an output of
the AND circuit being in
communication with an input of the shift register.

Optionally each thermal sensor is associated with a pair of the nozzles.

Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carrier, the nozzles being disposed on the printhead
module, the method comprising the steps
of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

5 (a) providing a fire signal to nozzles at a first and nth position in each
set of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
91
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the. printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one
printhead modules, the order being determined at least partly on the basis of
the correction factor, thereby to at
least partially compensate for the rotational displacement; and

supply the dot data to the printhead module.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
92
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output
being configured to output at least some of the control data and at least some
of the dot data for the at least two
inks.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of
the channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
93
Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle positionx], wherein nozzle positionx is at
or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
94
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the
channels, wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-/), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
5 least two different inks and control data for controlling printing of the
dot data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
10 including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
15 the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
20 configured to print ink of a similar type or color, at least some nozzles
in the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each
shift register feeds dot data to a group of nozzles, and wherein each of the
groups of the nozzles is interleaved
with at least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
96
Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.


Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

Optionally the printer controller further includes a logic circuit accepting
as inputs a masking signal and the
thermal signal corresponding to the nozzle for which the dot data is intended,
the logic circuit outputting the
thermal signal to the input of the AND circuit in reliance on a value of the
masking signal.

Optionally the value of the masking signal enables masking of the thermal
signal for at least one nozzle position,
including the nozzle for which the current dot data is intended.

Optionally the value of the masking signal enables masking of the thermal
signal for a plurality of nozzle
positions corresponding to a region of the printhead associated the nozzle for
which the current dot data is
intended.

Optionally the value of the masking signal enables masking of the thermal
signal for all of the nozzle positions of
the printhead.

In a twelfth aspect the present invention provides a printer controller for
controlling a printhead comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
97
Optionally the one or more control signals include a fire control sequence
indicative of a first fire group to be
fired.

Optionally, the printhead being configured to shift the fire control sequence
through a shift register to cause
subsequent firing of the second and any other fire groups, wherein the printer
controller is configured to provide
the fire control sequence during an initiation phase of the printhead, such
that the fire control sequence does not
need to be repeatedly provided by the printer controller while printing is
taking place.

Optionally, the printhead being configured to shift the fire control sequence
through a shift register to cause
subsequent firing of the second and any other fire groups, wherein the printer
controller is configured to provide
the fire control sequence periodically during printing.

Optionally the printhead being configured to provide the fire control sequence
on a per row or per print-line basis.

Optionally the printhead being configured to provide a fire enable signal in
addition to the one or more fire control
signals, such that the combination of the fire enable and fire control signals
cause selected ones of the nozzles to
fire in the predetermined sequence and in accordance with a predetermined
timing.

In a further aspect the present invention provides a print engine including a
printhead and a printer controller, the
printhead comprising at least one monolithic printhead module, the at least
one printhead module having a
plurality of rows of nozzles configured to extend, in use, across at least
part of a printable pagewidth of the
printhead, the nozzles in each row being grouped into at least first and
second fire groups, the printhead module
being configured to sequentially fire, for each row, the nozzles of each fire
group, such that each nozzle in the
sequence from each fire group is fired simultaneously with respective
corresponding nozzles in the sequence in
the other fire groups, wherein the nozzles are fired row by row such that the
nozzles of each row are all fired
before the nozzles of each subsequent row, wherein the printer controller is
configured to provide one or more
control signals that control the order of firing of the nozzles.

Optionally the one or more control signals include a fire control sequence
indicative of a first fire group to be
fired.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
98
Optionally the printhead being configured to shift the fire control sequence
through a shift register to cause
subsequent firing of the second and any other fire groups, wherein the printer
controller is configured to provide
the fire control sequence during an initiation phase of the printhead, such
that the fire control sequence does not
need to be repeatedly provided by the printer controller while printing is
taking place.


Optionally, the printhead being configured to shift the fire control sequence
through a shift register to cause
subsequent firing of the second and any other fire groups, wherein the printer
controller is configured to provide
the fire control sequence periodically during printing.

Optionally the print engine being configured to provide the fire control
sequence on a per row or per print-line
basis.

Optionally the print engine being configured to provide a fire enable signal
in addition to the one or more fire
control signals, such that the combination of the fire enable and fire control
signals cause selected ones of the
nozzles to fire in the predetermined sequence and in accordance with a
predetermined timing.

Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carrier, the nozzles being disposed on the printhead
module, the method comprising the steps
of.

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: (nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
99
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one
rows, wherein each print nozzle obtains dot data to be fired from an element
of one of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
100
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
101
Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.


Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.


Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a fast and nth position in each
set of nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
102
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle positionx is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.
Optionally the printer controller supplies data to a printhead module
including:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
103
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
positionx is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
104
Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.


Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
105
Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

Optionally the printhead module includes a plurality of pairs of the rows,
each pair of rows including an odd row
and an even row, the odd and even rows in each pair being offset from each
other in both x and y directions
relative to an intended direction of print media movement relative to the
printhead, the printer controller being
configured to control the at least one printhead module to cause firing of at
least a plurality of the odd rows prior
to firing any of the even rows, or vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.

Optionally the printer controller configurable to control the printhead module
such that the odd rows, or the even
rows, or both, are fired in a predetermined order.

Optionally the printer controller configurable such that the predetermined
order is selectable from a plurality of
predetermined available orders.

Optionally the predetermined order is sequential.

Optionally the printer controller configurable such that the predetermined
order can commence at any of a
plurality of the rows.

In a thirteenth aspect the present invention provides a printer controller for
outputting to a printhead module:
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
106
Optionally the communication output is configured to output the dot data and
control data serially.

Optionally the printer controller further includes a plurality of the
communication outputs.

Optionally the printer controller further includes a plurality of the
communication outputs.

Optionally a print engine comprising a print controller and a plurality of
printhead modules, the printhead
modules being disposed end to end for printing a width exceeding that of any
of the individual printhead modules,
the communications input of each of the printhead modules being connected to a
common dot data and control
data bus, the common dot data and control data bus being in functional
communication with the communication
output.

Optionally each module is configured to respond to dot data and control data
on the bus only when it is intended
for that module.

Optionally a printer incorporating a print engine comprising a print
controller and a plurality of printhead
modules, the printhead modules being disposed end to end for printing a width
exceeding that of any of the
individual printhead modules, the communications input of each of the
printhead modules being connected to a
common dot data and control data bus, the common dot data and control data bus
being in functional
communication with the communication output.

Optionally a printer incorporating a print controller for outputting to a
printhead module:
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printhead modules together form a pagewidth printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
107
Optionally the printer further including a pagewidth printhead comprising a
plurality of the printhead modules.
Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carver, the nozzles being disposed on the printhead
module, the method comprising the steps
of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
108
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.
Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


Optionally the printer controller is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
109
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
110
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-I), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J20041000706
111
Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
prirnhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
112
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-/), ... ,
nozzle position x), wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and.then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
113
Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller provides data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.


In a fourteenth aspect the present invention provides a printer controller for
supplying data to a printhead module
including at least one row of printhead nozzles, at least one row including at
least one displaced row portion, the
displacement of the row portion including a component in a direction normal to
that of a pagewidth to be printed,
the printer controller being configured to control order and timing of the
data supplied to the printhead such that
the dropped row is compensated for during printing by the printhead module.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
114
Optionally the displaced row portion is disposed adjacent one end of the
printhead module.

Optionally the printhead module includes a plurality of the rows, wherein each
of at least a plurality of the rows
includes one of the displaced row portions.


Optionally the displaced row portions of at least some of the rows are
different in length than the displaced row
portions of at least some of the other rows.

Optionally each of the rows has a displaced row portion, and the sizes of the
respective displaced row portions
increase from row to row in the direction normal to that of the pagewidth to
be printed.

Optionally the printer controller supplies the data to a printhead comprising
a plurality of the printhead modules.
Optionally the printer controller supplies data to a printhead comprising a
plurality of the printhead modules,
wherein the displaced row portion of at least one of the printhead modules is
disposed adjacent another of the
printhead modules.

Optionally the printhead modules are the same shape and configuration as each
other, and are arranged end to end
across the intended print width.


Optionally, the printhead being a pagewidth printhead.
Optionally, the printhead being a pagewidth printhead.

Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carver, the nozzles being disposed on the printhead
module, the method comprising the steps
of:

(a) determining the rotational displacement;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
115
(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-!), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
1
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagcwidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.


Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printer controller is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
116
a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller, and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
117
Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
118
a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.


Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
119
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.

Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
120
Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
121
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In a fifteenth aspect the present invention provides printer controller for
supplying print data to at least one
printhead module capable of printing a maximum of n of channels of print data,
the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally the first number is n.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
122
Optionally the first number is less than n.

Optionally the printhead module is configurable into at least one other mode,
in which the at least one printhead
module is configured to receive print data for a third number of print
channels other than the first and second
numbers, the printer controller being selectively configurable to supply the
print data for the third number of print
channels.

Optionally n is 4 and the second number is less than 4.

Optionally n is 5 and the second number is less than 5.
Optionally n is 6 and the second number is less than 6.
Optionally the second number is 3, 4 or 5.

Optionally the print engine includes the print controller for supplying print
data to at least one printhead module
capable of printing a maximum of n of channels of print data, the at least one
printhead module being configurable
into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes;
and the at least one printhead module.

Optionally the mode is selected based on the contents of a memory associated
with the at least one printhead
module.

Optionally the memory is a register.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
123
Optionally the register is on an integrated circuit forming part of the print
engine.

Optionally the printer includes a printer controller for supplying print data
to at least one printhead module
capable of printing a maximum of n of channels of print data, the at least one
printhead module being configurable
into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer includes a print engine including the print controller
for supplying print data to at least one
printhead module capable of printing a maximum of n of channels of print data,
the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes;
and the at least one printhead module.

Optionally the printer includes a printer controller for supplying print data
to at least one printhead module
capable of printing a maximum of n of channels of print data, the at least one
printhead module being configurable
into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes; and


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
124
including a pagewidth printhead comprising a plurality of the printhead
modules capable of printing a maximum
of n of channels of print data, the at least one printhead module being
configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller for implementing a method of at least
partially compensating for errors in ink dot
placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead module
relative to a carrier, the nozzles being disposed on the printhead module, the
method comprising the steps of
(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer controller for implementing a method of expelling ink
from a printhead module including at
least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x], wherein nozzle position x is at or
adjacent the centre of the set of nozzles.
Optionally the printer controller for implementing a method of expelling ink
from a printhead module including at
least one row that comprises a plurality of sets of n adjacent nozzles, each
of the nozzles being configured to expel
ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
125
Optionally the printer controller manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printer controller installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.
Optionally a printer controller installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
126
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


Optionally the printer controller installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.


Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
127
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.
Optionally the printer controller outputs to a printhead module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controllers supplies one or more control signals to a
printhead module, the printhead
module including at least one row that comprises a plurality of sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
128
Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
129
a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.


Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
130
Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a 'similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.


Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In a sixteenth aspect the present invention provides a printer controller for
supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
131
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead comprises a plurality of at least one of the types of
module.

Optionally the printhead comprises a plurality of each of at least two of the
types of module.
Optionally the printhead comprises two types of the module.

Optionally the two types of module alternate across a print width of the
printhead.

Optionally, each of the modules including at least one row of print nozzles,
wherein each of the at least one row of
print nozzles includes at least a portion that extends at an acute angle to an
intended relative direction of
movement between the printhead and print media.


Optionally the different types of modules are configured, and arranged
relative to each other, such that there is
substantially no growth in offset of each of the at least one row of print
nozzles in a direction across an intended
print width of the printhead.

Optionally each of the printhead modules is a monolithic integrated circuit.

Optionally, each of the modules including at least one row of print nozzles,
wherein each of the at least one rows
includes at least two sub-rows, each of the sub-rows being parallel to each
other and displaced relative to each
other in a direction of intended movement of print media relative to the
printhead.

Optionally at least one row in each of the printhead modules prints an ink
corresponding to at least one row on an
adjacent printhead module, wherein the corresponding rows of at least two of
the different printhead modules are
offset from each other in a direction of intended movement of print media
relative to the printhead,

Optionally the printhead being a pagewidth printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
132
Optionally the printhead being a pagewidth printhead.

Optionally, the printhead being a pagewidth printhead.

Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carrier, the nozzles being disposed on the printhead
module, the method comprising the steps
of:

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x3, wherein nozzle position x is at or
adjacent the centre of the set of nozzles.
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
133
Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.


Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.


Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
134
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and
supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
135
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
136
Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
137
Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.


Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
138
Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.


Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
139
In a seventeenth aspect the present invention provides printer controller for
supplying one or more control signals
to a printhead module, the printhead module including at least one row that
comprises a plurality of sets of n
adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module includes a plurality of the rows of nozzles,
the printer controller being configured
to control the printhead module such that steps (a) to (d) are repeated for
each of the rows of nozzles.

Optionally the rows are disposed in pairs.

Optionally the rows in each pair of rows are offset relative to each other.
Optionally each pair of rows is configured to print the same color ink.
Optionally each pair of rows is connected to a common ink source.

Optionally the sets of nozzles are adjacent each other.

Optionally the sets of nozzles are separated by an intermediate nozzle, the
intermediate nozzle being fired either
prior to the nozzle at position 1 in each set, or following the nozzle at
position n.

Optionally the printhead module is one of a plurality of printhead modules
that form a pagewidth printhead, the
printer controller being configure to supply the control signals to at least a
plurality of the printhead modules.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
140
Optionally the printer controller is for implementing a method of at least
partially compensating for errors in ink
dot placement by at least one of a plurality of nozzles due to erroneous
rotational displacement of a printhead
module relative to a carrier, the nozzles being disposed on the printhead
module, the method comprising the steps
of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being
configured to expel ink in response to a fire signal, the method comprising
providing, for each set of nozzles, a
fire signal in accordance with the sequence: [nozzle position 1, nozzle
position n, nozzle position 2, nozzle
position (n-1), ... , nozzle position x), wherein nozzle position xis at or
adjacent the centre of the set of nozzles.
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of.

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printer controller supplies data to a printhead module
including:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
141
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
142
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the.print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller, and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
143
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
144
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
145
Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
146
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.


Optionally the printhead module includes a plurality of the rows, the printer
controller being configured to cause
firing of each nozzle in each row simultaneously with the nozzle or nozzles at
the same position in the other rows.
Optionally the printer controller includes a plurality of pairs of the rows,
each pair of rows including an odd row
and an even row, the odd and even rows in each pair being offset from each
other in both x and y directions
relative to an intended direction of print media movement relative to the
printhead, the printer controller being
configured to control the at least one printhead module to cause firing of at
least a plurality of the odd rows prior
to firing any of the even rows, or vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
147
Optionally the printer controller is configured to control the printhead such
that the odd rows, or the even rows, or
both, are fired in a predetermined order.

Optionally the printer controller is configurable such that the predetermined
order is selectable from a plurality of
predetermined available orders.

Optionally the predetermined order is sequential.

Optionally the printer controller is configurable such that the predetermined
order can commence at any of a
plurality of the rows.

In an eighteenth aspect the present invention provides printer controller for
supplying one or more control signals
to a printhead module, the printhead module including at least one row that
comprises a plurality of adjacent sets
of n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, the method
comprising providing, for each set of nozzles, a fire signal in accordance
with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2, nozzle position (n-!), ... , nozzle
position x], wherein nozzle position x is at
or adjacent the centre of the set of nozzles.

Optionally the printer controller is configured to cause the nozzle at each
given position within the set to be fired
simultaneously with the nozzles in the other sets at respective corresponding
positions.

Optionally the printhead module includes a plurality of the rows of nozzles,
the printer controller being configured
to control the printhead module such that the steps are repeated for each of
the rows of nozzles.

Optionally the rows are disposed in pairs.

Optionally the rows in each pair of rows are offset relative to each other.
Optionally each pair of rows is configured to print the same color ink.


CA 02716065 2010-09-24

WO 2005/120835 PCTUAU2004/000706
148
Optionally each pair of rows is connected to a common ink source.

Optionally the sets of nozzles are adjacent each other.

Optionally the sets of nozzles are separated by an intermediate nozzle, the
intermediate nozzle being fired either
prior to the nozzle at position 1 in each set, or following the nozzle at
position n.

Optionally the printhead module is one of a plurality of printhead modules
that form a pagewidth printhead, the
printer controller being configure to supply the control signals to at least a
plurality of the printhead modules.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of.

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printer controller is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
149
a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
150
Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
151
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
152
Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
153
Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
154
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

Optionally the printhead module includes a plurality of the rows, the printer
controller being configured to cause
firing of each nozzle in each row simultaneously with the nozzle or nozzles at
the same position in the other rows.
Optionally the printer controller includes a plurality of pairs of the rows,
each pair of rows including an odd row
and an even row, the odd and even rows in each pair being offset from each
other in both x and y directions
relative to an intended direction of print media movement relative to the
printhead, the printer controller being
configured to control the at least one printhead module to cause firing of at
least a plurality of the odd rows prior
to firing any of the even rows, or vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.

Optionally the printer controller is configured to control the printhead such
that the odd rows, or the even rows, or
both, are fired in a predetermined order.

Optionally the printer controller is configurable such that the predetermined
order is selectable from a plurality of
predetermined available orders.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
155
Optionally the predetermined order is sequential.

Optionally the printer controller is configurable such that the predetermined
order can commence at any of a
plurality of the rows.

In a nineteenth aspect the present invention provides a printer controller for
supplying dot data to a printhead
module comprising at least first and second rows configured to print ink of a
similar type or color, at least some
nozzles in the first row being aligned with respective corresponding nozzles
in the second row in a direction of
intended media travel relative to the printhead, the printhead module being
configurable such that the nozzles in
the first and second pairs of rows are fired such that some dots output to
print media are printed to by nozzles
from the first pair of rows and at least some other dots output to print media
are printed to by nozzles from the
second pair of rows, the printer controller being configurable to supply dot
data to the printhead module for
printing.

Optionally print engine comprising a printer controller for supplying dot data
to a printhead module. comprising at
least first and second rows configured to print ink of a similar type or
color, at least some nozzles in the first row
being aligned with respective corresponding nozzles in the second row in a
direction of intended media travel
relative to the printhead, the printhead module being configurable such that
the nozzles in the first and second
pairs of rows are fired such that some dots output to print media are printed
to by nozzles from the first pair of
rows and at least some other dots output to print media are printed to by
nozzles from the second pair of rows, the
printer controller being configurable to supply dot data to the printhead
module for printing; and

a printhead module, wherein the printhead module is controllable such that
either of the nozzles in each aligned
pair of nozzles in the first and second rows can be selected to output ink for
a selected dot to be printed on the
print media.

Optionally in the event a nozzle in the first row is faulty, the corresponding
nozzle in the second row is selected to
output ink for a dot for which the faulty nozzle would otherwise have output
ink.

Optionally the print engine includes a plurality of sets of the first and
second rows.

Optionally each of the sets of the first and second rows is configured to
print in a single color or ink type.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
156
Optionally the first and second rows in at least one of the sets are separated
by one or more rows from the other
set or sets.

Optionally each of the rows includes an odd sub-row and an even sub-row, the
odd and even sub-rows being
offset with respect to each other in a direction of intended print media
travel relative to the printhead.
Optionally the odd and even sub-rows are transversely offset relative to each
other.

Optionally the print engine is configured such that the first and second rows
are fired alternately.
Optionally the print engine comprises a plurality of the printhead modules.

Optionally a printer including a printer controller for supplying dot data to
a printhead module comprising at least
first and second rows configured to print ink of a similar type or color, at
least some nozzles in the fast row being
aligned with respective corresponding nozzles in the second row in a direction
of intended media travel relative to
the printhead, the printhead module being configurable such that the nozzles
in the first and second pairs of rows
are fired such that some dots output to print media are printed to by nozzles
from the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally a printer including a print engine comprising a printer controller
for supplying dot data to a printhead
module comprising at least first and second rows configured to print ink of a
similar type or color, at least some
nozzles in the first row being aligned with respective corresponding nozzles
in the second row in a direction of
intended media travel relative to the printhead, the printhead module being
configurable such that the nozzles in
the first and second pairs of rows are fired such that some dots output to
print media are printed to by nozzles
from the first pair of rows and at least some other dots output to print media
are printed to by nozzles from the
second pair of rows, the printer controller being configurable to supply dot
data to the printhead module for
printing; and

a printhead module, wherein the printhead module is controllable such that
either of the nozzles in each aligned
pair of nozzles in the first and second rows can be selected to output ink for
a selected dot to be printed on the
print media.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
157
Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
158
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
159
Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.


Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.


Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
160
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
161
at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle positionx], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
162
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
163
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In a twentieth aspect the present invention provides a printer controller for
supplying dot data to at least one
printhead module, the at least one printhead module comprising a plurality of
rows, each of the rows comprising a
plurality of nozzles for ejecting ink, wherein the printhead module includes
at least first and second rows
configured to print ink of a similar type or color, the printer controller
being configured to supply the dot data to
the at least one printhead module such that, in the event a nozzle in the
first row is faulty, a corresponding nozzle
in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty nozzle
would otherwise have printed it.

Optionally a print engine comprising a printer controller for supplying dot
data to at least one printhead module,
the at least one printhead module comprising a plurality of rows, each of the
rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, the printer controller being configured to
supply the dot data to the at least one
printhead module such that in the event a nozzle in the first row is faulty, a
corresponding nozzle in the second
row prints an ink dot at a position on print media at or adjacent a position
where the faulty nozzle would otherwise
have printed it; and

the at least one printhead module, wherein each nozzle in the first row is
paired with a nozzle in the second row,
such that each pair of nozzles is aligned in an intended direction of print
media travel relative to the printhead
module.

Optionally the print engine includes a plurality of sets of the first and
second rows.

Optionally each of the sets of the first and second rows is configured to
print in a single color or ink type.
Optionally each of the rows includes an odd and an even sub-row, the odd and
even sub-rows being offset with
respect to each other in a direction of print media travel relative to the
printhead in use.

Optionally the odd and even sub-rows are transversely offset with respect to
each other.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
164
Optionally a printer including at least one printer controller for supplying
dot data to at least one printhead
module, the at least one printhead module comprising a plurality of rows, each
of the rows comprising a plurality
of nozzles for ejecting ink, wherein the printhead module includes at least
first and second rows configured to
print ink of a similar type or color, the printer controller being configured
to supply the dot data to the at least one
printhead module such that, in the event a nozzle in the first row is faulty,
a corresponding nozzle in the second
row prints an ink dot at a position on print media at or adjacent a position
where the faulty nozzle would otherwise
have printed it.

Optionally a printer includes at least one print engine comprising a printer
controller for supplying dot data to at
least one printhead module, the at least one printhead module comprising a
plurality of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it; and

the at least one printhead module, wherein each nozzle in the first row is
paired with a nozzle in the second row,
such that each pair of nozzles is aligned in an intended direction of print
media travel relative to the printhead
module.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
165
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
166
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
S output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.
Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
167
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

.10 Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a fast number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position z], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
168
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
169
Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-I), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a,pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
170
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In a twenty first aspect the present invention provides a printer controller
for receiving first data and manipulating
the first data to produce dot data to be printed, the print controller
including at least two serial outputs for
supplying the dot data to at least one printhead, wherein each of the serial
outputs is configured to supply dot data
for at least two channels of the at least one printhead.

Optionally the at least two channels include at least two color channels.
Optionally the at least two channels include at least one fixative channel.

Optionally the at least two channels include at least one infrared ink
channel.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
171
Optionally the first data includes one or more instructions associated with
production of the dot data from the first
data, the print controller including processing means for producing the dot
data from the first data on the basis of
the one or more instructions.

Optionally the printhead is a pagewidth printhead.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed-

Optionally the printer controller supplies data to a printhead module
including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.


Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
172
Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
173
determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.

Optionally the printer controller outputs to a printhead module:
dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
174
a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
175
Optionally the printer controller receives first data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one printhead.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
176
in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.


Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
177
Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.


Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.
In a twenty second aspect the present invention provides a printhead module
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles.

Optionally there is a one to one correspondence between the nozzles and
respective elements of the first and
second shift registers.

Optionally each of the shift registers supplies dot data to about half of the
nozzles in a row.

Optionally the printhead module includes at least one pair of rows of the
nozzles, the rows in each pair being
offset in a direction parallel to the rows by half the intra-row nozzle
spacing.

Optionally each of the at least two shift registers supplies dot data to at
least some of the nozzles in at least the
pair of rows.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
178
Optionally the printhead module includes a plurality of the rows configured to
print using at least two ink
channels, the nozzles for each of the ink channels being fed the dot data from
at least one pair of first and second
registers.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
179
Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.

Optionally the printhead module further including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
180
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
181
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fur group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
182
Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
183
Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two
types of the modules, wherein each type is determined by its geometric shape
in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
184
Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
185
Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a twenty third aspect the present invention provides a printhead module
capable of printing a maximum of n of
channels of print data, the printhead module being configurable into:

a first mode, in which the printhead module is configured to receive print
data for a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number.

Optionally the first number is n.
Optionally the first number is less than n.

Optionally the printhead module is configurable into at least one other mode,
in which the printhead is configured
to receive print data for a number of print channels other than the first and
second numbers.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
186
Optionally n is 4 and the second number is less than 4.

Optionally n is 5 and the second number is less than 5.

Optionally n is 6 and the second number is less than 6.
Optionally the second number is 3, 4 or S.

Optionally the selected mode is selected based on the contents of a memory
associated with the printhead.
Optionally the memory is a register.

Optionally the register is on an integrated circuit, and wherein the
integrated circuit and the printhea4 are mounted
to a print engine.

Optionally printhead comprising a plurality of printhead modules capable of
printing a maximum of n of channels
of print data, the printhead module being configurable into:

a first mode, in which the printhead module is configured to receive print
data for a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number.

Optionally printhead is a pagewidth printhead.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
187
(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
188
at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
189
at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller, and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT1AU20041000706
190
Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
191
(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the act of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
192
Optionally the printhead module further including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
193
Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.


Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
194
at least one row of print nozzles;

at least fast and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a twenty fourth aspect the present invention provides a printhead
comprising a plurality of printhead modules,
the printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two
types of the modules, wherein each type is determined by its geometric shape
in plan.

Optionally the printhead comprising a plurality of at least one of the types
of module.
Optionally the printhead comprising a plurality of each of at least two of the
types of module.

Optionally the printhead comprising two types of the module.

Optionally the two types of module alternate across a print width of the
printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
195
Optionally each of the modules including at least one row of print nozzles,
wherein each of the at least one row of
print nozzles includes at least a portion that extends at an acute angle to an
intended relative direction of
movement between the printhead and print media.

Optionally the different types of modules are configured, and arranged
relative to each other, such that there is
substantially no growth in offset of each of the at least one row of print
nozzles in a direction across an intended
print width of the printhead.

Optionally each of the printhead modules is a monolithic integrated circuit.

Optionally each of the modules including at least one row of print nozzles,
wherein each of the at least one rows
includes at least two sub-rows, each of the sub-rows being parallel to each
other and displaced relative to each
other in a direction of intended movement of print media relative to the
printhead.

Optionally the printhead being a pagewidth printhead.
Optionally the printhead being a pagewidth printhead.
Optionally the printhead being a pagewidth printhead.

Optionally the printhead is configured to receive dot data to which a method
of at least partially compensating for
errors in ink dot placement by at least one of a plurality of nozzles due to
erroneous rotational displacement of a
printhead module relative to a carrier has been applied, the nozzles being
disposed on the printhead module, the
method comprising the steps of:

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
196
Optionally the printhead is configured to receive dot data to which a method
of expelling ink has been applied, the
method being applied to a printhead module including at least one row that
comprises a plurality of adjacent sets
of n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, the method
comprising providing, for each set of nozzles, a fire signal in accordance
with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2, nozzle position (n-1), ... , nozzle
position x], wherein nozzle positionx is at
or adjacent the centre of the set of nozzles.

Optionally the printhead is configured to receive dot data to which a method
of expelling ink has been applied, the
method being applied to a printhead module including at least one row that
comprises a plurality of sets of n
adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, the method
comprising the steps of.

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead is manufactured in accordance with a method of
manufacturing a plurality of printhead
modules, at least some of which are capable of being combined in pairs to form
bilithic pagewidth printheads, the
method comprising the step of laying out each of the plurality of printhead
modules on a wafer substrate, wherein
at least one of the printhead modules is right-handed and at least another is
left-handed.

Optionally the printhead further including:
at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printhead is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
197
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a.join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller, and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
198
Optionally the printhead is in communication with a printer controller for
supplying dot data to at least one
printhead module and at least partially compensating for errors in ink dot
placement by at least one of a plurality
of nozzles on the printhead module due to erroneous rotational displacement of
the printhead module relative to a
carrier, the printer being configured to-

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead is in communication with a printer controller for
supplying dot data to a printhead
module having a plurality of nozzles for expelling ink, the printhead module
including a plurality of thermal
sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least one of the
nozzles, the printer controller being configured to modify operation of at
least some of the nozzles in response to
the temperature rising above a first threshold.

Optionally the printhead is in communication with a printer controller for
controlling a head comprising at least
one monolithic printhead module, the at least one printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead is in communication with a printer controller for
outputting to a printhead module:
dot data to be printed with at least two different inks; and

control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
199
Optionally the printhead further including at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead is in communication with a printer controller for
supplying print data to at least one
printhead module capable of printing a maximum of n of channels of print data,
the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printhead is in communication with a printer controller for
supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead is used in conjunction with a printer controller for
supplying one or more control signals
to a printhead module, the printhead module including at least one row that
comprises a plurality of sets of n
adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a fast and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead is used in conjunction with a printer controller for
supplying one or more control signals
to a printhead module, the printhead module including at least one row that
comprises a plurality of adjacent sets
of n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, the method
comprising providing, for each set of nozzles, a fire signal in accordance
with the sequence: [nozzle position 1,


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
200
nozzle position n, nozzle position 2, nozzle position (n-1), ... , nozzle
position x], wherein nozzle position x is at
or adjacent the centre of the set of nozzles.

Optionally the printhead is in communication with a printer controller for
supplying dot data to a printhead
module comprising at least first and second rows configured to print ink of a
similar type or color, at least some
nozzles in the first row being aligned with respective corresponding nozzles
in the second row in a direction of
intended media travel relative to the printhead, the printhead module being
configurable such that the nozzles in
the first and second pairs of rows are fired such that some dots output to
print media are printed to by nozzles
from the first pair of rows and at least some other dots output to print media
are printed to by nozzles from the
second pair of rows, the printer controller being configurable to supply dot
data to the printhead module for
printing.

Optionally the printhead is in communication with a printer controller for
supplying dot data to at least one
printhead module, the at least one printhead module comprising a plurality of
rows, each of the rows comprising a
plurality of nozzles for ejecting ink, wherein the printhead module includes
at least first and second rows
configured to print ink of a similar type or color, the printer controller
being configured to supply the dot data to
the at least one printhead module such that, in the event a nozzle in the
first row is faulty, a corresponding nozzle
in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty nozzle
would otherwise have printed it.

Optionally the printhead is in communication with a printer controller for
receiving first data and manipulating the
first data to produce dot data to be printed, the print controller including
at least two serial outputs for supplying
the dot data to at least one printhead.

Optionally the printhead further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead being capable of printing a maximum of n of channels
of print data, the printhead being
configurable into:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
201
a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally the printhead further including at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead further including at least one row that comprises a
plurality of adjacent sets of n adjacent
nozzles, each of the nozzles being configured to expel the ink in response to
a fire signal, the printhead being
configured to output ink from nozzles at a first and nth position in each set
of nozzles, and then each next inward
pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printhead receives dot data to be printed using at least two
different inks and control data for
controlling printing of the dot data, the printhead module including a
communication input for receiving the dot
data for the at least two colors and the control data.

Optionally the printhead further including at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead having a plurality of rows of nozzles configured to
extend, in use, across at least part of a
printable pagewidth, the nozzles in each row being grouped into at least first
and second fire groups, the printhead
being configured to sequentially fire, for each row, the nozzles of each fire
group, such that each nozzle in the
sequence from each fire group is fired simultaneously with respective
corresponding nozzles in the sequence in


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
202
the other fire groups, wherein the nozzles are fired row by row such that the
nozzles of each row are all fired
before the nozzles of each subsequent row.

Optionally the printhead further comprising at least first and second rows
configured to print ink of a similar type
or color, at least some nozzles in the first row being aligned with respective
corresponding nozzles in the second
row in a direction of intended media travel relative to the printhead, the
printhead module being configurable such
that the nozzles in the first and second pairs of rows are fired such that
some dots output to print media are printed
to by nozzles from the first pair of rows and at least some other dots output
to print media are printed to by
nozzles from the second pair of rows.

Optionally the printhead is in communication with a printer controller for
providing data to a printhead module
that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead having a plurality of nozzles for expelling ink, the
printhead module including a plurality
of thermal sensors, each of the thermal sensors being configured to respond to
a temperature at or adjacent at least
one of the nozzles, the printhead module being configured to modify operation
of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printhead further comprising a plurality of rows, each of the
rows comprising a plurality of nozzles
for ejecting ink, wherein the printhead module includes at least first and
second rows configured to print ink of a
similar type or color, and being configured such that, in the event a nozzle
in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a twenty fifth aspect the present invention provides a printhead module
including at least one row that
comprises a plurality of sets of n adjacent nozzles, each of the nozzles being
configured to expel ink in response to
a fire signal, such that, for each set of nozzles, a fire signal is provided
in accordance with the sequence: [nozzle


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
203
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the nozzle at each given position within the set is fired
simultaneously with the nozzles in the other
sets at respective corresponding positions.

Optionally the printhead module includes a plurality of the rows of nozzles,
the printhead module being
configured to fire all the nozzles on each row prior to firing any nozzles
from a subsequent row.

Optionally the rows are disposed in pairs.

Optionally the rows in each pair of rows are offset relative to each other.
Optionally each pair of rows is configured to print the same color ink.

Optionally each pair of rows is connected to a common ink source.
Optionally the sets of nozzles are adjacent each other.

Optionally the sets of nozzles are separated by an intermediate nozzle, the
intermediate nozzle being fired either
prior to the nozzle at position 1 in each set, or following the nozzle at
position n.

Optionally a printhead comprising a plurality of printhead modules including
at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead is a pagewidth printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
204
Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
205
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the fast printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
206
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller, and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
207
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

.20 a second mode, in which the printhead module is configured to receive
print data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printhead module is in communication with a printer controller
for supplying data to a.printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
208
(a) a fire signal is provided to nozzles at a fast and nth position in each
set of nozzles;

(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or.color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
209
Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
210
nozzle position (n-I), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
211
Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at
least first and second rows configured to print ink of a similar type or
color, and being
configured such that, in the event a nozzle in the first row is faulty, a
corresponding nozzle in
the second row prints an ink dot at a position on print media at or adjacent a
position where the
faulty nozzle would otherwise have printed it.


Optionally the printhead module further comprising a plurality of the rows,
the printhead module being configured
to fire each nozzle in each row simultaneously with the nozzle or nozzles at
the same position in the other rows.
Optionally the printhead module further including a plurality of pairs of the
rows, each pair of rows including an
odd row and an even row, the odd and even rows in each pair being offset from
each other in both x and y
directions relative to an intended direction of print media movement relative
to the printhead, the printhead
module being configured to cause firing of at least a plurality of the odd
rows prior to firing any of the even rows,
or vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
212
Optionally all the odd rows, or the even rows, or both, are fired in a
predetermined order.

Optionally the printhead module is configurable such that the predetermined
order is selectable from a plurality of
predetermined available orders.


Optionally the predetermined order is sequential.

Optionally the printhead module is configurable such that the predetermined
order can commence at any of a
plurality of the rows.

In a twenty sixth aspect the present invention provides a printhead module
including at least one row that
comprises a plurality of adjacent sets of n adjacent nozzles, each of the.
nozzles being configured to expel the ink
in response to a fire signal, the printhead being configured to output ink
from nozzles at a first and nth position in
each set of nozzles, and then each next inward pair of nozzles in each set,
until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printhead module includes a plurality of the rows of nozzles,
the printhead module being
configured to fire all the nozzles on each row prior to firing any nozzles
from a subsequent row.
Optionally the rows are disposed in pairs.

Optionally the rows in each pair of rows are offset relative to each other.
Optionally each pair of rows is configured to print the same color ink.
Optionally each pair of rows is connected to a common ink source.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
213
Optionally the sets of nozzles are adjacent each other.

Optionally the sets of nozzles are separated by an intermediate nozzle, the
intermediate nozzle being fired either
prior to the nozzle at position I in each set, or following the nozzle at
position n.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of.
(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
214
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.


Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
215
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
216
Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
217
Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.


Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a fast and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
positionx is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
218
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the fast row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position wherethe faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.


Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
219
the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
220
Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

Optionally the printhead module further comprising a plurality of the rows,
the printhead module being configured
to fire each nozzle in each row simultaneously with the nozzle or nozzles at
the same position in the other rows.
Optionally the printhead module further including a plurality of pairs of the
rows, each pair of rows including an
odd row and an even row, the odd and even rows in each pair being offset from
each other in both x and y
directions relative to an intended direction of print media movement relative
to the printhead, the printhead


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
221
module being configured to cause firing of at least a plurality of the odd
rows prior to firing any of the even rows,
or vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.

Optionally all the odd rows, or the even rows, or both, are fired in a
predetermined order.

Optionally the printhead module is configurable such that the predetermined
order is selectable from a plurality of
predetermined available orders.

Optionally the predetermined order is sequential.

Optionally the printhead module is configurable such that the predetermined
order can commence at any of a
plurality of the rows.

In a twenty seventh aspect the present invention provides a printhead module
for receiving dot data to be printed
using at least two different inks and control data for controlling printing of
the dot data, the printhead module
including a communication input for receiving the dot data for the at least
two colors and the control data.

Optionally the communication input is configured to receive the dot data and
control data serially.
Optionally the printhead module further including a plurality of the
communication inputs.
Optionally the printhead module further including a plurality of the
communication inputs.

Optionally a printhead comprising a plurality of printhead modules for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data;


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
222
the printhead modules being disposed end to end for printing a width exceeding
that of any of the individual
printhead modules, the communications input of each of the printhead modules
being connected to a common dot
data and control data bus.

Optionally each module is configured to respond to dot data and control data
on the bus only when it is intended
for that module.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of:
(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
223
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
224
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT1AU2004/000706
225
Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
226
Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.


Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.


Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x), wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
227
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
228
the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.


Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired, and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
229
Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.


Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a twenty eighth aspect the present invention provides a printhead module
including at least one row of
printhead nozzles, at least one row including at least one displaced row
portion, the displacement of the row
portion including a component in a direction normal to that of a pagewidth to
be printed.


Optionally the displaced row portion is disposed adjacent one end of the
monolithic printhead module.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
230
Optionally the printhead module further including a plurality of the rows,
wherein each of at least a plurality of
the rows includes one of the displaced row portions.

Optionally the displaced row portions of at least some of the rows are
different in length than the displaced row
portions of at least some of the other rows.

Optionally each of the rows has a displaced row portion, and the sizes of the
respective displaced row portions
increase from row to row in the direction normal to that of the pagewidth to
be printed.

Optionally the dropped rows together comprise a generally trapezoidal shape,
in plan.
Optionally the dropped rows together comprise a generally triangular shape, in
plan.

Optionally a printhead comprising a plurality of printhead modules, including
at least one of the printhead
modules including at least one row of printhead nozzles, at least one row
including at least one displaced row
portion, the displacement of the row portion including a component in a
direction normal to that of a pagewidth to
be printed.

Optionally a printhead comprising a plurality of printhead modules, including
at least one the printhead modules
according to claim 2, wherein the displaced row portion of at least one of the
printhead modules is disposed
adjacent another of the printhead modules.

Optionally the printhead modules are the same shape and configuration as each
other, and are arranged end to end
across the intended print width.

Optionally the printhead being a pagewidth printhead.
Optionally the printhead being a pagewidth printhead.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
231
Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of-

(a) determining the rotational displacement;,

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: (nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of.

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle-in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
232
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.


Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
233
a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller, and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
234
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
235
(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;

(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
236
Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: (nozzle position 1,
nozzle position n, nozzle position 2,


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
237
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
238
Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is' faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a twenty ninth aspect the present invention provides a printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the rows are disposed in pairs extending generally transverse to a
direction media is to be moved
relative to the printhead.

Optionally the rows in each pair of rows are configured to print the same
color ink as each other.
Optionally the rows in each pair of rows share an ink supply.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
239
Optionally the rows in each pair of rows are offset with respect to each
other.

Optionally the printhead module is configured to fire the nozzles such that at
least some ink dots from one row
Land on top of dots previously deposited by one or more of the other rows.

Optionally the printhead module is operable in at least two fire modes,
wherein at least some of the at least two
fire modes define relatively different numbers of nozzles in each of the fire
groups.

Optionally at least some of the at least two fire groups define relatively
different fire group sequences.
Optionally a printhead comprising a plurality of printhead modules having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least fast and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.

Optionally the printhead is a pagewidth printhead.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of:
(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
240
Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of

(a) providing a fire signal to nozzles at a fast and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
241
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
242
Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
243
Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.


Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been feed;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
244
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
245
Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
246
Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
247
Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

Optionally the printhead module further comprises a plurality of the rows, the
printhead module being configured
to fire each nozzle in each row simultaneously with the nozzle or nozzles at
the same position in the other rows.

Optionally the printhead module further includes a plurality of pairs of the
rows, each pair of rows including an
odd row and an even row, the odd and even rows in each pair being offset from
each other in both x and y
directions relative to an intended direction of print media movement relative
to the printhead, the printhead
module being configured to cause firing of at least a plurality of the odd
rows prior to firing any of the even rows,
or vice versa.

Optionally all the odd rows are fired before any of the even rows are fired,
or vice versa.
Optionally all the odd rows, or the even rows, or both, are fired in a
predetermined order.

Optionally the printhead module is configurable such that the predetermined
order is selectable from a plurality of
predetermined available orders.

Optionally the predetermined order is sequential.

Optionally the printhead module is configurable such that the predetermined
order can commence at any of a
plurality of the rows.

In a thirtieth aspect the present invention provides a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
248
printhead, the printhead module being configurable such that the nozzles in
the first and second rows are fired
such that some dots output to print media are printed to by nozzles from the
first row and at least some other dots
output to print media are printed to by nozzles from the second row.


Optionally the printhead module is controllable such that either of the
nozzles in each aligned pair of nozzles in
the first and second rows can be selected to output ink for a selected dot to
be printed on the print media.
Optionally in the event a nozzle in the first row is faulty, the corresponding
nozzle in the second row is selected to
output ink for a dot for which the faulty nozzle would otherwise have output
ink.
Optionally the printhead module includes a plurality of sets of the first and
second rows.

Optionally each of the sets of the first and second rows is configured to
print in a single color or ink type.

Optionally the first and second rows in at least one of the sets are separated
by one or more rows from the other
set or sets.

Optionally each of the rows includes an odd sub-row and an even sub-row, the
odd and even sub-rows being
offset with respect to each other in a direction of intended print media
travel relative to the printhead.
Optionally the odd and even sub-rows are transversely offset relative to each
other.

Optionally the printhead module is configured such that the first and second
rows are fired alternately.

Optionally a printhead comprising a plurality of printhead modules comprising
at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second rows are fired


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
249
such that some dots output to print media are printed to by nozzles from the
first row and at least some other dots
output to print media are printed to by nozzles from the second row.

Optionally the printhead being a pagewidth printhead.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of

(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of.

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
250
Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of print head modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules,.the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
251
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.


Optionally the printhead module is in communication with a printer controller
for supplying dot data. to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
252
Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.
Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:,

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
253
'modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-i), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

30* Optionally the printhead module is in communication with a printer
controller for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
254
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.


CA 02716065 2010-09-24

WO 200_5/120835 PCT/AU2004/000706
255
Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.


Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.


Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
256
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a thirty first aspect the present invention provides a printer controller
for providing data to a printhead module
that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally there is a one to one correspondence between the nozzles and
respective elements of the first and
second shift registers.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
257
Optionally each of the shift registers supplies dot data to about half of the
nozzles in a row.

Optionally the printer controller includes at least one pair of rows of the
nozzles, the rows in each pair being offset
in a direction parallel to the rows by half the intra-row nozzle spacing.

Optionally each of the at least two shift registers supplies dot data to at
least some of the nozzles in at least the
pair of rows.

Optionally the printer includes a plurality of the rows configured to print
using at least two ink channels, the
nozzles for each of the ink channels being fed the dot data from at least one
pair of first and second registers.
Optionally the printhead module forms part of a printhead.

Optionally the printhead includes a plurality of the printhead modules and the
printer controller is configured to
supply data to a plurality of the modules.

Optionally the printhead is a pagewidth printhead comprising a plurality of
the printhead modules.

Optionally the printer controller is for implementing a method of expelling
ink from a printhead module including
at least one row that comprises a plurality of sets of n adjacent nozzles,
each of the nozzles being configured to
expel ink in response to a fire signal, the method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printer controller is manufactured in accordance with a method
of manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
258
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printer controller is installed in a printer comprising:

a printhead comprising at least a first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.


Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the rust printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
259
Optionally the printer controller is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data for the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second controller; and the second printer controller outputs
dot data to the second printhead
module, wherein the dot data output by the second printer controller includes
dot data it generates and at least
some of the dot data received from the first printer controller.

Optionally the printer controller supplies dot data to at least one printhead
module and at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles on the printhead module due
to erroneous rotational displacement of the printhead module relative to a
carrier, the printer being configured to:
access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printer controller supplies dot data to a printhead module
having a plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printer controller being configured to
modify operation of at least some of the nozzles in response to the
temperature rising above a first threshold.

Optionally the printer controller controls a printhead comprising at least one
monolithic printhead module, the at
least one printhead module having a plurality of rows of nozzles configured to
extend, in use, across at least part
of a printable pagewidth of the printhead, the nozzles in each row being
grouped into at least first and second fire
groups, the printhead module being configured to sequentially fire, for each
row, the nozzles of each fire group,
such that each nozzle in the sequence from each fire group is fired
simultaneously with respective corresponding
nozzles in the sequence in the other fire groups, wherein the nozzles are
fired row by row such that the nozzles of
each row are all fired before the nozzles of each subsequent row, wherein the
printer controller is configured to
provide one or more control signals that control the order of firing of the
nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
260
Optionally the printer controller outputs to a printhead module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks,
Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies print data to at least one
printhead module capable of printing a
maximum of n of channels of print data, the at least one printhead module
being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies one or more control signals to a
printhead module, the printhead module
including at least one row that comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles
being configured to expel ink in response to a fire signal, the method
comprising providing, for each set of
nozzles, a fire signal in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-!), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles,



CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
261
Optionally the printer controller supplies dot data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows, the printer controller
being configurable to supply dot data to the printhead module for printing.

Optionally the printer controller supplies dot data to at least one printhead
module, the at least one printhead
module comprising a plurality of rows, each of the rows comprising a plurality
of nozzles for ejecting ink,
wherein the printhead module includes at least first and second rows
configured to print ink of a similar type or
color, the printer controller being configured to supply the dot data to the
at least one printhead module such that,
in the event a nozzle in the first row is faulty, a corresponding nozzle in
the second row prints an ink dot at a
position on print media at or adjacent a position where the faulty nozzle
would otherwise have printed it.

Optionally the printer controller receives fast data and manipulating the
first data to produce dot data to be
printed, the print controller including at least two serial outputs for
supplying the dot data to at least one ptinthead.
Optionally the printer controller supplies data to a printhead module
including:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead capable of
printing a maximum of n of channels of
print data, the printhead being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
262
Optionally the printer controller supplies data to a printhead comprising a
plurality of printhead modules, the
printhead being wider than a reticle step used in forming the modules, the
printhead comprising at least two types
of the modules, wherein each type is determined by its geometric shape in
plan.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of sets of n adjacent nozzles, each of the nozzles being configured
to expel ink in response to a fire
signal, such that, for each set of nozzles, a fire signal is provided in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printer controller supplies data to a printhead module
including at least one row that comprises a
plurality of adjacent sets of n adjacent nozzles, each of the nozzles being
configured to expel the ink in response
to a fire signal, the printhead being configured to output ink from nozzles at
a first and nth position in each set of
nozzles, and then each next inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally the printer controller supplies data to a printhead module for
receiving dot data to be printed using at
least two different inks and control data for controlling printing of the dot
data, the printhead module including a
communication input for receiving the dot data for the at least two colors and
the control data.

Optionally the printer controller supplies data to a printhead module
including at least one row of printhead
nozzles, at least one row including at least one displaced row portion, the
displacement of the row portion
including a component in a direction normal to that of a pagewidth to be
printed.

Optionally the printer controller supplies data to a printhead module having a
plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth,
the nozzles in each row being grouped
into at least first and second fire groups, the printhead module being
configured to sequentially fire, for each row,
the nozzles of each fire group, such that each nozzle in the sequence from
each fire group is fired simultaneously
with respective corresponding nozzles in the sequence in the other fire
groups, wherein the nozzles are fired row
by row such that the nozzles of each row are all fired before the nozzles of
each subsequent row.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
263
Optionally the printer controller supplies data to a printhead module
comprising at least first and second rows
configured to print ink of a similar type or color, at least some nozzles in
the first row being aligned with
respective corresponding nozzles in the second row in a direction of intended
media travel relative to the
printhead, the printhead module being configurable such that the nozzles in
the first and second pairs of rows are
fired such that some dots output to print media are printed to by nozzles from
the first pair of rows and at least
some other dots output to print media are printed to by nozzles from the
second pair of rows.

Optionally the printer controller supplies data to a printhead module that
includes:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printer controller supplies data to a printhead module having a
plurality of nozzles for expelling
ink, the printhead module including a plurality of thermal sensors, each of
the thermal sensors being configured to
respond to a temperature at or adjacent at least one of the nozzles, the
printhead module being configured to
modify operation of the nozzles in response to the temperature rising above a
first threshold.

Optionally the printer controller supplies data to a printhead module
comprising a plurality of rows, each of the
rows comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.

In a thirty second aspect the present invention provides a printhead module
having a plurality of nozzles for
expelling ink, the printhead module including a plurality of thermal sensors,
each of the thermal sensors being
configured to respond to a temperature at or adjacent at least one of the
nozzles, the printhead module being
configured to modify operation of the nozzles in response to the temperature
rising above a first threshold.


Optionally the printhead module is configured to modify the operation of the
nozzles at or adjacent the at least one
thermal sensor, such that operation of nozzles not at or adjacent the at least
one thermal sensor is not modified.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
264
Optionally each thermal sensor is associated with a predetermined group of the
nozzles, the nozzles in the
predetermined group being those for which the operation is modified.

Optionally each thermal sensor is associated with a single nozzle.
Optionally the modification includes preventing operation of the nozzle.

Optionally the modification includes preventing operation of the nozzle for a
predetermined period.

Optionally the modification includes preventing operation of the nozzle until
the temperature drops below a
second threshold.

Optionally the second threshold is lower than the first threshold.

Optionally the second threshold is the same as the first threshold.

Optionally the temperature is not determined explicitly by the at least one
thermal sensor or the module.

Optionally the printhead module is a thermal inkjet printhead module and each
of the nozzles includes a thermal
ink ejection mechanism.

Optionally the thermal sensor comprises at least part of one of the thermal
inkjet mechanisms.
Optionally the thermal sensor comprises a heating element.

Optionally the thermal sensor determines the temperature by determining a
resistance of the heating element.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
265
Optionally printhead module according to claim 1, configured to:

output thermal information from the at least one thermal sensor to a
controller; and

receive control information back from the controller, the control information
being indicative of the
modification to make to the operation of the one or more nozzles.


Optionally the printhead module further including a plurality of data latches,
the data latches being configured to
provide dot data to respective ones of the nozzles, at least some of the data
latches being configured to receive
thermal signals from respective ones of the thermal sensors during an
acquisition period.

Optionally the data latches are configured to form a shift register, the shift
register being configured to:
shift the print data in during a print load phase;

sample the signals from the thermal sensors during a temperature load phase;
and
shift the thermal signals out during an output phase.

Optionally the output phase coincides with a subsequent print load phase.

Optionally the printhead module further including logic circuitry configured
to perform a bitwise operation on;
each thermal signal as it is clocked out of the shift register; and each piece
of dot data to be clocked into the shift
register, such that when a thermal signal is indicative of a thermal problem
with a nozzle, the logic circuitry
prevents loading of data that would cause firing of that nozzle.

Optionally the logic circuitry includes an AND circuit that receives as inputs
the dot data and the thermal signal
corresponding to the nozzle for which the dot data is intended, an output of
the AND circuit being in
communication with an input of the shift register.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of.

(a) determining the rotational displacement;


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
266
(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
267
Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
268
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
269
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.

Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.

Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number;

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.
Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a fast and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
270
Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
271
at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
272
in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.

Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.

Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J2004/000706
273
Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.

Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

Optionally the printhead module further including a logic circuit accepting as
inputs a masking signal and the
thermal signal corresponding to the nozzle for which the dot data is intended,
the logic circuit outputting the
thermal signal to the input of the AND circuit in reliance on a value of the
masking signal.

Optionally the value of the masking signal enables masking of the thermal
signal for at least one nozzle position,
including the nozzle for which the current dot data is intended.

Optionally the value of the masking signal enables masking of the thermal
signal for a plurality of nozzle
positions corresponding to a region of the printhead associated the nozzle for
which the current dot data is
intended.

Optionally the value of the masking signal enables masking of the thermal
signal for all of the nozzle positions of
the printhead.

In a thirty third aspect the present invention provides a printhead module
comprising a plurality of rows, each of
the rows comprising a plurality of nozzles for ejecting ink, wherein the
printhead module includes at least first and
second rows configured to print ink of a similar type or color, and being
configured such that, in the event a
nozzle in the first row is faulty, a corresponding nozzle in the second row
prints an ink dot at a position on print
media at or adjacent a position where the faulty nozzle would otherwise have
printed it.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
274
Optionally each nozzle in the first row is paired with a nozzle in the second
row, such that each pair of nozzles is
aligned in an intended direction of print media travel relative to the
printhead module.

Optionally each printhead module further including a plurality of sets of the
first and second rows.

Optionally each of the sets of the first and second rows is configured to
print in a single color or ink type.
Optionally each of the rows includes an odd and an even sub-row, the odd and
even sub-rows being offset with
respect to each other in a direction of print media travel relative to the
printhead in use.


Optionally the odd and even sub-rows are transversely offset with respect to
each other.

Optionally printhead comprising a plurality of printhead modules wherein each
nozzle in the first row is paired
with a nozzle in the second row, such that each pair of nozzles is aligned in
an intended direction of print media
travel relative to the printhead module.

Optionally printhead comprising a plurality of printhead modules each of the
sets of the first and second rows is
configured to print in a single color or ink type.

Optionally the printhead being a pagewidth printhead.

Optionally the printhead module is configured to receive dot data to which a
method of at least partially
compensating for errors in ink dot placement by at least one of a plurality of
nozzles due to erroneous rotational
displacement of a printhead module relative to a carrier has been applied, the
nozzles being disposed on the
printhead module, the method comprising the steps of
(a) determining the rotational displacement;

(b) determining at least one correction factor that at least partially
compensates for the ink dot displacement;
and

(c) using the correction factor to alter the output of the ink dots to at
least partially compensate for the
rotational displacement.


CA 02716065 2010-09-24

WO 2005/120535 PCT/AU2004/000706
275
Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to afire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.

Optionally the printhead module is configured to receive dot data to which a
method of expelling ink has been
applied, the method being applied to a printhead module including at least one
row that comprises a plurality of
sets of n adjacent nozzles, each of the nozzles being configured to expel ink
in response to a fire signal, the
method comprising the steps of:

(a) providing a fire signal to nozzles at a first and nth position in each set
of nozzles;
(b) providing a fire signal to the next inward pair of nozzles in each set;

(c) in the event n is an even number, repeating step (b) until all of the
nozzles in each set has been fired; and
(d) in the event n is an odd number, repeating step (b) until all of the
nozzles but a central nozzle in each set
have been fired, and then firing the central nozzle.

Optionally the printhead module is manufactured in accordance with a method of
manufacturing a plurality of
printhead modules, at least some of which are capable of being combined in
pairs to form bilithic pagewidth
printheads, the method comprising the step of laying out each of the plurality
of printhead modules on a wafer
substrate, wherein at least one of the printhead modules is right-handed and
at least another is left-handed.
Optionally the printhead module further including:

at least one row of print nozzles;

at least two shift registers for shifting in dot data supplied from a data
source to each of the at least one rows,
wherein each print nozzle obtains dot data to be fired from an element of one
of the shift registers.
Optionally the printhead module is installed in a printer comprising:

a printhead comprising at least the first elongate printhead module, the at
least one printhead module
including at least one row of print nozzles for expelling ink; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
276
at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first and second printer
controllers are connected to a common input
of the printhead.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein the first printer controller outputs
dot data only to the first printhead
module and the second printer controller outputs dot data only to the second
printhead module, wherein the
printhead modules are configured such that no dot data passes between them.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to
output dot data to the printhead, wherein: the first printer controller
outputs dot data to both the first printhead
module and the second printhead module; and the second printer controller
outputs dot data only to the second
printhead module.

Optionally the printhead module is installed in a printer comprising:

a printhead comprising first and second elongate printhead modules, the
printhead modules being parallel
to each other and being disposed end to end on either side of a join region,
wherein the first printhead module is
longer than the second printhead module;

at least first and second printer controllers configured to receive print data
and process the print data to output dot
data for the printhead, wherein: the first printer controller outputs dot data
to both the first printhead module and
the second controller; and the second printer controller outputs dot data to
the second printhead module, wherein
the dot data output by the second printer controller includes dot data it
generates and at least some of the dot data
received from the first printer controller.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
277
Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module and at least partially compensating for errors in ink dot
placement by at least one of a
plurality of nozzles on the printhead module due to erroneous rotational
displacement of the printhead module
relative to a carrier, the printer being configured to:

access a correction factor associated with the at least one printhead module;

determine an order in which at least some of the dot data is supplied to at
least one of the at least one printhead
modules, the order being determined at least partly on the basis of the
correction factor, thereby to at least
partially compensate for the rotational displacement; and

supply the dot data to the printhead module.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module having a plurality of nozzles for expelling ink, the
printhead module including a plurality of
thermal sensors, each of the thermal sensors being configured to respond to a
temperature at or adjacent at least
one of the nozzles, the printer controller being configured to modify
operation of at least some of the nozzles in
response to the temperature rising above a first threshold.

Optionally the printhead module is in communication with a printer controller
for controlling a head comprising at
least one monolithic printhead module, the at least one printhead module
having a plurality of rows of nozzles
configured to extend, in use, across at least part of a printable pagewidth of
the printhead, the nozzles in each row
being grouped into at least first and second fire groups, the printhead module
being configured to sequentially fire,
for each row, the nozzles of each fire group, such that each nozzle in the
sequence from each fire group is fired
simultaneously with respective corresponding nozzles in the sequence in the
other fire groups, wherein the nozzles
are fired row by row such that the nozzles of each row are all fired before
the nozzles of each subsequent row,
wherein the printer controller is configured to provide one or more control
signals that control the order of firing
of the nozzles.

Optionally the printhead module is, in communication with a printer controller
for outputting to a printhead
module:

dot data to be printed with at least two different inks; and
control data for controlling printing of the dot data;

the printer controller including at least one communication output, each or
the communication output being
configured to output at least some of the control data and at least some of
the dot data for the at least two inks.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
278
Optionally the printhead module includes at least one row of printhead
nozzles, at least one row including at least
one displaced row portion, the displacement of the row portion including a
component in a direction normal to
that of a pagewidth to be printed.


Optionally the printhead module is in communication with a printer controller
for supplying print data to at least
one printhead module capable of printing a maximum of n of channels of print
data, the at least one printhead
module being configurable into:

a first mode, in which the printhead module is configured to receive data for
a first number of the
channels; and

a second mode, in which the printhead module is configured to receive print
data for a second number of the
channels, wherein the first number is greater than the second number,

wherein the printer controller is selectively configurable to supply dot data
for the first and second modes.

Optionally the printhead module is in communication with a printer controller
for supplying data to a printhead
comprising a plurality of printhead modules, the printhead being wider than a
reticle step used in forming the
modules, the printhead comprising at least two types of the modules, wherein
each type is determined by its
geometric shape in plan.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of sets of
n adjacent nozzles, each of the nozzles being configured to expel ink in
response to a fire signal, such that:

(a) a fire signal is provided to nozzles at a first and nth position in each
set of nozzles;
(b) a fire signal is provided to the next inward pair of nozzles in each set;

(c) in the event n is an even number, step (b) is repeated until all of the
nozzles in each set has been fired;
and

(d) in the event n is an odd number, step (b) is repeated until all of the
nozzles but a central nozzle in each
set have been fired, and then the central nozzle is fired.

Optionally the printhead module is used in conjunction with a printer
controller for supplying one or more control
signals to a printhead module, the printhead module including at least one row
that comprises a plurality of


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
279
adjacent sets of n adjacent nozzles, each of the nozzles being configured to
expel ink in response to a fire signal,
the method comprising providing, for each set of nozzles, a fire signal in
accordance with the sequence: [nozzle
position 1, nozzle position n, nozzle position 2, nozzle position (n-1), ... ,
nozzle position x], wherein nozzle
position x is at or adjacent the centre of the set of nozzles.


Optionally the printhead module is in communication with a printer controller
for supplying dot data to a
printhead module comprising at least first and second rows configured to print
ink of a similar type or color, at
least some nozzles in the first row being aligned with respective
corresponding nozzles in the second row in a
direction of intended media travel relative to the printhead, the printhead
module being configurable such that the
nozzles in the first and second pairs of rows are fired such that some dots
output to print media are printed to by
nozzles from the first pair of rows and at least some other dots output to
print media are printed to by nozzles from
the second pair of rows, the printer controller being configurable to supply
dot data to the printhead module for
printing.

Optionally the printhead module is in communication with a printer controller
for supplying dot data to at least
one printhead module, the at least one printhead module comprising a plurality
of rows, each of the rows
comprising a plurality of nozzles for ejecting ink, wherein the printhead
module includes at least first and second
rows configured to print ink of a similar type or color, the printer
controller being configured to supply the dot
data to the at least one printhead module such that, in the event a nozzle in
the first row is faulty, a corresponding
nozzle in the second row prints an ink dot at a position on print media at or
adjacent a position where the faulty
nozzle would otherwise have printed it.

Optionally the printhead module is in communication with a printer controller
for receiving first data and
manipulating the first data to produce dot data to be printed, the print
controller including at least two serial
outputs for supplying the dot data to at least one printhead.

Optionally the printhead module further including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
280
Optionally the printhead module being capable of printing a maximum of n of
channels of print data, the printhead
being configurable into:

a first mode, in which the printhead is configured to receive print data for a
first number of the channels;
and

a second mode, in which the printhead is configured to receive print data for
a second number of the channels,
wherein the first number is greater than the second number.

Optionally a module further comprising a plurality of printhead modules
including:
at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data
source, wherein each shift register feeds dot data to a group of nozzles, and
wherein each
of the groups of the nozzles is interleaved with at least one of the other
groups of the
nozzles; and

the printhead being wider than a reticle step used in forming the modules, the
printhead
comprising at least two types of the modules, wherein each type is determined
by its
geometric shape in plan.

Optionally the printhead module includes at least one row that comprises a
plurality of sets of n adjacent nozzles,
each of the nozzles being configured to expel ink in response to a fire
signal, such that, for each set of nozzles, a
fire signal is provided in accordance with the sequence: [nozzle position 1,
nozzle position n, nozzle position 2,
nozzle position (n-1), ... , nozzle position x], wherein nozzle position x is
at or adjacent the centre of the set of
nozzles.

Optionally the printhead module further includes at least one row that
comprises a plurality of adjacent sets of n
adjacent nozzles, each of the nozzles being configured to expel the ink in
response to a fire signal, the printhead
being configured to output ink from nozzles at a first and nth position in
each set of nozzles, and then each next
inward pair of nozzles in each set, until:

in the event n is an even number, all of the nozzles in each set has been
fired; and

in the event n is an odd number, all of the nozzles but a central nozzle in
each set have been fired, and then to fire
the central nozzle.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
281
Optionally a printhead module for receiving dot data to be printed using at
least two different inks and control
data for controlling printing of the dot data, the printhead module including
a communication input for receiving
the dot data for the at least two colors and the control data.

Optionally a printhead module further includes at least one row of printhead
nozzles, at least one row including at
least one displaced row portion, the displacement of the row portion including
a component in a direction normal
to that of a pagewidth to be printed.

Optionally a printhead module having a plurality of rows of nozzles configured
to extend, in use, across at least
part of a printable pagewidth, the nozzles in each row being grouped into at
least first and second fire groups, the
printhead module being configured to sequentially fire, for each row, the
nozzles of each fire group, such that
each nozzle in the sequence from each fire group is fired simultaneously with
respective corresponding nozzles in
the sequence in the other fire groups, wherein the nozzles are fired row by
row such that the nozzles of each row
are all fired before the nozzles of each subsequent row.


Optionally a printhead module further comprising at least first and second
rows configured to print ink of a similar
type or color, at least some nozzles in the first row being aligned with
respective corresponding nozzles in the
second row in a direction of intended media travel relative to the printhead,
the printhead module being
configurable such that the nozzles in the first and second pairs of rows are
fired such that some dots output to print
media are printed to by nozzles from the first pair of rows and at least some
other dots output to print media are
printed to by nozzles from the second pair of rows.

Optionally a printhead module is in communication with a printer controller
for providing data to a printhead
module that includes:

at least one row of print nozzles;

at least first and second shift registers for shifting in dot data supplied
from a data source, wherein each shift
register feeds dot data to a group of nozzles, and wherein each of the groups
of the nozzles is interleaved with at
least one of the other groups of the nozzles.

Optionally a printhead module having a plurality of nozzles for expelling ink,
the printhead module including a
plurality of thermal sensors, each of the thermal sensors being configured to
respond to a temperature at or
adjacent at least one of the nozzles, the printhead module being configured to
modify operation of the nozzles in
response to the temperature rising above a first threshold.


CA 02716065 2010-09-24

WO 20051120835 PCTIAU20041000706
282
Optionally a printhead module further comprising a plurality of rows, each of
the rows comprising a plurality of
nozzles for ejecting ink, wherein the printhead module includes at least first
and second rows configured to print
ink of a similar type or color, and being configured such that, in the event a
nozzle in the first row is faulty, a
corresponding nozzle in the second row prints an ink dot at a position on
print media at or adjacent a position
where the faulty nozzle would otherwise have printed it.

In a thirty fourth aspect the present invention provides a first entity
configured to authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:

(a) receive the digital signature from the second entity;
(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.

Optionally the first entity includes the base key, the first entity being
configured to receive, from the second
entity, the bit-pattern, wherein (c) includes:

generating the variant key from the bit-pattern and the base key; and
authenticating the digital signature using the generated variant key.

Optionally, the first entity storing information, wherein the data is
indicative of a request to be performed on the
information.

Optionally the information is a value.

Optionally the data is indicative of a read instruction.

Optionally the data is indicate of a write instruction, the data being
indicative of new information to be written.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
283
Optionally the data is indicative of a function to be applied to the
information

Optionally the function is a decrement or increment function.

Optionally the data is indicative of a value stored in the second entity.

Optionally the first entity being configured to send a request to the second
entity, the data being returned in
response to the request.

Optionally the data is indicative of a value stored in the second entity.

Optionally the first entity being configured to digitally sign at least some
of the request with the base key.
Optionally the first entity has the base key.


Optionally the first entity storing information, wherein the data is
indicative of a request to be performed on the
information.

Optionally the information is a value.

Optionally the data is indicative of a read instruction.

Optionally the data is indicate of a write instruction, the data being
indicative of new information to be written.
Optionally the data is indicative of a function to be applied to the
information.

Optionally the function is a decrement or increment function.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
284
Optionally the data is indicative of a value stored in the second entity.

Optionally the first entity being configured to send a read request to the
second entity, the data being returned in
response to the request.

Optionally the data is indicative of a value stored in the second entity.

Optionally the first entity being configured to digitally sign at least some
of the request with the base key.

Optionally there is provided a first entity, including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally there is provided a first entity configured for use in a method of
enabling or disabling a verification
process of a first entity in response to a predetermined event, the first
entity having at least one associated bit-
pattern and at least one variant key, each of the variant keys having been
generated by applying a one way
function to: a base key; and one or more of the at least one bit-patterns,
respectively; or one or more alternative bit
patterns, each of the alternative bit-patterns being based on one or the at
least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.


CA 02716065 2010-09-24

WO 20051120835 PCT/AU2004/000706
285
Optionally there is provided a first entity for use in a system for enabling
authenticated communication between a
first entity and at least one other entity, the system including a second
entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.

Optionally there is provided a first entity configured for use in a method of
storing a first bit-pattern in non-
volatile memory of a device, the method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

Optionally there is provided a first entity configured for use in a method of
storing a bit-pattern in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally there is provided a first entity configured for use in a method of
storing at least one functionally
identical code segment in each of a plurality of devices, each of the devices
having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
286
Optionally there is provided a first entity configured for implementing a
method for providing a sequence of
nonces (R0, RI, R2, ...) commencing with a current seed of a sequence of seeds
(x I, x2, x3,...), the method
comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.

Optionally there is provided a first entity configured for implementing a
method of storing multiple first bit-
patterns in non-volatile memory of a device, the method comprising, for each
of the first bit-patterns to be stored:
(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.


In a thirty fifth aspect the present invention provides a first entity
including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally the first variant key is stored in a second entity.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
287
Optionally the second base key is stored in a third entity.

Optionally the first entity is configured to receive a request from any of a
plurality of second entities, the request
being indicative of at least one operation to be performed on the resource
data, each of the second entities having
an associated bit-pattern and one of the first variant keys, the first variant
key in each of second entities being
based on the result of applying a one way function to the first base key and
the associated bit-pattern of that
second entity, the first entity being configured to:

(a) receive the request from one of the second entities;

(b) perform the at least one operation in the request, thereby to generate a
response;

(c) use the first base key to digitally sign at least part of the response,
thereby to generate a digital signature;
and

(d) send the response and the digital signature to the second entity from
which the request was received, such
that the second entity can verify the at least part of the response using its
variant key.

Optionally the first entity is configured to, prior to (b), receive the
associated bit-pattern from the second entity
that makes the request in (a), wherein (c) includes:

(i) using the first base key and the associated bit-pattern received from the
second entity to generate the first
variant key of the second entity making the request in (a); and

(ii) using the first variant key generated in (i) to perform the signing of at
least part of the response the
response.

Optionally the first entity is configured to receive a request from any of one
or more third entities, the request
being indicative of at least one operation to be performed on the resource
data, each of the one or more third
entities having the second base key, the first entity being configured to:

(e) receive the request from the one of the third entities;

(f) perform the at least one operation in the request, thereby to generate a
response;

(g) use the second variant key to digitally sign at least part of the
response, thereby to generate a digital
signature; and

(h) send the response and the digital signature to the third entity from which
the request was received, such
that the third entity can verify the at least part of the response using its
base key.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
288
Optionally the first entity is configured to send the first bit-pattern to the
third entity that makes the request in (e),
such that the third entity can:

(i) use the second base key and the bit-pattern received from the first entity
to generate the second variant
key; and

(ii) use the second variant key generated in (i) to perform the verification.

Optionally the first entity is configured to receive a request from any of one
or more third entities, the request
being indicative of at least one operation to be performed on the resource
data, each of the one or more third
entities having the second base key, the first entity being configured to:

(a) receive the request from the one of the third entities;

(b) perform the at least one operation in the request, thereby to generate a
response;

(c) use the first variant key to digitally sign at least part of at least the
response, thereby to generate a digital
signature; and

(d) send the response and the digital signature to the third entity from which
the request was received, such
that the third entity can verify at least part of the response using its base
key.

Optionally the first entity is configured to send the first bit-pattern the
third entity that makes the request in (a),
such that the third entity can:

(i) use the second base key and the bit-pattern received from the first entity
to generate the second variant
key; and

(ii) use the second variant key generated in (i) to perform the verification.

Optionally the second and third entities have different permissions in
relation to the operations they can perform
on the resource data, the permissions being defined based which of the first
and second base key and variant key
combinations is used for the verification.

Optionally the first base and variant key combination provides a higher
permission to perform an operation on the
resource data than the second base key and variant key combination.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
289
Optionally the second and third entities have different permissions in
relation to the operations they can perform
on the resource data, the permissions being defined based which of the first
and second base key and variant key
combinations is used for the verification.

Optionally the first base and variant key combination provides a higher
permission to perform an operation on the
resource data than the second base key and variant key combination.

Optionally the first entity is configured to receive a request from any of a
plurality of second entities, the request
being indicative of at least one operation to be performed on the resource
data, each of the second entities having
an associated bit-pattern and one of the first variant keys, the first variant
key in each of second entities being
based on the result of applying a one way function to the first base key and
the associated bit-pattern of that
second entity, the first entity being configured to:

(a) receive the request from one of the second entities;

(b) receive the bit-pattem associated with the entity from which the request
was received;

(c) receive a digital signature from the entity from which the request was
received, the digital signature
having been generated by digitally signing at least part of the request using
the variant key;

(d) generate the variant key of the entity from which the request sent, by
applying the one way function to
the first base key and the received bit pattern; and

(e) verify the request by digitally signing at least part of the request using
the variant key generated in (d)
and comparing the produced signature against the signature received in (d).

Optionally the first entity is configured to receive a request from any of one
or more third entities, the request
being indicative of at least one operation to be performed on the resource
data, each of the one or more third
entities having the second base key, the first entity being configured to:

(f) receive the request from the one of the third entities;

(g) receive a digital signature from the third entity from which the request
was received, the digital signature
having been generated by the third entity signing at least part of the request
using the second variant key;

(h) verify the at least part of the request by digitally signing at least part
of the request using the second
variant key and comparing the produced signature against the signature
received in (g).



CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
290
Optionally the first entity is configured to send the first bit-pattern to the
third entity that makes the request in (f),
such that the third entity can:

(i) use the second base key and the bit-pattern received from the first entity
to generate the second variant
key; and

(ii) use the second variant key generated in (i) to digitally sign at least
part of the request; and
(iii) send the request for receipt by the first entity in (a).

Optionally the first entity is configured to receive a request from any of one
or more third entities, the request
being indicative of at least one operation to be performed on the resource
data, each of the one or more third
entities having the second base key, the first entity being configured to:

(f) receive the request from the one of the third entities;

(g) receive a digital signature from the third entity from which the request
was received, the digital signature
having been generated by the third entity signing at least part of the request
using the second variant key;

(h) verify the at least part of the request by digitally signing at least part
of the request using the second
variant key and comparing the produced signature against the signature
received in (g).

Optionally the second and third entities have different permissions in
relation to the operations they can perform
on the resource data, the permissions being defined based which of the first
and second base key and variant key
combinations is used for the verification.


Optionally the first base and variant key combination provides a higher
permission to perform an operation on the
resource data than the second base key and variant key combination.

Optionally the resource data represents a physical property.

Optionally the physical property is a remaining amount of a physical resource.
Optionally the resource is a consumable resource.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
291
Optionally the resource entity is physically attached to a reservoir or
magazine that holds the consumable
resource.

Optionally the resource is a fluid.

Optionally the fluid is ink.

Optionally the operation includes a read, in which the resource data is read
by the entity making the request.

Optionally the operation includes write, in which the resource data is
modified by the entity making the request.
Optionally the operation includes decrementing, in which the resource is
decremented by the entity making the
request.

Optionally the one way function is a hash function.
Optionally the one way function is SHA1.

Optionally a second entity configured for use with the first entity including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally a second entity configured for use with the first entity configured
to receive a request from any of a
plurality of second entities, the request being indicative of at least one
operation to be performed on the resource
data, each of the second entities having an associated bit-pattern and one of
the first variant keys, the first variant


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
292
key in each of second entities being based on the result of applying a one way
function to the first base key and
the associated bit-pattern of that second entity, the first entity being
configured to:

(a) receive the request from one of the second entities;

(b) perform the at least one operation in the request, thereby to generate a
response;

(c) use the first base key to digitally sign at least part of the response,
thereby to generate a digital signature;
and

(d) send the response and the digital signature to the second entity from
which the request was received, such
that the second entity can verify the at least part of the response using its
variant key.


Optionally a second entity configured for use with the first entity configured
to receive a request from any of a
plurality of second entities, the request being indicative of at least one
operation to be performed on the resource
data, each of the second entities having an associated bit-pattern and one of
the first variant keys, the first variant
key in each of second entities being based on the result of applying a one way
function to the first base key and
the associated bit-pattern of that second entity, the first entity being
configured to:

(a) receive the request from one of the second entities;

(b) receive the bit-pattern associated with the entity from which the request
was received;

(c) receive a digital signature from the entity from which the request was
received, the digital signature
having been generated by digitally signing at least part of the request using
the variant key;

(d) generate the variant key of the entity from which the request sent, by
applying the one way function to
the first base key and the received bit pattern; and

(e) verify the request by digitally signing at least part of the request using
the variant key generated in (d)
and comparing the produced signature against the signature received in (d).


Optionally a third entity configured for use with the first entity configured
to receive a request from any of one or
more third entities, the request being indicative of at least one operation to
be performed on the resource data,
each of the one or more third entities having the second base key, the first
entity being configured to:

(e) receive the request from the one of the third entities;

(f) perform the at least one operation in the request, thereby to generate a
response;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
293
(g) use the second variant key to digitally sign at least part of the
response, thereby to generate a digital
signature; and

(h) send the response and the digital signature to the third entity from which
the request was received, such
that the third entity can verify the at least part of the response using its
base key.

Optionally a third entity configured for use with the first entity configured
to receive a request from any of one or
more third entities, the request being indicative of at least one operation to
be performed on the resource data,
each of the one or more third entities having the second base key, the first
entity being configured to:

(a) receive the request from the one of the third entities;

(b) perform the at least one operation in the request, thereby to generate a
response;

(c) use the first variant key to digitally sign at least part of at least the
response, thereby to generate a digital
signature; and

(d) send the response and the digital signature to the third entity from which
the request was received, such
that the third entity can verify at least part of the response using its base
key.

Optionally a third entity configured for use with the first entity configured
to receive a request from any of one or
more third entities, the request being indicative of at least one operation to
be performed on the resource data,
each of the one or more third entities having the second base key, the first
entity being configured to:
(f) receive the request from the one of the third entities;

(g) receive a digital signature from the third entity from which the request
was received, the digital signature
having been generated by the third entity signing at least part of the request
using the second variant key;

(h) verify the at least part of the request by digitally signing at least part
of the request using the second
variant key and comparing the produced signature against the signature
received in (g).

Optionally there is provided a first entity configured to authenticate a
digital signature supplied by a second entity,
wherein one of the entities includes a base key and the other of the entities
includes a variant key and a bit-pattern,
the variant key being based on the result of applying a one way function to
the base key and the bit-pattern, the
digital signature having been generated by the second entity using its key to
digitally signing at least part of data
to be authenticated, the first entity being configured to:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
294
(a) receive the digital signature from the second entity;

(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.

Optionally there is provided a first entity configured to implement a method
of enabling or disabling a verification
process of a first entity in response to a predetermined event, the first
entity having at least one associated bit-
pattern and at least one variant key, each of the variant keys having been
generated by applying a one way
function to: a base key; and one or more of the at least one bit-patterns,
respectively; or one or more alternative bit
patterns, each of the alternative bit-patterns being based on one or the at
least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.

Optionally there is provided a first entity configured for usein a system for
enabling authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.

Optionally there is provided a first entity configured to implement a method
of storing a first bit-pattern in non-
volatile memory of a device, the method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J20041000706
295
Optionally there is provided a first entity configured to implement a method
of storing a bit-pattern in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.

Optionally there is provided a first entity configured to implement a method
of storing at least one functionally
identical code segment in each of a plurality of devices, each of the devices
having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.
Optionally there is provided a first entity configured to implement a method
for providing a sequence of nonces
(R0, RI, R2, ... ) commencing with a current seed of a sequence of seeds (x I,
x2, x3,...), the method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.

Optionally there is provided a first entity configured to implement a method
of storing multiple first bit-patterns in
non-volatile memory of a device, the method comprising, for each of the first
bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
296
(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

In a thirty sixth aspect the present invention provides a method of enabling
or disabling a verification process of a
first entity in response to a predetermined event, the first entity having at
least one associated bit-pattern and at
least one variant key, each of the variant keys having been generated by
applying a one way function to: a base
key; and one or more of the at least one bit-patterns, respectively; or one or
more alternative bit patterns, each of
the alternative bit-patterns being based on one or the at least one bit-
patterns, the method including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.

Optionally step (a) includes disabling at least one of the variant keys, such
that the disabled at least one variant
key can no longer be used to digitally sign information in that gnti .

Optionally step (a) includes disabling at least one of the variant keys, such
that the disabled at least one variant
key can no longer be used to verify information signed by one or more
respective base keys related to the disabled
at least one variant key in that entity.

Optionally the step of disabling the at least one variant key includes
modifying a status of a flag associated with
that at least one variant key.

Optionally the step of disabling the at least one variant key includes
deleting that at least one variant key.
Optionally the step of disabling the at least one variant key includes
modifying that at least one variant key
Optionally the event is a predetermined point in time being reached or passed.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
297
Optionally the first entity includes a plurality of the variant keys, the
plurality of variant keys being based on the
result of a one way function applied to: a respective one of a corresponding
plurality of base keys; and one of the
at least one bit-patterns or one of the at least one alternative bit-patterns,
the method including the steps of:

determining that a predetermined event related to one of the variant keys has
happened; and

enabling or disabling at least one of the plurality of variant keys with which
the predetermined event is associated.
Optionally the plurality of base keys has a corresponding sequence of
predetermined events associated with them,
the method including the steps of:

(a) determining that one of the predetermined event has happened; and

(b) enabling or disabling the variant key in the sequence corresponding to
predetermined event that is
determined to have happened.

Optionally the variant keys are disabled in the order of the sequence of
predetermined events.

Optionally the sequence of events is chronological.
Optionally each of the events includes a time being reached.

Optionally the step of determining that one of the events has happened
includes receiving a time from a trusted
source.

Optionally the time is a date.

Optionally the date is determined with a resolution of a month.

Optionally the predetermined event includes detection of compromise of one or
more of the keys, the method
including disabling the one or more variant keys corresponding to the one or
more keys that were compromised.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
298
Optionally the predetermined event includes suspect compromise of one or more
of the keys, the method
including disabling the one or more variant keys corresponding to the one or
more keys that were suspected of
being compromised.

In a further aspect the present invention provides a method of manufacturing
second entities for use in the
verification process with the first entity of claim 1, each of the first
entities including at least first and second
variant key, the first variant key having been generated by applying a one way
function to a first base key and a
first bit-pattern, and the second variant key having been generated by
applying a one way function to a second
base key and a second bit-pattern, the method comprising the steps of-

manufacturing a plurality of second entities for use with the first entities,
each of the second entities
including at least the first base key; and

upon the first variant key being disabled in response to one of the
predetermined event, manufacturing a plurality
of third entities for use with the first entities, each of the third entities
including at least the second base key.

Optionally the first variant key is automatically disabled in response to a
predetermined event.
Optionally the method further includes the step of causing the first variant
key to be disabled.
Optionally the first variant key is disabled in response to a time being
reached.

Optionally at least some of the first entities have one or more further
variant keys, each of the respective further
variant keys having been generated by applying a one way function to
respective further base keys and bit-
patterns, each of the variant keys being enabled or disabled in response to
respective predetermined events, the
method comprising the step of manufacturing a sequence of sets of second
entities, each set of the second entities
being manufactured such that the variant key corresponding to its base key is
enabled for the verification process
during the life of that set.

Optionally the predetermined events are selected such that the variant keys
corresponding with the base keys of
more than one of the sets are enabled at once.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
299
Optionally there is provided a method using a first entity configured to
authenticate a digital signature supplied by
a second entity, wherein one of the entities includes a base key and the other
of the entities includes a variant key
and a bit-pattern, the variant key being based on the result of applying a one
way function to the base key and the
bit-pattern, the digital signature having been generated by the second entity
using its key to digitally signing at
least part of data to be authenticated, the first entity being configured to:
(a) receive the digital signature from the second entity;

(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.

Optionally there is provided a method using a first entity including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattem.

Optionally there is provided a method using a system for enabling
authenticated communication between a first
entity and at least one other entity, the system including a second entity,
wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.

Optionally there is provided a method including storing a first bit-pattern in
non-volatile memory of a device, the
method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
300
(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

Optionally there is provided a method including storing a bit-pattern in each
of a plurality of devices, each of the
devices having a memory, the method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally there is provided a method including storing at least one
functionally identical code segment in each of
a plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.
Optionally there is provided a method including providing a sequence of nonces
(R0, RI, R2, ...) commencing
with a current seed of a sequence of seeds (x I, x2, x3,...), the method
comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of notices.

Optionally there is provided a method including storing multiple first bit-
patterns in non-volatile memory of a
device, the method comprising, for each of the first bit-patterns to be
stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
301
(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

In a thirty seventh aspect the present invention provides a system for
enabling authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.

Optionally the transport keys include:

a first transport key in the first entity; and
a second transport key in the second entity.
Optionally the first and second transport keys are the same.

Optionally the second transport key is a base key and the first transport key
is a variant key, the variant key having
been generated by applying a one way function to the base key and a first bit-
pattern.

Optionally the first bit-pattern is stored in the first entity.

Optionally each of the first and second transport keys is a second bit-pattern
stored in the first and second entities
during manufacture of the system or its components.

Optionally the second bit-pattern was determined randomly or pseudo-randomly.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
302 -
Optionally the second bit-pattern was generated using a stochastic process or
mechanism.

Optionally the authentication key enables authenticated communication between
the first and second entities.

Optionally the authentication key provides the first entity with permission to
request performance of at least one
operation on at least one value in the second entity.

Optionally the authentication key enables authenticated communication between
the first entity and one or more
entities other than the second entity.

Optionally the authentication key is a variant key.

Optionally the one or more entities include the base key corresponding to the
authentication key.

Optionally the variant key in each system is relatively unique compared to the
variant keys in the other systems.
Optionally the authentication key is a third bit-pattern that was determined
randomly or pseudo-randomly.
Optionally the third bit-pattern was generated using a stochastic process or
mechanism.

In a further aspect the present invention provides a system for enabling
authenticated communication between a
first entity and at least one other entity, the system including a second
entity, wherein:

the first entity and the second entity share additional transport keys;

the second entity and each of the at least one other entities share transport
keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the first transport keys and to each of the at least
one other entities using the respective
additional shared transport keys, such that the authentication keys, once
transported to the first and at least one
other entities, enable verified communication therebetween.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
303
Optinally each pair of transport keys is different from the other pairs of
transport keys.

Optionally the authentication key is the first transport key.

Optionally the authentication key is the additional transport key for one of
the at least one other entities.
Optionally the authentication key is not the same as any of the transport
keys.

Optionally the authentication key is a variant key, the variant key having
been generated by applying a one way
function to a base key and a first bit pattern

Optionally the first transport key is a bit-pattern stored in the first and
second entities during manufacture of the
system or its components.

Optionally the bit-pattern was determined randomly or pseudo-randomly.
Optionally the bit pattern was generated using a stochastic process or
mechanism.

In a further aspect the present invention provides a method of manufacturing a
system having at least first and
second entities, method comprising the steps of:

providing the first and second entities with transport keys; and
providing the second entity with at least one authentication key;

the system being configured to enable transport of the at least one
authentication key from the second entity to the
first entity using the transport keys, the authentication key being usable to
enable the authenticated
communication by the first entity.
Optionally the transport keys include:

a first transport key in the first entity; and
a second transport key in the second entity.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
304
Optionally the first and second transport keys are the same.

Optionally the second transport key is a base key and the first transport key
is a variant key, the variant key having
been generated by applying a one way function to the base key and a first bit-
pattern.

Optionally the first bit-pattern is stored in the first entity.

Optionally each of the first and second transport keys is a second bit-pattern
stored in the first and second entities
during manufacture of the system or its components.

Optionally the second bit-pattern was determined randomly or pseudo-randomly.
Optionally the second bit-pattern was generated using a stochastic process or
mechanism.

Optionally the authentication key enables authenticated communication between
the first and second entities.
Optionally the authentication key enables authenticated communication between
the first entity and one or more
entities other than the second entity.


Optionally the authentication key is a third bit-pattern that was determined
randomly or pseudo-randomly.
Optionally the third bit-pattern was generated using a stochastic process or
mechanism.

In a further aspect the present invention provides a method for enabling
authenticated communication between a
first entity and at least one other entity in a system including a second
entity, wherein:

the first entity and the second entity share first transport keys;

the second entity and each of the at least one other entities share additional
transport keys; and
the second entity includes at least one authentication key;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
305
the method including the steps of.

transporting the authentication key from the second entity to the first entity
using the first transport keys, and to
each of the at least one other entities using the respective shared additional
transport keys, such that the
authentication keys, once transported to the first and at least one other
entities, enable verified communication
therebetween.

Optionally each pair of transport keys is different from the other pairs of
transport keys.
Optionally the authentication key is the first transport key.


Optionally the authentication key is one of the additional transport keys.
Optionally the authentication key is not the same as any of the transport
keys.

Optionally the authentication key is a variant key, the variant key having
been generated by applying a one way
function to a base key and a first bit-pattern.

Optionally the first transport key is a bit-pattern stored in the first and
second entities during manufacture of the
system or its components.

Optionally bit-pattern was determined randomly or pseudo-randomly.

Optionally the bit-pattern was generated using a stochastic process or
mechanism.

Optionally there is provided a method including a first entity configured to
authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:

(a) receive the digital signature from the second entity;


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU20041000706
306
(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.
Optionally there is provided a system including a first entity including:

a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally there is provided a system configured to implement a method of
enabling or disabling a verification
process of a first entity in response to a predetermined event, the first
entity having at least one associated bit-
pattern and at least one variant key, each of the variant keys having been
generated by applying a one way
function to: a base key; and one or more of the at least one bit-patterns,
respectively; or one or more alternative bit
patterns, each of the alternative bit-patterns being based on one or the at
least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.
Optionally there is provided a system configured to implement a method of
storing a first bit-pattern in non-
volatile memory of a device, the method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.


CA 02716065 2010-09-24

WO 2005/120835 PCT!A1J2004!000706
307
Optionally there is provided a system configured to implement a method of
storing a bit-pattern in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally there is provided a system configured to implement a method of
storing at least one functionally
identical code segment in each of a plurality of devices, each of the devices
having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.
Optionally there is provided a system configured to implement a method of
providing a sequence of nonces (R0,
Rl, R2, ...) commencing with a current seed of a sequence of seeds (xl, x2,
x3,...), the method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further notices in the
sequence of notices.

Optionally there is provided a system configured to implement a method of
storing multiple first bit-patterns in
non-volatile memory of a device, the method comprising, for each of the first
bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
308
In a thirty eighth aspect the present invention provides a method of storing a
first bit-pattern in non-volatile
memory of a device, the method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.
Optionally the one way function is more cryptographically secure than the
second function.
Optionally the second function is a logical function.

Optionally the logical function is an XOR function.

Optionally the one way function is a hash function.
Optionally the one way function is SHA1.

Optionally the first bit-pattern is a key.

Optionally the method further includes the step of storing one or more code
segments in the memory, the code
segments being configured to run on a processor of the device, thereby
enabling the device to.

apply the one way function to the second bit-pattern, thereby to generate the
first result;

apply a third function to the first result and the second result, thereby to
generate the first bit-pattern;
wherein the third function is the inverse of the second function.

Optionally the third function and the second function are the same.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
309
Optionally the second bit-pattern was generated randomly or pseudo-randomly.

Optionally the method further includes the step, performed prior to step (a),
of determining the second bit-pattern.
Optionally determining the second bit-pattern includes generating the second
bit-pattern randomly or pseudo-
randomly.

Optionally determining the second bit-pattern includes generating the second
bit-pattern based on a stochastic
process or mechanism.


Optionally determining the second bit-pattern includes selecting the second-
bit pattern from an existing list or
sequence of second bit-patterns.

In a further aspect the present invention provides method of storing a first
bit-pattern in non-volatile memory of
each of a plurality of devices, the method comprising, for each of the
devices:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the non-volatile memory, thereby indirectly
storing the first bit-pattern;
wherein the second bit-patterns of the respective devices are relatively
unique with respect to each other.
Optionally the one way function is more cryptographically secure than the
second function.

Optionally the second function is a logical function.
Optionally the logical function is an XOR function.
Optionally the one way function is a hash function.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
310
Optionally the one way function is SHAT.

Optionally the first bit-pattern is a key.

Optionally step (c) comprises, for each device:
(d) determining a first memory location; and

(e) storing the second result at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.

Optionally step (d) includes randomly selecting the first memory location.

Optionally step (a) includes selecting the first memory location based on a
stochastic process or mechanism.
Optionally step (a) includes selecting the first memory location from an
existing list or sequence of memory
locations.

Optionally the method further includes the step of storing one or more code
segments in the device, the code
segments being configured to run on a processor of the device, thereby
enabling the device to:

apply the one way function to the second bit-pattern, thereby to generate the
first result; and

apply a third function to the first result and the second result, thereby to
generate the first bit-pattern;
wherein the third function is the inverse of the second function.

Optionally the third function and the second function are the same.

Optionally the second bit-patterns have characteristics associated with random
numbers.
Optionally the second bit pattern was generated randomly or pseudo-randomly.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
311
Optionally the method further includes the step, performed prior to step (a),
of determining the second bit-pattern.
Optionally determining the second bit-pattern includes generating the second
bit-pattern randomly or pseudo-
randomly.

Optionally determining the second bit-pattern includes generating the second
bit-pattern based on a stochastic
process or mechanism.

Optionally there is provided a device manufactured in accordance with the
method of storing a first bit-pattern in
non-volatile memory of a device, the method comprising

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

Optionally there is provided a device manufactured in accordance with the
method including the step of storing
one or more code segments in the memory, the code segments being configured to
run on a processor of the
device, thereby enabling the device to:

apply the one way function to the second bit-pattern, thereby to generate the
first result;

apply a third function to the first result and the second result, thereby to
generate the first bit-pattern;
wherein the third function is the inverse of the second function.

Optionally there is provided a device manufactured in accordance with the
method of storing a first bit-pattern in
non-volatile memory of each of a plurality of devices, the method comprising,
for each of the devices:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
312
(c) storing the second result in the non-volatile memory, thereby indirectly
storing the first bit-pattern;
wherein the second bit-patterns of the respective devices are relatively
unique with respect to each other.
Optionally there is provided a device manufactured in accordance with the
method including the step of storing
one or more code segments in the device, the code segments being configured to
run on a processor of the device,
thereby enabling the device to:

apply the one way function to the second bit-pattern, thereby to generate the
first result; and

apply a third function to the first result and the second result, thereby to
generate the first bit-pattern;
wherein the third function is the inverse of the second function.

Optionally the device having an associated second bit-pattern, and non-
volatile memory, the non-volatile memory
indirectly storing a first bit-pattern in the form of a second result, the
second result being generated by:

(a) applying a one way function to the second bit-pattern, thereby to generate
a first result; and

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate the second
result.

Optionally the device further includes a processor, the processor being
configured to run one or more code
segments that:

(c) apply the one way function to the second bit pattern, thereby to generate
the first result; and

(d) apply a third function to the fast result and the second result, the third
function being the inverse of the
second function, thereby to generate the first bit-pattern.

Optionally the third function and the second function are the same.

Optionally the one or more code segments, when run on the processor, use the
first bit-pattern in a cryptographic
process.

Optionally the cryptographic process is digital signing.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
313
Optionally the one way function is more cryptographically secure than the
second function.

Optionally the second function is a logical function.

Optionally the logical function is an XOR function.
Optionally the one way function is a hash function.
Optionally the one way function is SHA1.

Optionally the first bit-pattern is a key.

Optionally the second bit-pattern was generated randomly or pseudo-randomly.

Optionally the second bit-pattern was generated using a stochastic process or
mechanism.

Optionally there is provided a method implemented in a first entity configured
to authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:

(a) receive the digital signature from the second entity;
(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.
Optionally there is provided a method implemented in a first entity including:

a fist bit-pattern

a non-volatile memory storing resource data,


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
314
a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern-


Optionally there is provided a method for enabling or disabling a verification
process of a first entity in response
to a predetermined event, the first entity having at least one associated bit-
pattern and at least one variant key,
each of the variant keys having been generated by applying a one way function
to: a base key; and one or more of
the at least one bit-patterns, respectively; or one or more alternative bit
patterns, each of the alternative bit-
patterns being based on one or the at least one bit patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.

Optionally there is provided a method implemented in a system for enabling
authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second
entity to the first entity using the transport keys, the authentication key
being usable to enable the authenticated
communication by the first entity.

Optionally there is provided a method for storing a bit-pattern in each of a
plurality of devices, each of the devices
having a memory, the method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations arc different in at least a plurality of
the respective devices.

Optionally there is provided a method for storing at least one fimctionally
identical code segment in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
315
(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.

Optionally there is provided a method for providing a sequence of nonces (R0,
RI, R2, ...) commencing with a
current seed of a sequence of seeds (x I, x2, x3,...), the method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.

Optionally there is provided a method for storing multiple first bit-patterns
in non-volatile memory of a device,
the method comprising, for each of the first bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

In a thirty ninth aspect the present invention provides a method of storing a
bit-pattern in each of a plurality of
devices, each of the devices having a memory, the method comprising, for each
device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally step (a) includes randomly selecting the first memory location.



CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
316
Optionally step (a) includes selecting the fast memory location based on a
stochastic process or mechanism.
Optionally step (a) includes selecting the first memory location from an
existing list or sequence of memory
locations.

Optionally the memory is non-volatile memory.

Optionally, the method further comprises storing one or more code segments in
the memory of each device, the
one or more code segments including data indicative of the first memory
location at which the bit-pattern is stored
on that device.

Optionally, wherein the fast memory locations of the devices are selected such
that, from device to device, there
is no overlap of the positions of at least some of the bits, bytes or
characters of the devices' respective bit-pattern.
Optionally the first memory locations of the devices are selected such that,
from device to device, positions of at
least some of the bits, bytes or characters of the devices' respective bit-
patterns overlap.

Optionally the first memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective bit-patterns are shuffled,
rotated or otherwise ordered differently.

Optionally the first memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective bit-patterns are shuffled,
rotated or otherwise ordered differently.
Optionally the method further comprises:

applying a function to the first bit pattern and a second bit pattern, thereby
to generate a result; and
storing the result in the first memory location, thereby indirectly storing
the first bit-pattern.
Optionally the second bit-pattern is stored with the device.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
317
Optionally the second bit-pattern is stored in the device in a non-volatile
manner.

Optionally the function is a logical function.

Optionally the logical function is an XOR function.
Optionally the first bit-pattern is a key.

Optionally the second bit pattern was generated randomly.

Optionally the method further comprises randomly selecting the second bit-
pattern.

Optionally the method further comprises selecting the second bit-pattern based
on a stochastic process or
mechanism.

Optionally the method further comprises selecting the second bit-pattern from
an existing list or sequence of bit-
patterns.

Optionally the first memory locations of the devices are selected such that,
from device to device, there is no
overlap of the positions of at least some of the bits, bytes or characters of
the devices' respective results.
Optionally the first memory locations of the devices are selected such that,
from device to device, positions of at
least some of the bits, bytes or characters of the devices' respective results
overlap.

Optionally the first memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective results are shuffled, rotated
or otherwise ordered differently.
Optionally the first memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective results are shuffled, rotated
or otherwise ordered differently.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
318
Optionally the respective second bit-patterns are stored at a second memory
location of each of the respective
devices, wherein the second memory locations are different in at least a
plurality of the respective devices.

Optionally the second memory locations of the devices are selected such that,
from device to device, there is no
overlap of the positions of at least some of the bits, bytes or characters of
the devices' respective second bit-
patterns.

Optionally the second memory locations of the devices are selected such that,
from device to device, positions of
at least some of the bits, bytes or characters of the devices' respective
second bit-patterns overlap.

Optionally the second memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective second bit-patterns are
shuffled, rotated or otherwise ordered
differently.

Optionally the second memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respectives second bit-patterns are
shuffled, rotated or otherwise ordered
differently.

Optionally the method further comprises storing one or more code segments in
the memory of each device, the
one or more code segments including data indicative of the second memory
location at which the second bit-
pattern is stored on that device.

Optionally the method further comprises for each device:
determining a second memory location; and

storing, at the second memory location, a result of applying a function to the
bit-pattern;

wherein the second memory locations are different in at least a plurality of
the respective devices.
Optionally the function is a logical operation.


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
319
Optionally the function is a bit inversion operation.

Optionally step (a) includes randomly selecting the second memory location.

Optionally step (a) includes selecting the second memory location based on a
stochastic process or mechanism.
Optionally step (a) includes selecting the second memory location from an
existing list or sequence of memory
locations.

Optionally the memory is non-volatile memory.

Optionally the method further comprises storing one or more code segments in
the memory of each device, the
one or more code segments including data indicative of the second memory
location at which the result is stored
on that device.


Optionally the second memory locations of the devices are selected such that,
from device to device, there is no
overlap of the positions of at least some of the bits, bytes or characters of
the devices' respective results.
Optionally the second memory locations of the devices are selected such that,
from device to device, positions of
at least some of the bits, bytes or characters of the devices' respective
results overlap.

Optionally the second memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective results are shuffled, rotated
or otherwise ordered differently.

Optionally the second memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective results are shuffled, rotated
or otherwise ordered differently.
Optionally the present invention provides a device having a bit-pattern stored
in it in accordance with the method
of storing a bit-pattern in each of a plurality of devices, each of the
devices having a memory, the method
comprising, for each device:


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
320
(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.

Optionally, in a further embodiment there is provided a device having a bit-
pattern and a result stored in it in
accordance with the method comprising:

applying a function to the first bit pattern and a second bit pattern, thereby
to generate a result; and
storing the result in the first memory location, thereby indirectly storing
the first bit-pattern.


Optionally, in a further embodiment there is provided a device having a bit-
pattern and a result stored in it in
accordance with the method wherein the first memory locations of the devices
are selected such that, from device
to device, there is no overlap of the positions of at least some of the bits,
bytes or characters of the devices'
respective results.

Optionally there is provided a plurality of devices having respective bit-
patterns stored in them in accordance with
the method of storing a bit-pattern in each of a plurality of devices, each of
the devices having a memory, the
method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally, in a further embodiment there is provided a plurality of devices
having respective bit-patterns and
results stored in them in accordance with the method comprising:

applying a function to the first bit pattern and a second bit pattern, thereby
to generate a result; and
storing the result in the first memory location, thereby indirectly storing
the first bit-pattern.

Optionally there is provided a plurality of devices having respective bit-
patterns and results stored in them in
accordance with the method wherein the first memory locations of the devices
are selected such that, from device


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
321
to device, there is no overlap of the positions of at least some of the bits,
bytes or characters of the devices'
respective results.

Optionally there is provided a device having a bit-pattern stored in it in
accordance with the method of storing a
bit-pattern in each of a plurality of devices, each of the devices having a
memory, the method comprising, for each
device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.

Optionally there is provided a device having a bit-pattern and a result stored
in it in accordance with the method
comprising:

applying a function to the first bit pattern and a second bit pattern, thereby
to generate a result; and
storing the result in the first memory location, thereby indirectly storing
the first bit-pattern.


Optionally there is provided a device having a bit-pattern and a result stored
in it in accordance with the method
wherein the first memory locations of the devices are selected such that, from
device to device, there is no overlap
of the positions of at least some of the bits, bytes or characters of the
devices' respective results.

Optionally there is provided a plurality of devices having respective bit
patterns stored in them in accordance with
the method of storing a bit-pattern in each of a plurality of devices, each of
the devices having a memory, the
method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally there is provided a plurality of devices having a bit-pattern and a
result stored in them in accordance
with the method comprising:

applying a function to the first bit pattern and a second bit pattern, thereby
to generate a result; and
storing the result in the first memory location, thereby indirectly storing
the first bit-pattern.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
322
Optionally there is provided a plurality of devices having a bit-pattern and a
result stored in them in accordance
with the method wherein the first memory locations of the devices are selected
such that, from device to device,
there is no overlap of the positions of at least some of the bits, bytes or
characters of the devices' respective
results.

Optionally there is provided a method implemented in a first entity configured
to authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:

(a) receive the digital signature from the second entity;
(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.

Optionally there is provided a method implemented in a first entity including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally there is provided a method for enabling or disabling a verification
process of a first entity in response
to a predetermined event, the first entity having at least one associated bit-
pattern and at least one variant key,
each of the variant keys having been generated by applying a one way function
to: a base key; and one or more of
the at least one bit-patterns, respectively; or one or more alternative bit
patterns, each of the alternative bit-
patterns being based on one or the at least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
323
Optionally there is provided a method implemented in a system for enabling
authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.

Optionally there is provided a method for storing a first bit-pattern in non-
volatile memory of a device, the
method comprising:

(a) applying a one way function to a'second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

Optionally there is provided a method for storing at least one functionally
identical code segment in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.

Optionally there is provided a method for providing a sequence of nonces (R0,
RI, R2, ...) commencing with a
current seed of a sequence of seeds (xl, x2, x3,...), the method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
324
(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.

Optionally there is provided a method for storing multiple first bit-patterns
in non-volatile memory of a device,
the method comprising, for each of the first bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

In a fortieth aspect the present invention provides a method of storing at
least one functionally identical code
segment in each of a plurality of devices, each of the devices having a
memory, the method comprising, for each
device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.

Optionally at least one of the code segments in each of the devices includes
an initial instruction, the initial
instruction being located at an initial instruction location, the initial
instruction location being the same in all the
devices.

Optionally the initial instruction in each device is indicative of the first
memory location of that device.

Optionally the initial instruction is indicative of the first memory location
by including an explicit reference to the
memory location.

Optionally the initial instruction is indicative of the first memory location
by including an implicit reference to the
memory location.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
325
Optionally the implicit reference is a pointer to a location at which the
address of the first memory location is
stored.

Optionally the implicit reference is a pointer to a register that holds the
address of the first memory location.
Optionally step (a) includes randomly selecting the first memory location.

Optionally step (a) includes selecting the first memory location based on a
stochastic process or mechanism.

Optionally step (a) includes selecting the first memory location from an
existing list or sequence of memory
locations.

Optionally each device including at least one additional memory location, each
of the at least one code segments
being located at the first memory location or one of the additional memory
locations, wherein each of the code
segments includes at least one'instruction that is indicative of one of the at
least one additional memory locations
or of the first memory location, and wherein at least one of the additional
memory locations corresponding to one
of the code segments is different in at least a plurality of the respective
devices.

Optionally the at least one instruction is indicative of the additional or
first memory location by including an
explicit reference to the memory location.

Optionally the at least one instruction is indicative of the additional or
first memory location by including an
implicit reference to the memory location.

Optionally the implicit reference is a pointer to a location at which the
address of the additional or first memory
location is stored.

Optionally the implicit reference is a pointer to a register that holds the
address of the additional or first memory
location.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
326
Optionally the implicit reference is an index into an address table wherein
the address table holds the location of
the additional or first memory location.

Optionally the memory is non-volatile memory.
Optionally the memory is non-volatile memory.

Optionally there is provided a method implemented in a first entity configured
to authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:

(a) receive the digital signature from the second entity;
(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.
Optionally there is provided a method implemented in a first entity including:

a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally there is provided a method for enabling or disabling a verification
process of a first entity in response
to a predetermined event, the first entity having at least one associated bit-
pattern and at least one variant key,
each of the variant keys having been generated by applying a one way function
to: a base key; and one or more of


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
327
the at least one bit-patterns, respectively; or one or more alternative bit
patterns, each of the alternative bit-
patterns being based on one or the at least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.
Optionally there is provided a method implemented in a system for enabling
authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.


Optionally there is provided a method for storing a first bit-pattern in non-
volatile memory of a device, the
method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

Optionally there is provided a method for storing a bit-pattern in each of a
plurality of devices, each of the devices
having a memory, the method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
328
Optionally there is provided a method for providing a sequence of nonces (R0,
Rl, R2, ...) commencing with a
current seed of a sequence of seeds (xl, x2, x3,...), the method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.

Optionally there is provided a method for storing multiple first bit-patterns
in non-volatile memory of a device,
the method comprising, for each of the first bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

In a forty first aspect the present invention provides a method for providing
a sequence of nonces (R0, RI, R2, ...
) commencing with a current seed of a sequence of seeds (x I, x2, x3,...), the
method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.

Optionally x l is generated based on an initial seed x0, the initial seed
having been generated by a random number
generator.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
329
Optionally, the initial seed x0 having been generated based on a stochastic
process.

Optionally the next seed is generated from the current seed on the basis of a
second function.
Optionally the second function is less cryptographically strong than the one
way function.
Optionally the second function is additive.

Optionally the second function is a linear feedback shift register function.

Optionally the one way function is a hash function.
Optionally the hash function is SHA1.

In a further aspect the present invention provides a device for generating a
sequence of nonces (R0, RI, R2, ... ),
the device including:

memory for storing a current seed of a sequence of seeds (x 1, x2, x3,...)'
a processor configured to:

(a) apply a one way function to the current seed to generate a current nonce;
and

(b) use the current seed to generate a next seed in the sequence of seeds, the
seed so generated becoming the
current seed; and

(c) storing the current seed in memory.

Optionally the device is configured to generate xl in the seed sequence based
on an initial seed x0, the initial seed
being stored in a non-volatile manner in the device.

Optionally xO was generated by a random number generator.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
330
Optionally, the initial seed x0 having been generated based on a stochastic
process.

Optionally the processor is configured to generate the next seed by applying a
second function to the current seed.
Optionally the second function is less cryptographically strong than the one
way function.

Optionally the second function is additive.

Optionally the second function is a linear feedback shift register function.

Optionally the memory is non-volatile.
Optionally the memory is flash memory.

Optionally the device comprises one or more integrated circuits.
Optionally the device comprises a monolithic integrated circuit.
Optionally the one way function is a hash function.

Optionally the hash function is SHAT.

In a further aspect the present invention provides a method of manufacturing a
series of devices, each of the
devices for generating a sequence of nonces (R0, RI, R2, ... ), the device
including:

memory for storing a current seed of a sequence of seeds (x I, x2, x3,...)'
a processor configured to:

(a) apply a one way function to the current seed to generate a current nonce;
and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
331
(b) use the current seed to generate a next seed in the sequence of seeds, the
seed so generated becoming the
current seed; and

(c) storing the current seed in memory.

and including a non-volatile memory, the method comprising:

generating a bit-pattern on the basis of a random or pseudo random process;
storing the bit-pattern in a non-volatile manner in the device;

wherein the device is configured to use the bit-pattern as an initial current
seed, and to store subsequent
generated seeds in the non-volatile memory.

Optionally the step of storing the bit-pattern in a non-volatile manner
includes storing the value in a place other
than in the non-volatile memory.

Optionally the bit-pattern is stored in non-erasable form.

Optionally the method including the step of storing a program on the device,
the program including the one way
function for generating the current nonce from the current seed.

Optionally the one way function is a hash function.
Optionally the one way function is non-compressing.
Optionally the hash function is SHA1.

Optionally there is provided a method implemented in a first entity configured
to authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:

(a) receive the digital signature from the second entity;
(b) receive the data; and


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
332
(c) authenticate the digital signature based on the received data and the
first entity's key.

Optionally there is provided a method implemented in a first entity including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to. the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally there is provided a method for enabling or disabling a verification
process of a first entity in response
to a predetermined event, the first entity having at least one associated bit-
pattern and at least one variant key,
each of the variant keys having been generated by applying a one way function
to: a base key; and one or more of
the at least one bit-patterns, respectively; or one or more alternative bit
patterns, each of the alternative bit-
patterns being based on one or the at least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.
Optionally there is provided a method implemented in a system for enabling
authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
333
Optionally there is provided a method for storing a first bit-pattern in non-
volatile memory of a device, the
method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

Optionally there is provided a method for storing a bit-pattern in each of a
plurality of devices, each of the
devices having a memory, the method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.

Optionally there is provided a method for storing at least one functionally
identical code segment in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.
Optionally there is provided a method for storing multiple first bit-patterns
in non-volatile memory of a device,
the method comprising, for each of the first bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;


CA 02716065 2010-09-24

WO 20051120835 PCT/AU20041000706
334
wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

In a forty second aspect the present invention provides a method of storing
multiple first bit-patterns in non-
volatile memory of a device, the method comprising, for each of the first bit-
patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

Optionally step (c) comprises:

(d) determining a first memory location; and

(e) storing the second result at the first memory location.

Optionally step (d) includes randomly selecting the first memory location.

Optionally step (d) includes selecting the first memory location based on a
stochastic process or mechanism.
Optionally step (d) includes selecting the first memory location from an
existing list or sequence of memory
locations.

Optionally each third bit-pattern is generated from the second bit-pattern by
removing, adding or changing one or
more bits, bytes or characters of the second bit-pattern.


CA 02716065 2010-09-24

WO 2005/120835 PCT/A1J20041000706
335
Optionally each third bit-pattern is generated from the second bit-pattern by
adding an index of one or more bits,
bytes or characters to the second bit-pattern, the index having been added at
any position of the identifier,
including being appended before or after the identifier, or being distributed
within the identifier.

Optionally the index added to the second bit pattern for the respective second
bit-patterns is derived from a series
of indices.

Optionally the method includes the step of generating the index as required.

Optionally the one way function is more cryptographically secure than the
second function.
Optionally the second function is a logical function.

Optionally the logical function is an XOR function.

Optionally the one way function is a hash function.
Optionally each of the first bit-patterns is a key.

Optionally the method further includes the step of storing one or more code
segments in the memory, the code
segments being configured to run on a processor of the device, thereby
enabling the device to, for each of first bit
patterns to be retrieved;

generate the third-bit pattern corresponding to the first bit pattern to be
retrieved;

apply the one way function to the third bit-pattern, thereby to generate the
first result; and

apply a third function to the first result and the second result corresponding
to the first bit-pattern to be retrieved,
thereby to generate that first bit pattern;

wherein the third function is the inverse of the second function.
Optionally the third function and the second function are the same.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
336
Optionally the second bit-pattern was generated randomly or pseudo-randomly.

Optionally method further including the step, performed prior to step (a), of
determining the second bit-pattern.

Optionally determining the second bit-pattern includes generating the second
bit pattern randomly or pseudo-
randomly.

Optionally determining the second bit-pattern includes generating the second
bit pattern based on a stochastic
process or mechanism.

Optionally determining the second bit-pattern includes selecting the second-
bit pattern from an existing list or
sequence of bit-patterns.

In a further aspect the present invention provides a method of storing
multiple first bit-patterns in non-volatile
memory of each of a plurality of devices, the method comprising, for each of
the first bit-patterns to be stored:
(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns in
each device are relatively unique
with respect to each other, and the second bit patterns of the respective
devices are relatively unique with respect
to each other.

Optionally step (c) comprises, for each device:
(d) determining a first memory location; and

(e) storing the second result at the first memory location.

Optionally step (d) includes randomly selecting the first memory location.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
337
Optionally step (d) includes selecting the first memory location based on a
stochastic process or mechanism.
Optionally step (d) includes selecting the first memory location from an
existing list or sequence of memory
locations.

Optionally the first memory locations of the devices are selected such that,
from device to device, there is no
overlap of the positions of at least some of the bits, bytes or characters of
the devices' respective second results.
Optionally the first memory locations of the devices are selected such that,
from device to device, positions of at
least some of the bits, bytes or characters of the devices' respective second
results overlap.

Optionally the first memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective second results are shuffled,
rotated or otherwise ordered differently.

Optionally the first memory locations of the devices are selected such that,
from device to device, bit, byte or
character positions of the devices' respective second results are shuffled,
rotated or otherwise ordered differently.
Optionally for each device, each third bit-pattern is generated from the
second bit-pattern by removing, adding or
changing one or more bits, bytes or characters of the second bit-pattern.

Optionally for each device, each third bit-pattern is generated from the
second bit-pattern by adding an index of
one or more bits, bytes or characters to the second bit-pattern, the index
having been added at any position of the
identifier, including being distributed within the identifier.


Optionally the index added to the second bit-pattern for the respective second
bit-patterns is derived from a series
of indices.

Optionally the method includes the step, for each device, of generating the
index as required.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
338
Optionally the one way function is more cryptographically secure than the
second function.

Optionally the second function is a logical function.
Optionally the logical function is an XOR function.
Optionally the one way function is a hash function.
Optionally each of the first bit-patterns is a key.


Optionally the method further includes the step of storing one or more code
segments in the memory of each
device, the code segments being configured to run on a processor of each
device, thereby enabling each device to,
for each of first bit-patterns to be retrieved:

generate the third-bit pattern corresponding to the first bit pattern to be
retrieved;

apply the one way function to the third bit-pattern, thereby to generate the
first result; and

apply a third function to the first result and the second result corresponding
to the first bit-pattern to be retrieved,
thereby to generate that first bit-pattern;

wherein the third function is the inverse of the second function.
Optionally the third function and the second function are the same.

Optionally the second bit-pattern for each device was generated randomly or
pseudo-randomly.

Optionally the second bit-pattern for each device was generated based on a
stochastic process or mechanism.

Optionally there is provided a device manufactured in accordance with the
method of storing multiple first bit-
patterns in non-volatile memory of a device, the method comprising, for each
of the first bit-patterns to be stored:
(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;


CA 02716065 2010-09-24

WO 200S/120835 PCT/AU2004/000706
339
(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other.

Optionally there is provided a device manufactured in accordance with the
method of method of storing multiple
first bit-patterns in non-volatile memory of a device, the method comprising,
for each of the first bit-patterns to be
stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns are
relatively unique compared to
each other; andfurther including the step of

storing one or more code segments in the memory, the code segments being
configured to run on a processor of
the device, thereby enabling the device to, for each of first bit-patterns to
be retrieved:

generate the third-bit pattern corresponding to the first bit pattern to be
retrieved;

apply the one way function to the third bit-pattern, thereby to generate the
first result; and

apply a third function to the first result and the second result corresponding
to the first bit-pattern to be retrieved,
thereby to generate that first bit-pattern;

wherein the third function is the inverse of the second function.

Optionally there is provided a plurality of devices manufactured in accordance
with the method of storing
multiple first bit-patterns in non-volatile memory of each of a plurality of
devices, the method comprising, for
each of the first bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
340
(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns in
each device are relatively unique
with respect to each other, and the second bit-patterns of the respective
devices are relatively unique with respect
to each other.

Optionally there is provided a plurality of devices manufactured in accordance
with the of method of storing
multiple first bit-patterns in non-volatile memory of each of a plurality of
devices, the method comprising, for
each of the first bit-patterns to be stored:

(a) applying a one way function to a third bit-pattern based on a second bit-
pattern associated with the
device, thereby to generate a first result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern;

wherein the third bit-patterns used for the respective first bit-patterns in
each device are relatively unique
with respect to each other, and the second bit-patterns of the respective
devices are relatively unique with respect
to each other, and further including the step of

storing one or more code segments in the memory of each device, the code
segments being configured to run on a
processor of each device, thereby enabling each device to, for each of first
bit-patterns to be retrieved:

generate the third-bit pattern corresponding to the first bit pattern to be
retrieved;

apply the one way function to the third bit-pattern, thereby to generate the
first result; and

apply a third function to the first result and the second result corresponding
to the first bit-pattern to be retrieved,
thereby to generate that first bit-pattern;

wherein the third function is the inverse of the second function.

Optionally there is provided a method implemented in a first entity configured
to authenticate a digital signature
supplied by a second entity, wherein one of the entities includes a base key
and the other of the entities includes a
variant key and a bit-pattern, the variant key being based on the result of
applying a one way function to the base
key and the bit-pattern, the digital signature having been generated by the
second entity using its key to digitally
signing at least part of data to be authenticated, the first entity being
configured to:


CA 02716065 2010-09-24

WO 2005/120835 PCTIAU2004/000706
341
(a) receive the digital signature from the second entity;

(b) receive the data; and

(c) authenticate the digital signature based on the received data and the
first entity's key.

Optionally there is provided a method implemented in a first entity including:
a first bit-pattern

a non-volatile memory storing resource data,

a first base key for use with at least a first variant key;

a second variant key for use with a second base key, the second variant key
being the result of a one way
function applied to: the second base key; and the first bit-pattern or a
modified bit-pattern based on the first bit-
pattern.

Optionally there is provided a method for enabling or disabling a verification
process of a first entity in response
to a predetermined event, the first entity having at least one associated bit-
pattern and at least one variant key,
each of the variant keys having been generated by applying a one way function
to: a base key; and one or more of
the at least one bit-patterns, respectively; or one or more alternative bit
patterns, each of the alternative bit-
patterns being based on one or the at least one bit-patterns, the method
including

the method including:

(a) determining that the predetermined event has happened; and

(b) enabling or disabling at least one of the first variant keys in response
the predetermined event.

Optionally there is provided a method implemented in a system for enabling
authenticated communication
between a first entity and at least one other entity, the system including a
second entity, wherein:

the first entity and the second entity share transport keys; and

the second entity includes at least one authentication key configured to be
transported from the second entity to
the first entity using the transport keys, the authentication key being usable
to enable the authenticated
communication by the first entity.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
342
Optionally there is provided a method for storing a first bit-pattern in non-
volatile memory of a device, the
method comprising:

(a) applying a one way function to a second bit-pattern associated with the
device, thereby to generate a first
result;

(b) applying a second function to the first result and the first bit-pattern,
thereby to generate a second result;
and

(c) storing the second result in the memory, thereby indirectly storing the
first bit-pattern.

A method according to claim 1, for storing a bit-pattern in each of a
plurality of devices, each of the devices
having a memory, the method comprising, for each device:

(a) determining a first memory location; and

(b) storing the bit-pattern at the first memory location;

wherein the first memory locations are different in at least a plurality of
the respective devices.
Optionally there is provided a method for storing at least one functionally
identical code segment in each of a
plurality of devices, each of the devices having a memory, the method
comprising, for each device:

(a) determining a first memory location; and

(b) storing a first of the at least one code segments in the memory at the
first memory location;
wherein the first memory location is different in at least a plurality of the
respective devices.
Optionally there is provided a method for providing a sequence of nonces (R0,
RI, R2, ...) commencing with a
current seed of a sequence of seeds (xl, x2, x3,...), the method comprising:

(a) applying a one-way function to the current seed, thereby to generate a
current nonce; (b) outputting the
current nonce;

(c) using the current seed to generate a next seed in a sequence of seeds, the
seed so generated becoming the
current seed; and

(c) repeating steps (a) to (c) as required to generate further nonces in the
sequence of nonces.


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
343
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1. Example State machine notation
Figure 2. Single SoPEC A4 Simplex system
Figure 3. Dual SoPEC A4 Simplex system
Figure 4. Dual SoPEC A4 Duplex system
Figure 5. Dual SoPEC A3 simplex system
Figure 6. Quad SoPEC A3 duplex system
Figure 7. SoPEC A4 Simplex system with extra SoPEC used as DRAM storage
Figure 8. SoPEC A4 Simplex system with network connection to Host PC
Figure 9. Document data flow
Figure 10. Pages containing different numbers of bands
Figure 11. Contents of a page band
Figure 12. Page data path from host to SoPEC
Figure 13. Page structure
Figure 14. SoPEC System Top Level partition
Figure 15. Proposed SoPEC CPU memory map (not to scale)
Figure 16. Possible USB Topologies for Multi-SoPEC systems
Figure 17. CPU block diagram
Figure 18. CPU bus transactions
Figure 19. State machine for a CPU subsystem slave
Figure 20. Proposed SoPEC CPU memory map (not to scale)
Figure 21. MMU Sub-block partition, external signal view
Figure 22. MMU Sub-block partition, internal signal view
Figure 23. DRAM Write buffer
Figure 24. DIU waveforms for multiple transactions
Figure 25. SoPEC LEON CPU core
Figure 26. Cache Data RAM wrapper
Figure 27. Realtime Debug Unit block diagram
Figure 28. Interrupt acknowledge cycles for a single and pending interrupts
Figure 29. UHU Dataflow
Figure 30. UHU Basic Block Diagram
Figure 31. ehci ohci Basic Block Diagram.
Figure 32. uhu ctl
Figure 33. uhu_dma
Figure 34. EHCI DIU Buffer Partition
Figure 35. UDU Sub-block Partition
Figure 36. Local endpoint packet buffer partitioning
Figure 37. Circular buffer operation
Figure 38. Overview of Control Transfer State Machine
Figure 39. Writing a Setup packet at the start of a Control-In transfer


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
344
Figure 40. Reading Control-In data
Figure 41. Status stage of Control-In transfer
Figure 42. Writing Control-Out data
Figure 43. Reading Status In data during a Control-Out transfer
Figure 44. Reading bulk/interrupt IN data
Figure 45. A bulk OUT transfer
Figure 46. VCI slave port bus adapter
Figure 47. Duty Cycle Select
Figure 48. Low Pass filter structure
Figure 49. GPIO partition
Figure 50. GPIO Partition (continued)
Figure 51. LEON UART block diagram
Figure 52. Input de-glitch RTL diagram
Figure 53. Motor control RTL diagram
Figure 54. BLDC controllers RTL diagram
Figure 55. Period Measure RTL diagram
Figure 56. Frequency Modifier sub-block partition
Figure 57. Fixed point bit allocation
Figure 58. Frequency Modifier structure
Figure 59. Line sync generator diagram
Figure 60. HSI timing diagram
Figure 61. Centronic interface timing diagram
Figure 62. Parallel Port EPP read and write transfers
Figure 63. ECP forward Data and command cycles
Figure 64. ECP Reverse Data and command cycles
Figure 65. 68K example read and write access
Figure 66. Non burst, non pipelined read and write accesses with wait states
Figure 67. Generic Flash Read and Write operation
Figure 68. Serial flash example 1 byte read and write protocol
Figure 69. MMI sub-block partition
Figure 70. MMI Engine sub-block diagram
Figure 71. Instruction field bit allocation
Figure 72. Circular buffer operation
Figure 73. ICU partition
Figure 74. Interrupt clear state diagram
Figure 75. Timers sub-block partition diagram
Figure 76. Watchdog timer RTL diagram
Figure 77. Generic timer RTL diagram
Figure 78. Pulse generator RTL diagram
Figure 79. SoPEC clock relationship


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
345
Figure 80. CPR block partition
Figure 81. Reset Macro block structure
Figure 82. Reset control logic state machine
Figure 83. PLL and Clock divider logic
Figure 84. PLL control state machine diagram
Figure 85. Clock gate logic diagram
Figure 86. SoPEC clock distribution diagram
Figure 87. Sub-block partition of the ROM block
Figure 88. LSS master system-level interface
Figure 89. START and STOP conditions
Figure 90. LSS transfer of 2 data bytes
Figure 91. Example of LSS write to a QA Chip
Figure 92. Example of LSS read from QA Chip
Figure 93. LSS block diagram
Figure 94. Example LSS multi-command transaction
Figure 95. Start and stop generation based on previous bus state
Figure 96. S master state machine
Figure 97. LSS Master timing
Figure 98. SoPEC System Top Level partition
Figure 99. Shared read bus with 3 cycle random DRAM read accesses
Figure 100. Interleaving CPU and non-CPU read accesses
Figure 101. Interleaving read and write accesses with 3 cycle random DRAM
accesses
Figure 102. Interleaving write accesses with 3 cycle random DRAM accesses
Figure 103. Read protocol for a SoPEC Unit making a single 256-bit access
Figure 104. Read protocol for a CPU making a single 256-bit access
Figure 105. Write Protocol shown for a SoPEC Unit making a single 256-bit
access
Figure 106. Protocol for a posted, masked, 128-bit write by the CPU.
Figure 107. Write Protocol shown for CDU making four contiguous 64-bit
accesses
Figure 108. Timeslot based arbitration
Figure 109. Timeslot based arbitration with separate pointers
Figure 110. Example (a), separate read and write arbitration
Figure 111. Example (b), separate read and write arbitration
Figure 112. Example (c), separate read and write arbitration
Figure 1 l3. DIU Partition
Figure 114. DIU Partition
Figure 115. Multiplexing and address translation logic for two memory
instances
Figure 116. Timing of dau_dcu_valid, dcu_dau_adv and dcu_dau_wadv
Figure 117. DCU state machine
Figure 118, Random read timing
Figure 119. Random write timing


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
346
Figure 120. Refresh timing
Figure 121. Page mode write timing
Figure 122. Timing of non-CPU DIU read access
Figure 123. Timing of CPU DIU read access
Figure 124. CPU DIU read access
Figure 125. Timing of CPU DIU write access
Figure 126. Timing of a non-CDU / non-CPU DIU write access
Figure 127. Timing of CDU DIU write access
Figure 128. Command multiplexor sub-block partition
Figure 129. Command Multiplexor timing at DIU requestors interface
Figure 130. Generation of re-arbitrate and re-arbitrate-wadv
Figure 131. CPU Interface and Arbitration Logic
Figure 132. Arbitration timing
Figure 133. Setting RotationSync to enable a new rotation.
Figure 134. Timeslot based arbitration
Figure 135. Timeslot based arbitration with separate pointers
Figure 136. CPU pre-access write lookahead pointer
Figure 137. Arbitration hierarchy
Figure 138. Hierarchical round-robin priority comparison
Figure 139. Read Multiplexor partition.
Figure 140. Read Multiplexor timing
Figure 141. Read command queue (4 deep buffer)
Figure 142. State-machines for shared read bus accesses
Figure 143. Read Multiplexor timing for back to back shared read bus transfers
Figure 144. Write multiplexor partition
Figure 145. Block diagram of PCU
Figure 146. PCU accesses to PEP registers
Figure 147. Command Arbitration and execution
Figure 148. DRAM command access state machine
Figure 149. Outline of contone data flow with respect to CDU
Figure 150. Block diagram of CDU
Figure 151. State machine to read compressed contone data
Figure 152. DRAM storage arrangement for a single line of JPEG 8x8 blocks in 4
colors
Figure 153. State machine to write decompressed contone data
Figure 154. Lead-in and lead-out clipping of contone data in multi-SoPEC
environment
Figure 155. Block diagram of CFU
Figure 156. DRAM storage arrangement for a single line of JPEG blocks in 4
colors
Figure 157. State machine to read decompressed contone data from DRAM
Figure 158. Block diagram of color space converter
Figure 159. High level block diagram of LBD in context


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
347
Figure 160. Schematic outline of the LBD and the SFU
Figure 161. Block diagram of lossless bi-level decoder
Figure 162. Stream decoder block diagram
Figure 163. Command controller block diagram
Figure 164. State diagram for the Command Controller (CC) state machine
Figure 165. Next Edge Unit block diagram
Figure 166. Next edge unit buffer diagram
Figure 167. Next edge unit edge detect diagram
Figure 168. State diagram for the Next Edge Unit (NEU) state machine
Figure 169. Line fill unit block diagram
Figure 170. State diagram for the Line Fill Unit (LFU) state machine
Figure 171. Bi-level DRAM buffer
Figure 172. Interfaces between LBD/SFU/HCU
Figure 173. SFU Sub-Block Partition
Figure 174. LBDPrevLineFifo Sub-block
Figure 175. Timing of signals on the LBDPrevLineFIFO interface to DIU and
Address Generator
Figure 176. Timing of signals on LBDPrevLineFIFO interface to DIU and Address
Generator
Figure 177. LBDNextLineFifo Sub-block
Figure 178. Timing of signals on LBDNextLineFIFO interface to DIU and Address
Generator
Figure 179. LBDNextLineFIFO DIU Interface State Diagram
Figure 180. LDB to SFU write interface
Figure 181. LDB to SFU read interface (within a line)
Figure 182. HCUReadLineFifo Sub-block
Figure 183. DIU Write Interface
Figure 184. DIU Read Interface multiplexing by select hrfpllf
Figure 185. DIU read request arbitration logic
Figure 186. Address Generation
Figure 187. X scaling control unit
Figure 188. Y scaling control unit
Figure 189. Overview of X and Y scaling at HCU interface
Figure 190. High level block diagram of TE in context
Figure 191. Example QR Code developed by Denso of Japan
Figure 192. Netpage tag structure
Figure 193. Netpage tag with data rendered at 1600 dpi (magnified view)
Figure 194. Example of 2x2 dots for each block of QR code
Figure 195. Placement of tags for portrait & landscape printing
Figure 196. General representation of tag placement
Figure 197. Composition of SoPEC's tag format structure
Figure 198. Simple 3x3 tag structure
Figure 199. 3x3 tag redesigned for 21 x 21 area (not simple replication)


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU20041000706
348
Figure 200. TE Block Diagram
Figure 201. TE Hierarchy
Figure 202. Tag Encoder Top-Level FSM
Figure 203. Logic to combine dot information and Encoded Data
Figure 204. Generation of Lastdotintag
Figure 205. Generation of Dot Position Valid
Figure 206. Generation of write enable to the TFU
Figure 207. Generation of Tag Dot Number
Figure 208. TDI Architecture
Figure 209. Data Flow Through the TDI
Figure 210. Raw tag data interface block diagram
Figure 211. RTDI State Flow Diagram
Figure 212. Relationship between te_endoftagdata, to startofbandstore and to
endofbandstore
Figure 213. TDi State Flow Diagram
Figure 214. Mapping of the tag data to codewords 0-7 for (15,5) encoding.
Figure 215. Coding and mapping of uncoded Fixed Tag Data for (15,5) RS encoder
Figure 216. Mapping of pre-coded Fixed Tag Data
Figure 217. Coding and mapping of Variable Tag Data for (15,7) RS encoder
Figure 218. Coding and mapping of uncoiled Fixed Tag Data for (15,7) RS
encoder
Figure 219. Mapping of 2D decoded Variable Tag Data, DataRedun = 0
Figure 220. Simple block diagram for an m=4 Reed Solomon Encoder
Figure 221. RS Encoder VO diagram
Figure 222. (15,5) & (15,7) RS Encoder block diagram
Figure 223. (15,5) RS Encoder timing diagram
Figure 224. (15,7) RS Encoder timing diagram
Figure 225. Circuit for multiplying by a3
Figure 226. Adding two field elements, (15,5) encoding.
Figure 227. RS Encoder Implementation
Figure 228. encoded tag data interface
Figure 229. Breakdown of the Tag Format Structure
Figure 230. TFSI FSM State Flow Diagram
Figure 231. TFS Block Diagram
Figure 232. Table A address generator
Figure 233. Table C interface block diagram
Figure 234. Table B interface block diagram
Figure 235. Interfaces between TE, TFU and HCU
Figure 236. 16-byte FIFO in TFU
Figure 237. High level block diagram showing the HCU and its external
interfaces
Figure 238. Block diagram of the HCU
Figure 239. Block diagram of the control unit


CA 02716065 2010-09-24

WO 20051120835 PCTIAU2004/000706
349
Figure 240. Block diagram of determine advdot unit
Figure 241. Page structure
Figure 242. Block diagram of margin unit
Figure 243. Block diagram of dither matrix table interface
Figure 244. Example reading lines of dither matrix from DRAM
Figure 245. State machine to read dither matrix table
Figure 246. Contone dotgen unit
Figure 247. Block diagram of dot reorg unit
Figure 248. HCU to DNC interface (also used in DNC to DWU, LLU to PHI)
Figure 249. SFU to HCU (all feeders to HCU)
Figure 250. Representative logic of the SFU to HCU interface
Figure 251. High level block diagram of DNC
Figure 252. Dead nozzle table format
Figure 253. Set of dots operated on for error diffusion
Figure 254. Block diagram of DNC
Figure 255. Sub-block diagram of ink replacement unit
Figure 256. Dead nozzle table state machine
Figure 257. Logic for dead nozzle removal and ink replacement
Figure 258. Sub-block diagram of error diffusion unit
Figure 259. Maximum length 32-bit LFSR used for random bit generation
Figure 260. High level data flow diagram of DWU in context
Figure 261. Printhead Nozzle Layout for conceptual 36 Nozzle AB single segment
printhead
Figure 262. Paper and printhead nozzles relationship (example with DI=D2--5)
Figure 263. Dot line store logical representation
Figure 264. Conceptual view of 2 adjacent printhead segments possible row
alignment
Figure 265. Conceptual view of 2 adjacent printhead segments row alignment (as
seen by the LLU)
Figure 266. Even dot order in DRAM (13312 dot wide line)
Figure 267. Dotline FIFO data structure in DRAM (LLU specification)
Figure 268. DWU partition
Figure 269. Sample dot data generation for color 0 even dot
Figure 270. Buffer address generator sub-block
Figure 271. DIU Interface sub-block
Figure 272. Interface controller state diagram
Figure 273. High level data flow diagram of LLU in context
Figure 274. Paper and printhead nozzles relationship (example with Di=DI=5)
Figure 275. Conceptual view of vertically misaligned printhead segment rows
(external)
Figure 276. Conceptual view of vertically misaligned printhead segment rows
(internal)
Figure 277. Conceptual view of color dependent vertically misaligned printhead
segment rows (internal)
Figure 278. Conceptual horizontal misalignment between segments
Figure 279. Relative positions of dot fired (example cases)


CA 02716065 2010-09-24

WO 2005/120835 PCT/AU2004/000706
350
Figure 280. Example left and right margins
Figure 281. Dot data generated and transmitted order
Figure 282. Dotline FIFO data structure in DRAM (LLU specification)
Figure 283. LLU partition
Figure 284. DIU interface
Figure 285. Interface controller state diagram
Figure 286. Address generator logic
Figure 287. Write pointer state machine
Figure 288. PHI to linking printhead connection (Single SoPEC)
Figure 289. PHI to linking printhead connection (2 SoPECs)
Figure 290. CPU command word format
Figure 291. Example data and command sequence on a print head channel
Figure 292. PHI block partition
Figure 293. Data generator state diagram
Figure 294. PHI mode Controller
Figure 295. Encoder RTL diagram
Figure 296. 28-bit scrambler
Figure 297. Printing with I SoPEC
Figure 298. Printing with 2 SoPECs (existing hardware)
Figure 299. Each SoPEC generates dot data and writes directly to a single
printhead
Figure 300. Each SoPEC generates dot data and writes directly to a single
printhead
Figure 301. Two SoPECs generate dots and transmit directly to the larger
printhead
Figure 302. Serial Load
Figure 303. Parallel Load
Figure 304. Two SoPECs generate dot data but only one transmits directly to
the larger printhead
Figure 305. Odd and Even nozzles on same shift register
Figure 306. Odd and Even nozzles on different shift registers
Figure 307. Interwoven shift registers
Figure 308. Linking Printhead Concept
Figure 309. Linking Printhead 30ppm
Figure 310. Linking Printhead 60ppm
Figure 311. Theoretical 2 tiles assembled as A-chip / A-chip - right angle
join
Figure 312. Two tiles assembled as A-chip / A-chip
Figure 313. Magnification of color n in A-chip / A-chip
Figure 314. A-chip / A-chip growing offset
Figure 315. A-chip / A-chip aligned nozzles, sloped chip placement
Figure 316. Placing multiple segments together
Figure 317. Detail of a single segment in a multi-segment configuration
Figure 318. Magnification of inter-slope compensation
Figure 319. A-chip / B-chip

Representative Drawing

Sorry, the representative drawing for patent document number 2716065 was not found.

Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(22) Filed 2004-05-27
(41) Open to Public Inspection 2005-12-22
Examination Requested 2010-09-24
Dead Application 2014-04-29

Abandonment History

Abandonment Date Reason Reinstatement Date
2012-05-28 FAILURE TO PAY APPLICATION MAINTENANCE FEE 2012-08-30
2013-04-29 R30(2) - Failure to Respond
2013-05-27 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2010-09-24
Registration of a document - section 124 $100.00 2010-09-24
Application Fee $400.00 2010-09-24
Maintenance Fee - Application - New Act 2 2006-05-29 $100.00 2010-09-24
Maintenance Fee - Application - New Act 3 2007-05-28 $100.00 2010-09-24
Maintenance Fee - Application - New Act 4 2008-05-27 $100.00 2010-09-24
Maintenance Fee - Application - New Act 5 2009-05-27 $200.00 2010-09-24
Maintenance Fee - Application - New Act 6 2010-05-27 $200.00 2010-09-24
Maintenance Fee - Application - New Act 7 2011-05-27 $200.00 2011-04-26
Reinstatement: Failure to Pay Application Maintenance Fees $200.00 2012-08-30
Maintenance Fee - Application - New Act 8 2012-05-28 $200.00 2012-08-30
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
SILVERBROOK RESEARCH PTY LTD
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Cover Page 2010-11-17 2 37
Abstract 2010-09-24 2 75
Description 2010-09-24 350 13,510
Description 2010-09-24 350 17,096
Description 2010-09-24 350 17,334
Description 2010-09-24 207 8,815
Claims 2010-09-24 1 50
Drawings 2010-09-24 223 5,903
Prosecution-Amendment 2011-05-24 1 41
Correspondence 2011-05-26 2 87
Prosecution-Amendment 2011-08-04 1 39
Correspondence 2010-10-21 1 41
Assignment 2010-09-24 6 230
PCT 2010-09-24 2 77
Prosecution-Amendment 2010-11-24 2 64
Correspondence 2010-12-02 1 20
Prosecution-Amendment 2011-04-01 1 40
Correspondence 2011-05-11 1 19
Correspondence 2011-05-31 1 17
Prosecution-Amendment 2011-12-21 1 44
Prosecution-Amendment 2012-10-29 3 104