Patent ID: 12240231

Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements. The figures are not necessarily to scale, and the size of some parts may be exaggerated to more clearly illustrate the example shown. Moreover the drawings provide examples and/or implementations consistent with the description; however, the description is not limited to the examples and/or implementations provided in the drawings.

DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific examples in which the disclosure may be practiced. It is to be understood that other examples may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. It is to be understood that features of the various examples described herein may be combined, in part or whole, with each other, unless specifically noted otherwise.

Examples of fluidic dies may include fluid actuators. The fluid actuators may include thermal resistor based actuators (e.g. for firing or recirculating fluid), piezoelectric membrane based actuators, electrostatic membrane actuators, mechanical/impact driven membrane actuators, magneto-strictive drive actuators, or other suitable devices that may cause displacement of fluid in response to electrical actuation. Fluidic dies described herein may include a plurality of fluid actuators, which may be referred to as an array of fluid actuators. An actuation may refer to singular or concurrent actuation of fluid actuators of the fluidic die to cause fluid displacement. An example of an actuation event is a fluid firing event whereby fluid is jetted through a nozzle.

In example fluidic dies, the array of fluid actuators may be arranged into sets of fluid actuators, where each such set of fluid actuators may be referred to as a “primitive” or a “firing primitive.” The number of fluid actuators in a primitive may be referred to as a size of the primitive. In some examples, the fluid actuators of each primitive are addressable using a same set of actuation addresses, with each fluid actuator of a primitive corresponding to a different actuation address of the set of actuation addresses. In examples, the set of addresses are communicated to each primitive via an address bus which is shared by each primitive.

In one example, in addition to address data, each primitive receives actuation data (sometimes referred to as fire data or nozzle data) via a corresponding data line, and a fire signal (also referred to as a fire pulse) via a fire signal line. In one example, during an actuation or firing event, in response to a fire signal being present of the fire signal line, in each primitive, the fluid actuator corresponding to the address communicated via the address line will actuate (e.g., fire) based on the actuation data corresponding to the primitive.

In some cases, electrical and fluidic operating constraints of a fluidic die may limit which fluid actuators of each primitive may be actuated concurrently for a given actuation event. Primitives facilitate actuation of fluid actuator subsets that may be concurrently actuated for a given actuation event to conform to such operating constraints.

To illustrate by way of example, if a fluidic die comprises four primitives, with each primitive including eight fluid actuators (with each fluid actuator corresponding to different address of a set of addresses 0 to 7), and where electrical and fluidic constraints limit actuation to one fluid actuator per primitive, a total of four fluid actuators (one from each primitive) may be concurrently actuated for a given actuation event. For example, for a first actuation event, the respective fluid actuator of each primitive corresponding to address “0” may be actuated. For a second actuation event, the respective fluid actuator of each primitive corresponding to address “5” may be actuated. As will be appreciated, such example is provided merely for illustration purposes, with fluidic dies contemplated herein may comprise more or fewer fluid actuators per primitive and more or fewer primitives per die.

Example fluidic dies may include fluid chambers, orifices, and/or other features which may be defined by surfaces fabricated in a substrate of the fluidic die by etching, microfabrication (e.g., photolithography), micromachining processes, or other suitable processes or combinations thereof. Some example substrates may include silicon based substrates, glass based substrates, gallium arsenide based substrates, and/or other such suitable types of substrates for microfabricated devices and structures. As used herein, fluid chambers may include ejection chambers in fluidic communication with nozzle orifices from which fluid may be ejected, and fluidic channels through which fluid may be conveyed. In some examples, fluidic channels may be microfluidic channels where, as used herein, a microfluidic channel may correspond to a channel of sufficiently small size (e.g., of nanometer sized scale, micrometer sized scale, millimeter sized scale, etc.) to facilitate conveyance of small volumes of fluid (e.g., picoliter scale, nanoliter scale, microliter scale, milliliter scale, etc.).

In some examples, a fluid actuator may be arranged as part of a nozzle where, in addition to the fluid actuator, the nozzle includes an ejection chamber in fluidic communication with a nozzle orifice. The fluid actuator is positioned relative to the fluid chamber such that actuation of the fluid actuator causes displacement of fluid within the fluid chamber that may cause ejection of a fluid drop from the fluid chamber via the nozzle orifice. Accordingly, a fluid actuator arranged as part of a nozzle may sometimes be referred to as a fluid ejector or an ejecting actuator.

