Group reference

In an example, a print system is described and includes a supply interface to form electrical communication with a container of print fluid and a controller to retrieve data from a machine-readable medium coupled to the container, identify a container group identifier based on the retrieved data, and set a group flag based on a comparison of the container group identifier with data representing a group reference.

BACKGROUND

Print systems generally deposit print fluid onto a medium to generate a printed article. A print system may have an interface for a print fluid supply to provide print fluid to the printer. A print system may utilize multiple supplies, such as print fluids with colorants. The print system may have an interface to couple a supply to the print system. For example, if a print fluid supply becomes empty, the interface may detach from a used supply and a new supply may be attached.

DETAILED DESCRIPTION

In the following description and figures, some example implementations of print apparatus, systems, and/or methods of operating a print system are described. In examples described herein, a “print device” may be a device to print content on a physical medium (e.g., paper or a layer of powder-based build material, etc.) with a printing fluid (e.g., ink or toner). For example, the print device may be a wide-format printing device that prints latex-based print fluid on a print medium, such as a print medium that is size A2 or larger. In the case of printing on a layer of powder-based build material, the printing device may utilize the deposition of printing fluids in a layer-wise additive manufacturing process. A print device may utilize suitable printing consumables, such as ink, toner, fluids or powders, or other raw materials for printing. In some examples, a printing device may be a three-dimensional (3D) printing device. An example of print fluid is a water-based latex ink ejectable from a print head, such as a piezoelectric print head or a thermal inkjet print head. Other examples of print fluid may include dye-based color inks, pigment-based inks, solvents, gloss enhancers, etc.

Various examples described below relate to operating a print system based on a group reference associated with a print fluid supply. By using a print system that is able to recognize a group identifier associated with a supply and compare it to a group reference, the print system may, for example, adapt operations to coordinate with an installed print supply. For example, a color calibration may or may not be enabled when a supply is inserted and recognized as within the same group as the previously inserted supply.

The terms “include,” “have,” and variations thereof, as used herein, mean the same as the term “comprise” or appropriate variation thereof. Furthermore, the term “based on,” as used herein, means “based at least in part on.” Thus, a feature that is described as based on some stimulus may be based only on the stimulus or a combination of stimuli including the stimulus.

FIGS. 1 and 2are block diagrams depicting example print systems100and200. Referring toFIG. 1, the example print system100ofFIG. 1generally includes a supply interface102capable of connecting to a container110and a controller104. In general, the controller104is able to receive, via the supply interface102, information from a machine-readable medium120coupled to the container110when the container110is connected via the supply interface and make a comparison of the information associated with the container110to a group reference106to identify whether the container110is compatible with a group associated with the group reference106. For example, the supply interface102of the print system100may provide a physical connection to form electrical communication (e.g., align electrical contact points on the print system100and the container110) with a container110of print fluid and the controller104may execute operations to cause data retrieval from a machine-readable medium120coupled to the container110; cause identification of a group associated with the container110based on the retrieved data; and cause a comparison of the identified container group to a group reference106. A “group reference” or any identifiers discussed herein may be any number, value, character, string, or symbol capable of representing a group associated with a supply. The print system100may perform operations based on the comparison of the container group to the group reference, such as display a message on a control panel and/or perform color calibration. For example, the controller104may retrieve a serial number from the machine readable medium120, compute a container group identifier from the serial number, and display a message indicating that the container belongs to the same group as expected by the system when the group reference matches the computed container group identifier or display a message indicating that the container does not belong to the expected group.

Referring toFIG. 2, the print system200is similar to print system100and includes a supply interface202and a controller204that are the same as the supply interface102and the controller104of print system100ofFIG. 1, and includes additional details regarding operations of the print system200and the container210.FIG. 2depicts the print system200including a print head240, a group flag242, print mode settings244, calibration instructions246, and an operational feature248.FIG. 2further depicts the container210including a print fluid reservoir212. In this example, the supply interface202may provide fluidic communication between the print fluid reservoir212and the print head240as well as electrical communication between a data storage medium220of the container210and the controller204of the print system200.

FIG. 2further depicts a medium220that is machine-readable similar to medium120ofFIG. 1, but is also machine-writable. The medium220includes memory locations for data associated with the container210, such as a group identifier222, a position identifier224, a group flag226, a usage flag228, and printer identifiable information230. In other examples, the supply may have multiple mediums coupled to the container210, such as machine-readable medium for the serial number (e.g., container group identifier222) and a separate machine-read/writeable medium for flags226and228or printer identifiable information230that is updatable based on the print system200. As used herein, “printer identifiable information” may be any number, value, character, string, or other symbol capable of representing information particular to the print system200, such as a printer serial number, a model number, a brand name, or an internet protocol address. As used herein, a “flag” represents a state or condition and may be a number, value, character, string, or other symbol capable of representing the state or condition. For example, a flag may represent state of usage of a supply or a whether a supply is part of the group associated with the group reference, etc.