In some examples, a fluid actuator may be arranged as part of a pump where, in addition to the fluidic actuator, the pump includes a fluidic channel. The fluidic actuator is positioned relative to a fluidic channel such that actuation of the fluid actuator generates fluid displacement in the fluid channel (e.g., a microfluidic channel) to convey fluid within the fluidic die, such as between a fluid supply and a nozzle, for instance. An example of fluid displacement/pumping within the die is sometimes also referred to as micro-recirculation. A fluid actuator arranged to convey fluid within a fluidic channel may sometimes be referred to as a non-ejecting or microrecirculation actuator. In one example nozzle, the fluid actuator may comprise a thermal actuator, where actuation of the fluid actuator (sometimes referred to as “firing”) heats the fluid to form a gaseous drive bubble within the fluid chamber that may cause a fluid drop to be ejected from the nozzle orifice. As described above, fluid actuators may be arranged in arrays (such as columns, for example), where the actuators may be implemented as fluid ejectors and/or pumps, with selective operation of fluid ejectors causing fluid drop ejection and selective operation of pumps causing fluid displacement within the fluidic die. In some examples, fluid actuators of such arrays may be arranged into primitives.

Some fluidic die receive data in the form of data packets, sometimes referred to as fire pulse groups or a fire pulse group data packets, where each fire pulse group includes a head portion and a body portion. In some examples, the head portion includes configuration data for on-die configuration functions such as address data (representing an address of the set of actuation addresses) for address drivers, fire pulse data for fire pulse control circuitry, and sensor data for sensor control circuitry (e.g., selecting and configuring thermal sensors), for instance. In one example, the body portion of each fire pulse group includes actuator data that selects which nozzles corresponding to the address represented by the address data in the head portion will be actuated in response to a fire pulse.

In some fluidic dies, an address driver receives address data bits from the head portion of each fire pulse group and drives the address represented by the data bits onto an address bus, with the address bus communicating the address to the array of fluidic actuators. In addition to driving the address represented by the address bits of the fire pulse group onto the address bus, in some cases, address drivers also drive the compliment of the address onto the address bus.

Address driver circuitry consumes a relatively large amount of silicon area on a fluid die, thereby increasing a size and cost of the die. As will be described in greater detail herein, according to examples of the present disclosure, address driver circuitry is divided into multiple portions, with each portion driving a different portion of an address onto an address bus. In one example, the address driver is divided into two portions, each of the address driver circuitry driving a different portion of the actuation address onto the address bus. By dividing an address driver into multiple portions, an amount of silicon area required in at least one dimension, such as a width, thereby conserving silicon in at the least one dimension and enabling a fluidic die to be smaller in at least the one dimension.

FIG.1is a block and schematic diagram generally illustrating an integrated circuit30for an array of fluid actuators, according to one example of the present disclosure. In one example, integrated circuit30is part of a fluid die, which will be described in greater detail below. Integrated circuit30includes an address bus32to communicate a set of addresses to an array of fluid actuating devices34, illustrated at fluid actuating devices FA(0) to FA(n), where fluid actuating devices FA(0) to FA(n) are addressable using the set of addresses. In one example, each fluid actuating device FA(0) to FA(n) corresponds to a different one of the addresses of the set of addresses. In one example, fluid actuating devices FA(0) to FA(n) of array34are arranged to form a column.

In one example, integrated circuit30includes a first group of configuration functions36-1including a first address driver38-1and a number of further functions illustrated as CF1(0) to CF1(a), and a second group of configuration functions36-2including a second address driver38-2and a number of further configuration functions illustrated as CF2(0) to CF2(b). In some cases, in addition to the address drives38-1and38-2, the further configuration functions CF1(0) to CF1(a) and CF2(0) to CF2(b) of first and second groups of configuration functions36-1and36-2include, among others, a fire pulse control configuration function (e.g., to adjust warming, precursor, and fire pulse configurations), and sensor configuration functions (e.g., to select and control thermal sensor configurations), for example.

In operation, first address driver38-1drives a first portion of an address of the set of addresses onto address bus32, and second address driver38-2drives a remaining portion of the address of the set of addresses onto address bus32, where at least one of the fluid actuating devices of the array of fluid actuating devices34corresponds to the address driven on address bus32by first and second address drivers38-1and38-2. By dividing an address driver into multiple portions, such as into address drivers38-1and38-2, as illustrated byFIG.1, an amount of silicon space required for address driver circuitry in at least one dimension, such as a width dimension, W, is lessened, thereby enabling a fluidic die of which integrated circuit30may form a part to be smaller in at least the one dimension.

FIG.2is a block and schematic diagram illustrating an example of a fluidic die40, in accordance with one example of the present disclosure. According to the illustrated example, in addition to the array of fluid actuators34which, as described above, is addressable by a set of addresses, fluidic die40includes first address driver38-1, which provides a first portion of an address of the set of address based on a first set of address bits39-1, and second address driver38-2, which provides a second portion of an address of the set of address based on a second set of address bits39-2. In one example, the first and second sets of address bits together provide one address of the set of addresses.

Fluidic die40further includes an array of memory elements50, such as illustrated by memory element51. According to one example, array of memory elements50includes a first portion of memory elements52-1corresponding to first address driver38-1, a second portion of memory elements52-2corresponding to second address driver38-2, and a third portion of memory elements54corresponding to the array of fluid actuators34. In one example, the array of memory elements50is to serially load data segments60, each data segment including a series of data bits, such that upon completion of loading of a data segment60, memory elements of first portion of memory elements52-1store the first set of address bits39-1, and memory elements of second portion of memory elements52-2store the second set of address bits39-2. According examples, first and second address drivers38-1and38-2respectively receive first and second sets of address bits39-1and39-2from first and second portions of memory elements52-1and52-2to provide the first and second portions of the address of the set of addresses to the array of fluid actuators34.

In one example, the fluid actuators of the array of fluid actuators34are arranged to form a column extending in a longitudinal direction37. In one arrangement, as illustrated, first and second address drivers38-1and38-2are disposed as opposite ends of the column of fluid actuators (FAs) of array34. In one example, memory elements41of the array of memory elements40are arranged as a chain or series of memory elements implemented as a serial-to-parallel data converter, with the series memory elements disposed to extend in the longitudinal direction37of the array of fluid actuators34, such that the first and second portions of memory elements52-1and52-2are respectively disposed proximate to first and second address drivers38-1and38-2, and third portion of memory elements54is disposed proximate to the array of fluid actuators34.

By disposing the first and second address drivers38-1and38-2at opposite ends of the column of fluid actuators, FA(0) to FA(n), of the array of fluid actuators34, and by arranging the array of memory elements50as a chain of memory elements extending in longitudinal direction37, an amount of silicon space required in at least one dimension of fluidic die40, such as a width dimension, W, is lessened, thereby enabling a width of fluidic die40to be reduced.

FIG.3is a block and schematic diagram illustrating an example of fluidic die40, in accordance with the present disclosure. In one example, as illustrated the array of fluid actuators34is implemented as a column of fluid actuators, extending in longitudinal direction37, with the column of fluid actuators arranged to form a number of primitives, illustrated as primitives P(0) to P(m). In example, each primitive P(0) to P(m) has a number of fluid actuators, illustrated as fluid actuators FA(0) to FA(p). In one example, each primitive P(0) to P(m) uses the same set of addresses, with each fluid actuator FA(0) to FA(p) of each primitive corresponding to a different one of the addresses of the set of addresses, such as a different addresses of a set of addresses A(0) to A(p), for instance.

First group of configuration functions36-1includes first address driver38-1and a number of additional configuration functions, CF1(0) to CF1(a), and second group of configuration functions36-2includes second address driver38-2and a number of additional configuration functions, CF2(0) to CF2(b). First address driver38-1drives a first portion of an address of the set of addresses on address bus32based on first set of address bits39-1, and second address driver38-2drives a remaining portion of the address of the set of addresses based on second set of address bits39-2, with address bus32, in-turn, communicating the address to each primitive P(0) to P(m). In one example, as illustrated, first and second groups of configurations functions36-1and36-2are disposed in longitudinal direction37at opposite ends of array of fluid actuators34.