In one example, the controller204may retrieve the group identifier222and position identifier224from medium220via the supply interface and use the group identifier222and/or position identifier224in a comparison with the group reference206. A group flag242(or group flag226on the container depending on implementation) may be set based on a comparison of the container group identifier222with data representing a group reference206from the print system200. The print system200may perform operations based on the state of the group flag242(and/or226). For example, the group flag242may be set to indicate a mismatch between the group reference206and the group identifier222and the controller204may execute calibration instructions246to calibrate the print head240, change a print setting (e.g., switch print modes), or disable an operational feature248that is associated with the group reference206. An example of an operational feature248may be a curing mechanism, for example, if the container group identifier matches a group reference associated with latex-based ink, then a curing mechanism may be activated. In another example, a print system200may use two black inks, where, in response to a comparison of the group reference with data from the container210, the installation of a first black ink type activates operation with a first set of media types and the installation of the second black ink type activates operation with a second set of media types. In yet another example, the group flag242may indicate that the container210is in the expected group associated with the group reference and the print mode/settings may be kept the same (e.g., without performing a color calibration for a newly installed cartridge of the same color batch group).

The position identifier224may be used for further specific identification of the supply within a group and may assist more particularized operation. For example, a plurality of supplies may be set with a propriety position to be used first while others with a relatively lower priority to be used later. Using further cartridge information may allow for the print system to implement levels of operation based on authorizations associated with the levels of groups, positions in the group, etc.

The print system200may, in response to the comparison of container information to the expected group information, interact with the container210or print components of the print system200, such as the print head240or other operational feature248. For example, the controller204may, in response to a determination that the group flag242indicates a mismatch between the container group identifier222and the group reference206, cause data to be written to a machine-writeable medium220coupled to the container210of the supply and/or update the group reference and cause a notification to a control panel on the print system200of any data modifications. For another example, the controller204may enable a print mode based on the group flag242or perform color calibration based on the group flag242using the calibration instructions246.

The controller204may monitor the group flag242and make printer state adjustments accordingly. For example, the controller204may cause an interrupt routine to switch operational status of a feature248of the print system200in response to a change to the group flag242.

The operations and settings of the print system200may be adjusted based on whether the container210has been used before in addition to the group data associated with the container. For example, the controller204may determine a usage flag status using the retrieved data and cause data to be written to a machine-writeable medium coupled to the container when the usage flag status indicates an initial use (such as updating the usage flag228or updating the printer identifiable information230) or cause an override to perform color calibration even if the group identifier222matches the group reference206.

FIGS. 3 and 4are block diagrams depicting example supplies310and410. Referring toFIG. 3, a supply310may comprise a housing314defining a print fluid reservoir312and a memory resource320coupled to the housing314. The memory resource320may have information stored on it to indicate properties of the supply310. For example, the memory resource320may be a read-only memory (ROM) having a data structure stored thereon that associates a first memory location to reserve a first data corresponding to a container group identifier322, associates a second memory location to reserve a second data corresponding to a position identifier324of a group position, and associates a third memory location to reserve a third data corresponding to a usage flag326, where the container group identifier322, position identifier324, and usage flag326are similar to the container identifier group identifier222, the position identifier224, and the usage flag226ofFIG. 2.

Referring toFIG. 4, the supply410may include similar components as discussed with respect to supply310ofFIG. 3(e.g., the housing414and the memory resource420may be the same as the housing314and the memory resource320ofFIG. 3).FIG. 4depicts that the supply410may further include controller430coupled to the memory resource420. The controller430may include instructions to, in response to an instruction received from a print device, place the third data in a memory location to represent a usage flag status that indicates the supply has been used in a print device, for example.

FIGS. 5 and 6are block diagrams depicting example controller systems500and600. As used herein, a controller may be any circuitry or combination of circuitry and executable instructions to perform a set of control operations. For example, a controller may be system on a chip where a processor is coupled to a memory resource with instructions for a control program stored thereon to operate the controller according to the control program. The controller that performs the operations discussed herein may be located on a print system, such as print system100ofFIG. 1and print system200ofFIG. 2, or on a supply, such as supply410ofFIG. 4.