In one example, as illustrated, the array of memory elements50comprises a series or chain of memory elements51implemented as a serial-to-parallel data converter, with first portion52-1of memory elements51corresponding to first group of configuration functions36-1, second portion of memory elements52-2corresponding to second group of configuration functions36-2, and third portion of memory elements54corresponding to the array of fluid actuators34, with each memory element51of the third portion54corresponding to a different one of the primitives P(0) to P(m). In one example, the array of memory elements50comprises a sequential logic circuit (e.g., flip-flop arrays, latch arrays, etc.). In one example, the sequential logic circuit is adapted to function as a serial-in, parallel-out shift register.

In one example, the chain of memory elements51of array50extends in longitudinal direction37with first portion of memory cells52-1disposed proximate to first group of configuration functions36-1, second portion of memory cells52-2disposed proximate to second group of configuration functions36-2, and third group of memory cells54extending between first and second portions of memory cells52-1and52-2and proximate to the column of fluid actuators (FAs) of array34.

An example of the operation of fluidic die40, such as illustrated byFIG.3, is described below with reference toFIGS.4and5.FIG.4is a block diagram generally illustrating an example of data segment60received by array of memory elements50of fluidic die40. As illustrated, data segment60includes a series of data bits, such as illustrated by data bit61, including a first portion of data bits62-1, sometimes referred to as a “head”, a second portion of data bits62-2, sometimes referred to as a “tail”, and a third portion of data bits64, sometimes referred to as a “body”. Together, first, second, and third portions of data bits62-1,62-2, and64are collectively referred to as a fire pulse group.

First portion of data bits62-1comprises data bits for first group of configuration functions36-1, including first set of address data bits39-1for first address driver38-1. Second portion of data bits62-2comprises data bits for second group of configuration functions36-2, including second set of address data bits39-2for second address driver38-2. Third portion of data bits64includes actuation data bits for array of fluid actuators34, with each data bit61of third portion of data bits64corresponding to a different one of the primitives P(0) to P(m). The data bits of third portion of data bits64are sometimes referred to as primitive data.

With reference toFIG.3(andFIG.2), each data segment60of a series of such data segments is serially loaded into the array of memory elements50, beginning with a first bit of head portion62-1and ending with a last bit of tail portion62-2. After being serially loaded or shifted into the array of memory elements50, the data bits61of head portion62-1of data segment60are stored in first portion of memory elements52-1, with the first set of address bits39-1corresponding to first address driver38-1. Similarly, the data bits61of tail portion62-2of data segment60are stored in second portion of memory elements52-2, with the second set of address bits39-2corresponding to second address driver38-2. Data bits61of third portion64of data segment60are stored in third portion54of the array of memory elements50.

FIG.5is a block and schematic diagram generally illustrating portions of a primitive arrangement, such as primitive P(0) ofFIG.3. In one example, each fluid actuator, FA, is illustrated as a thermal resistor inFIG.5, and is connectable between a power source, VPP, and a reference potential (e.g., ground) via a corresponding controllable switch, such as illustrated by FETs70.

According to one example, each primitive, including primitive P(0), includes an AND-gate72receiving, at a first input, primitive data (e.g., actuator data) for primitive P(0) from corresponding memory element51of third group of memory elements54of the array of memory elements50. At a second input, AND-gate72receives a fire signal74(e.g., a fire pulse) which controls a duration of actuation or firing of a fluidic actuator, such as fluidic actuator FA(0). In one example, fire signal74is delayed by a delay element76, with each primitive having a different delay so that the firing of fluid actuators is not simultaneous among primitives P(0) to P(m).

In one example, each fluid actuator (FA) has a corresponding address decoder78receiving the address driven on address bus32by first and second address drivers38-1and38-2, and a corresponding AND-gate80for controlling a gate of FET70. AND-gate80receives the output of corresponding address decoder78at a first input, and the output of AND-gate72at a second input. It is noted that address decoder78and AND-gate80are repeated for each fluid actuator, FA, while AND-gate72and delay element76are repeated for each primitive.

In one example, after being loaded into the array of memory elements50, the fire pulse group data represented by the data bits61of head, tail, and body portions62-1,62-2, and64of data segment60(seeFIG.4) is processed by the corresponding groups of configuration functions38-1to38-2and primitives P(0) to P(m) to operate selected fluid actuators (FAs) to circulate fluid or eject fluid drops. For instance, with reference toFIG.5, in one example, if the actuator data stored in memory element51corresponding to primitive P(0) has a logic high (e.g., “1”) and a fire pulse signal74is present at the input of AND-gate72, the output of AND-gate72is set to a logic “high”. If the address driven on address bus32by first and second address drivers38-1and38-2in response to the sets of address bits39-1and39-2received from the corresponding memory elements of the first and second portions of memory elements54-1and54-2represents address “0”, the output of Address Decoder “0”78is set to a logic “high”. With the output of AND-gate72and Address Decoder “0”78each set to a logic “high”, the output of AND-gate80is also set to a logic “high”, thereby turning “on” corresponding FET70to energize fluid actuator FA(0) to displace fluid (e.g., eject a fluid drop), where a duration for which fluid actuator FA(0) is based on fire pulse signal74.

FIG.6is a block and schematic diagram generally illustrating an integrated circuit90for an array of fluid actuators, according to one example of the present disclosure. In one example, integrated circuit30is implemented as part of a fluid die. Integrated circuit90includes a series of memory elements100including a first portion of memory elements102-1corresponding to a first group of die configuration functions106-1, a second portion of memory elements102-2corresponding to a second group of die configuration functions106-2, and a third portion of memory elements104corresponding to array of fluid actuators108, with the memory elements of the third portion of memory elements104extending between the first and second portions of memory elements102-1and102-2.

In one example, array of fluid actuators108includes a number of fluid actuators indicated as fluid actuators FA(0) to F(n). In one example, first group of configuration functions106-1includes a number of configuration functions indicated as CF1(0) to CF1(a), and second group of configuration functions106-2includes a number of configuration functions indicated as CF2(0) to CF2(b). In examples, die configuration functions may include functions such as address drivers for driving addresses associated with the array of fluid actuators108, fire pulse control circuitry for adjusting actuation or firing times of fluid actuators of array of fluid actuators108via a fire signal, and sensor control circuitry for configuring sensor circuitry (e.g., selecting and configuring thermal sensors).

In examples, the series of memory elements100serially loads data segments including a series of data bits, such as data segment60illustrated byFIG.4, such that upon completion of loading of a data segment, the memory elements of the first portion of memory elements102-1store data bits for first group of die configuration functions106-1, the second portion of memory elements102-2store data bits for second group of die configuration functions106-2, and the third portion of memory elements104store data bits for array of fluid actuators108.

FIG.7is a block diagram illustrating one example of a fluid ejection system200. Fluid ejection system200includes a fluid ejection assembly, such as printhead assembly204, and a fluid supply assembly, such as ink supply assembly216. In the illustrated example, fluid ejection system200also includes a service station assembly208, a carriage assembly222, a print media transport assembly226, and an electronic controller230. While the following description provides examples of systems and assemblies for fluid handling with regard to ink, the disclosed systems and assemblies are also applicable to the handling of fluids other than ink.

Printhead assembly204includes at least one printhead212which ejects drops of ink or fluid through a plurality of orifices or nozzles214, where printhead212may be implemented, in one example, using integrated circuit30with fluid actuators FA(0) to FA(n) implemented as nozzles214, as previously described herein byFIG.1, for instance. In one example, the drops are directed toward a medium, such as print media232, so as to print onto print media232. In one example, print media232includes any type of suitable sheet material, such as paper, card stock, transparencies, Mylar, fabric, and the like. In another example, print media232includes media for three-dimensional (3D) printing, such as a powder bed, or media for bioprinting and/or drug discovery testing, such as a reservoir or container. In one example, nozzles214are arranged in at least one column or array such that properly sequenced ejection of ink from nozzles214causes characters, symbols, and/or other graphics or images to be printed upon print media232as printhead assembly204and print media232are moved relative to each other.

Ink supply assembly216supplies ink to printhead assembly204and includes a reservoir218for storing ink. As such, in one example, ink flows from reservoir218to printhead assembly204. In one example, printhead assembly204and ink supply assembly216are housed together in an inkjet or fluid-jet print cartridge or pen. In another example, ink supply assembly216is separate from printhead assembly204and supplies ink to printhead assembly204through an interface connection220, such as a supply tube and/or valve.