FIG. 5depicts the example system500may comprise a memory resource520operatively coupled to a processor resource522. Referring toFIG. 5, the memory resource520may contain a set of instructions that are executable by the processor resource522. The set of instructions are operable to cause the processor resource522to perform operations of the system500when the set of instructions are executed by the processor resource522. The set of instructions stored on the memory resource520may be represented as an identification module502, a comparison module504, and a notification module506. The identification module502, the comparison module504, and the notification module506represent program instructions that when executed to perform operations of the system500. The processor resource522may carry out a set of instructions to execute the modules502,504, and506, and/or any other appropriate operations among and/or associated with the modules of the system500.

The modules illustrated inFIG. 5and discussed in other example implementations perform specific functionalities in the examples discussed herein, these and other functionalities may be accomplished, implemented, or realized at different modules or at combinations of modules. For example, two or more modules illustrated and/or discussed as separate may be combined into a module that performs the functionalities discussed in relation to the two modules. As another example, functionalities performed at one module as discussed in relation to these examples may be performed at a different module or different modules.FIG. 6is an example of another combination of modules and includes an operation module608and a track module610that include instructions to enable, disable, or perform operations of the print system and track supplies that have been attached to a print system, respectively.

Although these particular modules and various other modules are illustrated and discussed, other combinations or sub-combinations of modules may be included within other implementations and functionalities described herein in relation to any ofFIGS. 1-6may be provided in combination with functionalities described herein in relation to any other Figure or example herein.

The system500and system600may perform operations via execution of program instructions usable with a group reference. For example, the processor resource522may carry out a set of instructions to identify a container group identifier associated with a supply of print fluid; compare the container group identifier to a group reference; and, in response to a determination that the container group identifier does not correspond to the group reference, cause a notification to be sent to a console to indicate that the supply corresponds to a different group than the group reference. For another example, the processor resource522may carry out a set of instructions to determine a position identifier of the supply in the group corresponding to the container group identifier and cause a notification to appear on the console to indicate a supply position corresponding to the position identifier and the group corresponding to the container group identifier. For yet another example, the processor resource522may carry out a set of instructions to determine a usage flag status of the supply based on data retrieved from a machine-readable medium on the supply and, in response to a determination that the position identifier corresponds to a first position and that the usage flag status of the supply indicates the supply has been previously inserted into a previous print system, cause a notification to appear on the console to indicate the supply belongs to the previous print system.

As mentioned above,FIG. 6represents another possible combination of operations to be executed. For example, the processor resource622may carry out a set of instructions to identify a container group identifier associated with a supply of print fluid; compare the container group identifier to a group reference; identify an authorization level of the supply based on the data retrieved from the machine-readable medium on the supply; and, in response to the authorization level being at or above a threshold, cause an indication that a new group reference is being used and automatically perform a color calibration operation on a print device. For another example, the processor resource622may carry out a set of instructions to identify an authorization level of the supply based on the data retrieved from the machine-readable medium on the supply and, in response to a determination that the container group identifier corresponds to a group different from the group reference and the authorization level being below a threshold, cause an indication that the supply is not authorized to initiate a new group reference. For yet another example, the processor resource622may carry out a set of instructions to track, in a data structure, a container-specific identifier of a container used in a print device and a group number corresponding to the container-specific information; look up, in the data structure, the group number associated with the group identifier; cause a notification to describe whether the group identifier was found in the data structure; enable a feature of the print device based on whether the group identifier was found in the data structure; or disable a feature of the print device based on whether the group identifier was not found in the data structure. Data structures may be used herein to organize data useable by the systems500and600, such as a table or database may be used to track information for each container used by the print system in the previous example. The information used in such a data structure may include serial numbers or other container-specific information, as well as group information, usage information, authorization level information, operational features, print settings, and color calibration information corresponding to each container inserted into the print system.

The processor resources522and622are any appropriate circuitry capable of processing (e.g., computing) instructions, such as one or multiple processing elements capable of retrieving instructions from a memory resource (e.g., memory resource520or620) and executing those instructions. For example, the processor resource522may be a central processing unit (CPU) that enables print operations based on group reference comparison by fetching, decoding, and executing modules502,504, and506. Example processor resources include at least one CPU, a semiconductor-based microprocessor, a programmable logic device (PLD), and the like. Example PLDs include an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable array logic (PAL), a complex programmable logic device (CPLD), and an erasable programmable logic device (EPLD). A processor resource may include multiple processing elements that are integrated in a single device or distributed across devices. The processor resource522and622may process the instructions serially, concurrently, or in partial concurrence.

The memory resources520and620represents a medium to store data utilized and/or produced by the print system and/or controller on the supply. The medium is any non-transitory medium or combination of non-transitory media able to electronically store data, such as modules of the systems500and600and/or data used by the system500and600. For example, the medium may be a storage medium, which is distinct from a transitory transmission medium, such as a signal. The medium may be machine-readable, such as computer-readable. The medium may be an electronic, magnetic, optical, or other physical storage device that is capable of containing (i.e., storing) executable instructions. A memory resource may be said to store program instructions that when executed by a processor resource cause the processor resource to implement functionality of the system (e.g., systems500or600). The memory resource may be integrated in the same device as the processor resource or it may be separate but accessible to that device and the processor resource. The memory resource may be distributed across devices.