Carriage assembly222positions printhead assembly204relative to print media transport assembly226, and print media transport assembly226positions print media232relative to printhead assembly204. Thus, a print zone234is defined adjacent to nozzles214in an area between printhead assembly204and print media232. In one example, printhead assembly204is a scanning type printhead assembly such that carriage assembly222moves printhead assembly204relative to print media transport assembly226. In another example, printhead assembly204is a non-scanning type printhead assembly such that carriage assembly222fixes printhead assembly204at a prescribed position relative to print media transport assembly226.

Service station assembly208provides for spitting, wiping, capping, and/or priming of printhead assembly204to maintain the functionality of printhead assembly204and, more specifically, nozzles214. For example, service station assembly208may include a rubber blade or wiper which is periodically passed over printhead assembly204to wipe and clean nozzles214of excess ink. In addition, service station assembly208may include a cap that covers printhead assembly204to protect nozzles214from drying out during periods of non-use. In addition, service station assembly208may include a spittoon into which printhead assembly204ejects ink during spits to ensure that reservoir218maintains an appropriate level of pressure and fluidity, and to ensure that nozzles214do not clog or weep. Functions of service station assembly208may include relative motion between service station assembly208and printhead assembly204.

Electronic controller230communicates with printhead assembly204through a communication path206, service station assembly208through a communication path210, carriage assembly222through a communication path224, and print media transport assembly226through a communication path228. In one example, when printhead assembly204is mounted in carriage assembly222, electronic controller230and printhead assembly204may communicate via carriage assembly222through a communication path202. Electronic controller230may also communicate with ink supply assembly216such that, in one implementation, a new (or used) ink supply may be detected.

Electronic controller230receives data236from a host system, such as a computer, and may include memory for temporarily storing data236. Data236may be sent to fluid ejection system200along an electronic, infrared, optical or other information transfer path. Data236represent, for example, a document and/or file to be printed. As such, data236form a print job for fluid ejection system200and includes at least one print job command and/or command parameter.

In one example, electronic controller230provides control of printhead assembly204including timing control for ejection of ink drops from nozzles214. As such, electronic controller230defines a pattern of ejected ink drops which form characters, symbols, and/or other graphics or images on print media232. Timing control and, therefore, the pattern of ejected ink drops, is determined by the print job commands and/or command parameters. In one example, logic and drive circuitry forming a portion of electronic controller230is located on printhead assembly204. In another example, logic and drive circuitry forming a portion of electronic controller230is located off printhead assembly204. In another example, logic and drive circuitry forming a portion of electronic controller230is located off printhead assembly204. In one example, data segments33-1to33-n, intermittent clock signal35, fire signal72, and mode signal79may be provided to print component30by electronic controller230, where electronic controller230may be remote from print component30.

FIG.8is a flow diagram generally illustrating a method300of operating a fluidic die, according to one example of the present disclosure, such as fluidic die40ofFIG.3, for instance. At302, method300includes receiving data segments, each data segment having a head portion including a number of configuration data bits, a tail portion including a number of configuration data bits, and a body portion extending between the head portion and tail portion and including a number of actuation data bits, such as data segment60ofFIG.4including a head portion62-1, a tail portion62-2, and a body portion64.

At304, method300includes serially loading each data segment into an array of memory elements including a first portion of memory elements corresponding to a first group of configuration functions, a second portion of memory elements corresponding to a second group of configuration functions, and a third portion of memory elements corresponding to an array of fluid actuators, such that upon loading of a data segment into the array of memory elements, the configuration bits of the head portion are stored in the first portion of memory elements, the configuration data bits of the tail portion of memory elements are stored in the second portion of memory elements, and the actuator data bits of the body portion are stored in the third portion of memory elements, such serially loading data segment60into array of memory elements50with first portion of memory elements52-1corresponding to a first group of configuration functions36-1, second portion of memory elements52-2corresponding to a second group of configuration functions36-2, and third portion of memory elements54corresponding to the array of fluid actuating devices34.

Although specific examples have been illustrated and described herein, a variety of alternate and/or equivalent implementations may be substituted for the specific examples shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific examples discussed herein. Therefore, it is intended that this disclosure be limited only by the claims and the equivalents thereof.