In the discussion herein, the controllers104,204, and430and the systems500and600ofFIGS. 1-6have been described as circuitry or a combination of circuitry and executable instructions. Such components may be implemented in a number of fashions. Looking atFIG. 5, the executable instructions may be processor-executable instructions, such as program instructions, stored on the memory resource520, which is a tangible, non-transitory computer-readable storage medium, and the circuitry may be electronic circuitry, such as processor resource522, for executing those instructions. The instructions residing on the memory resource520may comprise any set of instructions to be executed directly (such as machine code) or indirectly (such as a script) by the processor resource522.

In some examples, the systems500and600may include executable instructions as part of an installation package that when installed may be executed by a processor resource to perform operations of the respective system, such as methods described with regards toFIG. 7. In that example, the memory resource520may be a portable medium such as a compact disc, a digital video disc, a flash drive, or memory maintained by a computer device, such as a web server, from which the installation package may be downloaded and installed. In another example, the executable instructions may be part of an application or applications already installed. The memory resources520and620may be a non-volatile memory resource such as read only memory (ROM), a volatile memory resource such as random access memory (RAM), a storage device, or a combination thereof. Example forms of a memory resource include static RAM (SRAM), dynamic RAM (DRAM), electrically erasable programmable ROM (EEPROM), flash memory, or the like. The memory resource may include integrated memory such as a hard drive (HD), a solid state drive (SSD), or an optical drive.

FIG. 7is a flow diagram depicting an example method700of operating an example print system, such as print systems100and200ofFIGS. 1-2. Referring toFIG. 7, example methods for printer operation using a group reference may generally comprise reading data from an inserted supply, comparing container information to a group reference, identifying an authorization level based on the comparison, and performing an operation based on the authorization level. The method described with regards toFIG. 7is performable by a controller of a print system, such as controllers104,204,430,500, and600.

At block702, insertion of a supply is identified, and data is read from memory coupled to the supply at block704. The data is then used to determine container information associated with the supply at block706and any data references on a print system are updated accordingly. The container information may be directly retrievable from the supply or may be computed or otherwise identified based on the data retrieved from the supply. For example, the container information may include a container group identifier representing the batch number corresponding the batch associated with the ink in the supply and a position identifier associated with a position of the supply in the group (e.g., to identify an order of installation of the batch and/or particular supplies in the batch).

At block708, the container information is compared to a group reference. The container information may be compared for exact matches or equivalence. For example, the container group identifier may be a particular value and a group reference may be a range of values. For another example, the batch group may be any odd numbers associated with serial numbers. For yet another example, container information may be used to identify an order of installation of the supplies, such as determine a position of the supply to be used in order of other supplies in the group. At block710, an authorization level is identified based on a comparison. For example, the group of the container may match the group reference and a full authorization may be enable for the supply, whereas a mismatch may set the authorization level to a relatively lower authorization level. For another example, containers with serial numbers that are odd may have a different authorization level than containers with even serial numbers.

At block712, data on the memory of the supply is updated to mark the supply as used, if the container is not already marked as used for example. For example, the print system may determine the usage flag state and may set the usage flag on the supply to indicate the supply is used.

At block714, an operation of the print system may be enabled or disabled based on authorization level. The authorization level may be associated with a set of operations to be enabled. For example, an authorization level may be associated with an authorization profile that corresponds to a combination of settings and a number of functions to set and enable on the print system. The usage flag may be used as container information in association with the authorization level to enable or perform certain functions. For example, a supply that is inserted for its first usage may automatically perform a color calibration.

At block716, a notification is sent (e.g., to a control panel) to indicate container information and/or authorization level. Such a notification may allow the user to ensure the correct supply has been entered into the print system (e.g., by providing a warning of mismatch or an indication of group match) or remind the user to complete a routine, such as a calibration operation or service operation.

Although the flow diagram ofFIG. 7illustrates a specific order of execution, the order of execution may differ from that which is illustrated. For example, the order of execution of the blocks may be scrambled relative to the order shown. Also, the blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present description.

All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the elements of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or elements are mutually exclusive.

The present description has been shown and described with reference to the foregoing examples. It is understood, however, that other forms, details, and examples may be made without departing from the spirit and scope of the following claims. The usage of the words “first,” “second,” or related terms in the claims are not used to limit the claim elements to an order or location, but are merely used to distinguish separate claim elements.