Printronix Auto ID ODV 2D User Manual
Printronix Auto ID ODV 2D User Manual
Communication Notices
This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant
to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful
interference in a residential installation. This equipment generates, uses, and can radiate radio frequency
energy and, if not installed and used in accordance with the instructions, may cause harmful interference
to radio communications. However, there is no guarantee that interference will not occur in an installation.
If this equipment does cause harmful interference to radio or television reception, which can be determined
by turning the equipment off and on, the user is encouraged to try to correct the interference by one or
more of the following measures:
• Reorient or relocate the receiving antenna.
• Increase the separation between the equipment and receiver.
• Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
• Consult the dealer or an experienced radio/TV technician for help.
Unauthorized changes or modifications could void the user’s authority to operate the equipment.
This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions:
(1) this device may not cause harmful interference, and (2) this device must accept any interference
received, including interference that may cause undesired operation.
Any change or modification to this product voids the user’s authority to operate it per FCC Part 15 Subpart
A Section 15.21 regulations.
Canada
This Class A digital apparatus complies with Canadian ICES-003 and RSS 210.
Cet appareil numérique de la classe A est conforme à la norme NMB-003 du Canada.
Operation is subject to the following two conditions: (1) this device may not cause interference, and (2) this
device must accept any interference, including interference that may cause undesired operation of the
device.
CE Notice (European Union)
Marking by the CE symbol indicates compliance of this Printronix system to the EMC Directive and the
Low Voltage Directive of the European Union. Such marking is indicative that this Printronix system meets
the following technical standards:
• EN 55022 — “Limits and Methods of Measurement of Radio Interference Characteristics of Information
Technology Equipment.”
• EN 55024 — “Electromagnetic Immunity Requirements for Information Technology Equipment”
• EN 60950 — “Safety of Information Technology Equipment.”
Printronix Auto ID Technology, Inc. cannot accept responsibility for any failure to satisfy the protection
requirements resulting from a non-recommended modification of the product, including the fitting of
non-Printronix option cards.
This product has been tested and found to comply with the limits of Class A Information Technology
Equipment according to European standard EN 55022. The limits for Class A equipment were derived for
commercial and industrial environments to provide reasonable protection against interference with
licensed communication devices.
WARNING
This is a Class A product. In a domestic environment, this product may cause
radio interference in which case the user may be required to take adequate
measures.
CE Symbol
Taiwan
型式 合格 功 電 , 可, 司、 或使用者 不得 自 更
、加大功 或 更原 性 功 。
功 電 使用不得 全 干擾合 通 ; 現有干擾現 ,
用, 並 善 干擾 得 使用。前項合 通 ,指 電 規 作業
電通 。 功 電 須 受合 通 或工業、科學 療用電波輻 性電
干擾。
Compliance Statements
The TSC Printronix Auto ID Online Data Validator 2D gathers data per the ISO/ANSI method of verification
to perform practically all the industry standard bar code quality parameter calculations. These include all
ISO/ANSI method parameters for 1-D and 2-D barcodes along with decoding the symbol.
Reflectance Compliance – 660 nm Wavelength (Red) Light
The reflectance values embedded in the calibration symbol supplied with each ODV2D are measured
using a calibrated ISO compliant verifier.
Operation ...................................................................... 14
Troubleshooting ............................................................ 56
Validation Demo Page..................................................................................... 56
Error Messages ............................................................................................... 56
Maintenance ................................................................. 65
Software License Agreement ............................................ 66
Definitions. ................................................................................................ 66
License. .................................................................................................... 66
Limited Software Product Warranty........................................................... 66
Remedy .................................................................................................... 67
Disclaimer of Warranties and Limitation of Remedies ............................... 67
Termination of License Agreement ........................................................... 67
U.S. Government Restricted Rights .......................................................... 67
Acknowledgement of Terms and Conditions ............................................. 67
Overview
If the ODV2D was shipped attached to the printer, the alignment and calibration can be checked before
use following the Grading Submenu procedures starting on page 37 of this manual.
If the ODV2D was received unattached, the installation and initial alignment and calibration of the ODV2D
must only be performed by trained service personnel. Contact your equipment provider or Printronix Auto
ID Service Representative for more information about the initial setup.
The online data verifier/validator (ODV2D) is a precise measurement device for use with the T8000 4-inch
and 6-inch and T6000e 4-inch printers. Once properly installed, it will perform well in even harsh
environments with reasonable care. The ODV2D for one and two-dimensional barcodes is a fully
integrated bar code camera scanning device mounted to the printer above the paper exit. When activated,
it records the image of the printed output looking for bar codes in any right-angle orientation (0°, 90°, 180°,
270°). When it finds a bar code, it determines what type of bar code, confirms the data encoded, and
provides the ISO grading, performing both functions of validation and verification.
As the label passes under the camera, the ODV2D grades the bar code, confirms the data printed matches
the data sent* and sends a report to the printer. The printer response is determined by the ODV2D
settings, explained in “Configuring the ODV2D”.
*If the barcode is sent as a bitmap, pdf, or other static image file, the data cannot be matched.
Capability Highlights
The ODV2D system is a camera-based system with red LEDs that flash at a given frequency to illuminate
the surface of the label as it exits the printer. A sensor is used to record slices of the image as the output
moves past the lens and then stitches them together for analysis. Thus, the entire image is recorded by the
ODV2D for analysis which allows verification of 1-D barcodes in ladder and picket fence orientations and
2-D barcode grading.
The summary of capabilities are as follows:
• The ODV2D supports all orientations of barcodes (0°, 90°, 180°, 270° degrees).
• The ODV2D supports full ISO-based grading for PDF417, DataMatrix, and QR symbologies.
• Barcodes printed as graphics (Win Drivers, WYSIWIG label programs) do not require additional setup.
The printer will dynamically inspect and identify all properly scaled graphic barcodes.
• The ODV2D firmware can be downloaded via the printer or via the ODV2D internal webpage.
• The ODV2D has an Ethernet port (hidden by cover plate) for access by trained service personnel to an
onboard webpage that provides:
10
o Calibration and Alignment Wizards
o Trending Analysis
o The ability to capture and view images from the camera
o Advanced Diagnostics
• The calibration and alignment values can be checked via the Printer Control Panel (see page 32).
• White Gain and Reflectance values can be re-calibrated via the Printer Control Panel (see page 33).
• The overall grading accuracy can be checked using the Calibration Plaque (p/n P220237-001 for
4-inch model and p/n P220404-001 for the 6-inch model) provided with the unit via the Printer Control
Panel.
Supported Barcodes
Table 1 lists the symbologies supported by the ODV2D.
Table 1 Symbologies Supported
1D Barcode 2D Barcode
Code 39 PDF417
Interleaved 2/5 PDF417 Limited
Code 93 Micro PDF417
Code 128 DataMatrix (Square)
UPC/EAN DataMatrix (Rectangle)
UPC/EAN Supplemental QR
Codabar
Operational Parameters
The design parameters of the validator are as follows:
• The ODV2D can support labels of 24 inches maximum length.
• The ODV2D can track the performance of up to 50 barcodes on a label.
• The ODV2D can support 2-8 IPS setting for picket fence and 2-6 IPS for ladder.
• The ODV2D 4-inch requires a minimum narrow bar width of 10 mils (0.010 inch). This is equivalent to
2 dots at 203 DPI or 3 dots at 300 DPI.
• The ODV2D 6-inch 203 dpi requires a minimum narrow bar width of 15 mils (0.015 inch). This is
equivalent to 3 dots at 203 DPI.
• The ODV2D 6-inch 300 dpi requires a minimum narrow bar width of 13.3 mils (0.0133 inch). This is
equivalent to 3 dots at 300 DPI.
• The ODV2D can support bar codes with a minimum height dimension of 0.10 inch (linear 1-D codes).
• Depending on the complexity of the form and number of barcodes, the printer may pause between
labels if required to complete the calculations on a given label.
11
Alignment and Calibration
If the ODV2D was shipped attached to the printer, the alignment and calibration can be checked before
use following the Grading Submenu procedures starting on page 40 of this manual.
If the ODV2D was received unattached, the installation and initial alignment and calibration of the ODV2D
must only be performed by trained service personnel. Contact your equipment provider or TSC Printronix
Auto ID Service Representative for more information about the initial setup.
Purposes of Calibration
Calibration is needed for the following three purposes:
• To make sure the ODV2D unit is functioning properly. This requires the use of a Calibration
Plaque that was supplied with your unit.
• To make sure the ODV2D unit is properly aligned with the printer. The ODV2D unit is connected
via a bracket and fine tuning may be required if the unit is bumped or transported to another
location.
• To make sure the ambient lighting conditions are considered when grading barcodes.
• The ONLINE screen will show the “enabled” validator symbol under the model number when the
ODV2D is installed AND enabled via the menu ODV2D > Control > Validator Active.
• The ONLINE screen will show the “disabled” validator symbol under the model number when the
ODV2D is installed and disabled via the menu ODV2D > Control > Validator Active.
• If no ODV2D is installed, then no validator symbol will be present on the ONLINE screen.
• The Settings screen will use validator icons as follows:
o If the ODV2D is not installed, the greyed-out ODV2D icon will be present.
o If the ODV2D is installed, the colored ODV2D icon will be present.
• Within the menu section, the ODV2D will use ODV2D (e.g., ODV2D > Control).
12
Figure 1 Online Screen and ODV2D Icon
Once the ODV2D is installed, the ODV2D section under Settings can be selected and the ODV2D
configured. However, it may not be enabled by default:
• If the printer is powered up with the menu Configs > Control > Power-Up Config set to Factory, the
ODV2D > Control > Validator Active will be set to “Enable” automatically.
• If the printer is powered up with Configs > Control > Power-Up Config to something other than Factory,
the ODV2D > Control > Validator Active is set to “Disable”.
To enable the ODV2D, change the menu ODV2D > Control > Validator Active to “Enable” and save the
configuration as described in the printer’s Administrator’s Manual.
13
Operation
Continued
14
Figure 3 Validator Section and Submenus, Continued
15
Validator Reporting
After any completed print job or Bar Code Demo page, you can request a report from the printer which
describes the validation statistics since the printer was turned on, or since the last data reset.
16
Control Submenu
Several ODV2D options which define specific parameters for certain print jobs can be set from the printer
configuration menu.
Validator Active
ODV2D > Control > Validator Active
Software can automatically detect an installed validator when the printer is
powered up. If the printer is powered up with Configs > Control > Power-Up
Config set to “Factory”, the Validator icon can be selected and this option is
set to “Enable”.
If Power-Up Config is not set to Factory, the Validator icon can be selected,
but this option is set to “Disable”.
Disable The ODV2D is disabled and not active.
Enable The ODV2D is enabled and active.
Depends on Configs > Control > Power-Up Config
Factory Default
setting. See above.
Do not disable or enable the ODV2D with data in
IMPORTANT the buffer. See “Resetting ODV2D Data”.
When exiting Power Saver Mode, about 120 sec-
IMPORTANT onds is required to re-initialize ODV2D. A message
will be displayed alerting the user of the delay.
17
Auto Report
ODV2D > Control > Auto Report
This function allows you to disable or enable an automatic validator report
printout after a batch job or Bar Code Demo page.
Disable No automatic validator report is printed after the job.
The validator report is printed after the batch job. The
end of the batch is determined by either the EXECUTE
Enable command or by timeout using ODV2D > Control >
Auto Report Time to the desired value (1 to 10 sec-
onds).
Same functionality as Enable with the validator statis-
tics are cleared after the report is printed.
Print&Clear
After the report is printed, the front panel message will
display informing the user the statistics are reset.
A diagnostic printout of bar code analysis parameters
calculated by the ODV2D is printed. It allows you to
determine which parameter may be the cause of bar
code verification failures. The report printed is based on
the last Full Report received from the ODV2D. Allows
sending a bar code print job to the printer, having bar
Scan Report
code evaluated by the ODV2D, and view a report of the
parameters as seen by the ODV2D.
For forms with multiple bar codes, only information from
the last processed bar code will be included in the re-
port. To view validator parameters for all bar codes on a
form, use Auto ID Data Manager in PrintNet Enterprise.
Factory Default Disable
18
Telemetry Path
ODV2D > Control > Telemetry Path
You may want to send a streaming flow of validation data to the PNE Auto ID
Data Manager application during the print job. By default, this function is
disabled.
To enable this function, set this menu Path to “Network Port”. The printer
then outputs the bar code analysis and underlying data from the validator to
the PNE connected to the network port so the validator data can be seen
and analyzed with the optional remote management software.
The ODV2D does not send any data to an external
Disabled
device.
The printer outputs the bar code analysis and under-
lying data from the ODV2D to a device connected to
Network Port the network port so the validator data can be seen and
analyzed with the optional remote management soft-
ware.
Factory Default Disabled
Return Data
ODV2D > Control > Return Data
This option enables the ODV2D to send data out the status port as defined by
System > Printer Mgmt > Ret. Status Port. If System > Printer Mgmt > Ret.
Status Port uses E-NET Stat Port, use System > Printer Mgmt >Status Port
Number to set port.
This feature is designed to work best with ODV2D > Control > Validator Ac-
tion set to Retry Form.
Disable No data will be returned through the status port.
The following data will be sent out the status port for
Data+Grade every barcode found:
Grade, Barcode Data <Carriage Return><Line Feed>
In addition to barcode grades and data, a failure indi-
cation will be sent out the return status port if the val-
Data+Grade+Fail idator fails a label Max Retry times:
FAIL<Carriage Return><Line Feed>
Factory Default Disable
When the menu is set to something other than Disable,
the printer will automatically change ODV2D > Control
> Telemetry Data to Full Report since it is required for
the feature.
IMPORTANT
If, however, the user subsequently changes Telemetry
Data to something different, barcode grades data will
no longer be returned.
19
Telemetry Data
The validator sends a report to the selected data output destination. There are three different options
controlled by the ODV2D > Control > Telemetry Data menu:
20
ODV2D > Control > Validator Action
The printer response is the same whether the error stems from a bad or
missing bar code. It is determined by the Validator Action setting.
If the validator detects a bar code failure, the print job
Stop
stops.
Use Overstrike mode when you want bad labels to be
marked and not reprinted.
When running short labels, labels following the bad
Overstrike
label may be overstruck too, but will be reprinted.
Overstrike mode will work with any Gap/Mark sensor
setting.
Use Overstrike One mode when you want only bad
labels to be marked and not reprinted.
Overstrike One
Overstrike One mode cannot be used when the Sen-
sor is set to Disable.
This mode is similar to the Overstrike and Overstrike
One modes. However, instead of resuming printing
Retry Form
where the printer had left off, the printer will reprint the
bad label too.
The printer will stop printing and display the error
message. After the error message is cleared and the
Stop & Retry appropriate labels are skipped from ODV2D > Control
> Skip Labels, it will reprint the bad form and any other
forms printed prior to the physical stop.
The entire print job will print uninterrupted. If one or
more errors is detected, the printer status indicator
Grade&Report
lamp flashes, the alarm sounds, and the error mes-
sage “Bar code fails / Job has errors” displays.
Similar to the Retry Form mode, however, instead of
backing up and overstriking the form, the printer will
Rescan Form
back up and rescan the bad form and any other forms
that have already printed.
Similar to Rescan Form with one exception: after the
printer has rescanned the form and overstruck it if
Rescan&Retry
there was still a fault, it will reprint and rescan the
same form again.
Similar to the Retry Form mode, however, instead of
backing up and overstriking the form, the printer will
Rescan&Stop
back up and rescan the bad form and any other forms
that have already printed.
Factory Default Retry Form
Table 2 Actions Done to Forms after a Bad Form
Stop
If the ODV2D detects a bar code failure, the print job stops, the printer status indicator lamp flashes, the
alarm sounds, and the appropriate error message displays.
The printer remains in a fault condition until you press the PAUSE key. This clears the error message and
takes the printer OFFLINE. You must correct any condition that may have caused the fault. When ready,
21
the printer can be put back ONLINE and it will resume printing with the form immediately following the bad
form and any other forms printed prior to the physical stop (see “Forms Printed After an Error Detection”).
Overstrike
Use Overstrike mode when you want bad labels to be marked, but not reprinted (i.e., when using
pre-numbered labels).
If the system detects a bar code failure, the print job stops, the printer status indicator lamp flashes, the
alarm sounds, and the appropriate error message displays.
Without pausing, the printer then automatically reverses to the top of the bad form.
It then prints an obliterating pattern over the bad form and any other forms printed prior to the physical stop
(see “Forms Printed After an Error Detection”). By default, the obliterating pattern is a grid of fine lines
which clearly marks the label as bad but allows you to read what was originally printed.
NOTE: If short forms are being run, more than one form may be backed up and overstruck. If more than
one form is overstruck, only the first overstruck form is lost (the one with the missing or bad bar code), and
a separate print command is required to resend it from the host, if needed. The rest of the overstruck forms
are automatically reprinted.
The ODV2D > Control > Overstrike Style options are: Grid, Grey, Checkerboard, or Error Type Msg. Select
“Error Type Message” to see the error message printed on the bad form as the Overstrike Style.
After the overstrike printing, the printer clears the error message and stops the alarm, then resumes
normal printing at the point the job was stopped.
Overstrike One
Similar to Overstrike, use Overstrike One mode when you want a bad label to be marked but not reprinted.
If the system detects a bar code failure, the print job stops, the printer status indicator lamp flashes, the
alarm sounds, and the appropriate error message displays. The printer then automatically reverses to the
top of the bad form. It then prints an obliterating pattern over the bad form ONLY. All other forms printed
prior to the physical stop will NOT be overstruck and are still good.
By default, the obliterating pattern is a grid of fine lines which clearly marks the label as bad but allows you
to read what was originally printed.
The ODV2D > Control > Overstrike Style options are: Grid, Grey, Checkerboard, or Error Type Msg. Select
“Error Type Message” to see the error message printed on the bad form as the Overstrike Style.
After the overstrike printing, the printer clears the error message and stops the alarm, then resumes
printing at the point the job was stopped.
Retry Form
This mode is like the Overstrike mode. However, instead of resuming printing where the printer had left off,
the printer will attempt to reprint the bad form. The number of times the printer will attempt to print the form
is determined by the ODV2D > Control > Num Retry setting
The printer will stop, indicate an error, and overstrike. Then it will skip several blank labels, depending on
the setting for ODV2D > Control > Skip Labels. It will then slew to the next top of a blank form and reprint
the bad form and any other overstruck forms (see “Forms Printed After an Error Detection”).
Once the ODV2D > Control > Num Retry counter has been exhausted, the print job stops completely. After
you clear the error message, the printer will print the same label or the next label, depending on the setting
for ODV2D > Control > Max Retry Action.
22
Control > Skip Labels. Then it will slew to the next top of a blank form and reprint the bad form and any
other forms printed prior to the physical stop (see “Forms Printed After an Error Detection”).
NOTE: The number of times the printer will attempt to reprint the bad form is determined by the ODV2D >
Control > Num Retry setting.
The printer will stop after the specified ODV2D > Control > Num Retry attempts. After you clear the error
message, the printer will print the same label or the next label, depending on the setting for ODV2D >
Control > Max Retry Action.
Grade&Report
In this mode, the entire print job will print uninterrupted. If one or more errors is detected, the printer status
indicator lamp flashes, the alarm sounds, and the error message “Bar code fails / Job has errors” displays.
IMPORTANT The error message lets you know that at least one bad form printed. To determine
which form(s) are bad, you must manually scan all of them.
The printer remains in a fault condition until you press the PAUSE key. This clears the error message and
takes the printer OFFLINE. Correct any condition that may have caused the fault, then press PAUSE to
place the printer back ONLINE.
Rescan Form
This mode is like the Retry Form mode, however, instead of backing up and overstriking the form, the
printer will back up and rescan the bad form and any other forms that have already printed (see “Forms
Printed After an Error Detection”).
NOTE: The printer will only attempt this once before declaring an error.
If the printer scans these forms correctly on any of the rescans, it will continue printing with the next form.
If the printer fails to scan these forms correctly, it will overstrike the forms, stop, and indicate an error like
Stop mode. After you clear the error message, the printer will skip several blank labels, depending on the
setting for ODV2D > Control > Skip Labels.
It will then slew to the next top of a blank form and reprint the same form or go the next form, depending on
the setting for ODV2D > Control > Max Retry Action.
NOTE: The only difference between Rescan Form and Rescan&Stop is that when a form still fails after all
the rescans, Rescan Form will overstrike the bad form, whereas Rescan&Stop will not.
Rescan&Retry
This mode is similar to Rescan Form with one exception: after the printer has rescanned the form and
overstruck it if there was still a fault, it will reprint and rescan the same form again.
NOTE: The printer will only attempt this once before declaring an error.
The number of times the printer will attempt to reprint the bad form is determined by the ODV2D >
Control > Num Retry setting.
If the printer scans these forms correctly on any of the rescans or reprints, it will continue printing with the
next form.
If the printer fails to scan these forms correctly on all the rescans and reprints, it will overstrike the forms,
stop, and indicate an error like Stop mode. After you clear the error message, the printer will skip several
blank labels, depending on the setting for ODV2D > Control > Skip Labels.
It will then slew to the next top of a blank form and reprint the same form or go the next form, depending on
the setting for ODV2D > Control > Max Retry Action.
23
Rescan&Stop
This mode is like the Retry Form mode, however, instead of backing up and overstriking the form, the
printer will back up and rescan the bad form and any other forms that have already printed (see “Forms
Printed After an Error Detection”).
NOTE: The printer will only attempt this once before declaring an error.
If the printer scans these forms correctly on any of the rescans, it will continue printing with the next form.
If the printer fails to scan these forms correctly on all the rescans, it will stop and indicate an error like Stop
mode. After you clear the error message, the printer will skip several blank labels, depending on the setting
for ODV2D > Control > Skip Labels.
It will then slew to the next top of a blank form and reprint the same form or go to the next form, depending
on the setting for ODV2D > Control > Max Retry Action.
NOTE: The only difference between Rescan Form and Rescan&Stop is that when a form still fails after all
the rescans, Rescan Form will overstrike the bad form, whereas Rescan&Stop will not.
24
Quiet Zones
ODV2D > Control > Quiet Zones
Quiet zones are the white spaces surrounding the bar code. Each bar code
requires a minimum quiet zone distance in order for the bar code to be
scanned properly.
Skip Labels
ODV2D > Control > Skip Labels
This option is used for skipping blank labels after bad labels have been
marked. It is useful when you want to have extra blank labels in between bad
and good ones.
Minimum Up to one blank label skipped.
Maximum Up to two blank labels skipped.
Factory Default Minimum
Minimum and Maximum blank labels are only ap-
plicable for forms 2 inches (5.08 cm) high or more.
IMPORTANT For labels less than 2 inches high, the minimum
and maximum blank labels may vary.
Overstrike Style
ODV2D > Control > Overstrike Style
This option is used for marking bad labels with different overstrike styles:
Grid (the default), Grey, Checkerboard, or Error Type Msg.
Grid Grid Pattern
Grey Grey Pattern
Checkerboard Checkerboard Pattern
Error Type Msg Error Msg with type of failure will overwrite label
Factory Default Grid
25
Num Retry
ODV2D > Control > Num Retry
This option allows you to set the number of times a form will be printed be-
fore the printer stops. After you clear the error message, the printer will print
the same form or the next form, depending on the setting for Max Retry Ac-
tion (see “Max Retry Action” below).
Minimum 3
Maximum 5
Factory Default 5
This setting is utilized only when Validator Action
is set to Retry Form, Stop & Retry, or
IMPORTANT Rescan&Retry. See “Validator Action (Error Ac-
tion)”.
Label Save
ODV2D > Control > Label Save
The printer will often be printing a label when it determines that the label
printed before the immediate label was defective.
When set to disable, the printer pulls both labels back,
Disable
overstrikes them and then reprints them.
With Label Save enabled, the ODV will accept or re-
ject the label it just printed before it prints the next la-
Enable
bel. When a label is found defective, it will only over-
strike that label.
Factory Default Disable
Label Save enabled causes a slight throughput
IMPORTANT reduction.
26
Comm Error
ODV2D > Control > Comm Error
This menu allows the ‘Validator not communicating’ error to be clearable by
the user or not clearable by the user.
The user must resolve the error and recycle the printer
Not Clearable
power to print.
The user will be able to clear the fault and print jobs.
Clearable
Barcodes in these jobs will not be validated.
Factory Default Clearable
Comm Timeout
ODV2D > Control > Skip Labels
This option is used to control the threshold of time the validator does not
respond with verification status before declaring an error.
Minimum 10 seconds
Maximum 180 seconds
Factory Default 25 seconds
For labels with complex and significant data en-
IMPORTANT coded in 2D barcodes, this menu may need to be
increased.
Symbology Submenu
Several ODV2D options which define which barcodes will be graded and which will be ignored. This can
be chosen based on symbology or orientation. Note there are also PTX-SETUP commands that can be
used to configure these options as described in Section “PTX_SETUP Control”.
Orientation
ODV2D > Symbology > Orientation
This menu selects the barcode orientations that will be processed and
graded and which will be ignored.
All All orientations will be graded.
Picket barcodes and 2-D barcodes in 0 and 180 de-
Picket
gree rotations.
Ladder barcodes and 2-D barcodes in 90 and 270
Ladder
degree rotations.
Factory Default All
27
Graphics Search
ODV2D > Symbology > Graphics Search
This menu determines if parts of the label defined with graphics (as opposed
to emulation commands) should be searched for barcodes. Graphics are
often used in jobs sent via Windows Drivers or from a Postscript or PDF
emulation.
Searching graphics takes more processing time and this menu should be
disabled for jobs with heavy graphics usage in which barcodes don’t exist.
Enable Search graphics for barcodes.
Disable Ignore graphics in terms of barcodes.
Factory Default Enable
Code 39
ODV2D > Symbology > Code 39
Determines if Code 39 barcodes should be processed or ignored.
Enable Search for Code 39 barcodes.
Disable Ignore Code 39 barcodes.
Factory Default Enable
Code 128
ODV2D > Symbology > Code 128
Determines if Code 128 barcodes should be processed or ignored.
Enable Search for Code 128 barcodes.
Disable Ignore Code 128 barcodes.
Factory Default Enable
Interleaved 2/5
ODV2D > Symbology > Interleaved 2/5
Determines if Interleaved 2/5 barcodes should be processed or ignored.
Enable Search for Interleaved 2/5 barcodes.
Disable Ignore Interleaved 2/5 barcodes.
Factory Default Enable
28
Code 93
ODV2D > Symbology > Code 93
Determines if Code 93 barcodes should be processed or ignored.
Enable Search for Code 93 barcodes.
Disable Ignore Code 93 barcodes.
Factory Default Enable
Codabar
ODV2D > Symbology > Codabar
Determines if Codabar barcodes should be processed or ignored.
Enable Search for Codabar barcodes.
Disable Ignore Codabar barcodes.
Factory Default Enable
UPC/EAN
ODV2D > Symbology > UPC/EAN
Determines if UPC/EAN barcodes should be processed or ignored.
Enable Search for UPC/EAN barcodes.
Disable Ignore UPC/EAN barcodes.
Factory Default Enable
PDF417
ODV2D > Symbology > PDF417
Determines if PDF417 barcodes should be processed or ignored.
Enable Search for PDF417 barcodes.
Disable Ignore PDF417 barcodes.
Factory Default Enable
Data Matrix
ODV2D > Symbology > Data Matrix
Determines if Data Matrix barcodes should be processed or ignored.
Enable Search for Data Matrix barcodes.
Disable Ignore Data Matrix barcodes.
Factory Default Enable
29
QR Code
ODV2D > Symbology > Code QR
Determines if QR Code barcodes should be processed or ignored.
Enable Search for QR Code barcodes.
Disable Ignore QR Code barcodes.
Factory Default Enable
Grading Submenu
As described in Section “ISO versus Non-ISO”, the menu Grading Mode will determine how this section
will be used and configured.
Grading Mode
ODV2D > Grading > Grading Mode
This menu selects the type of barcode grading performed. The mode se-
lected will dictate the types of barcode grading faults that will be reported
during validation.
The Overall Grade per ISO standards will determine if
the barcodes pass or not. All quality parameter menus
ISO
will be hidden and only Overall Grade will be se-
lectable.
This mode allows the user to set custom failure
thresholds on individual barcode quality parameters.
Non-ISO Changing individual quality parameters may lead to
non-ISO standard grading. All quality parameter
menus are visible and user adjustable in this mode.
Factory Default ISO
It is recommended that only users that understand
both the ISO standards and the end user barcode
WARNING quality requirements change any parameters when
in the non-ISO mode.
30
Overall Grade
ODV2D > Grading > Overall Grade
This menu item sets the value used by the validator for pass/fail threshold
during the analysis of bar codes. Instead of a letter grade, numbers are used
to allow for more resolution. Higher values create a stricter pass criterion.
The numbers can be translated to letter grades per below:
Letter Grade A = 3.5 to 4.0 range
Letter Grade B = 2.5 to 3.4 range
Letter Grade C = 1.5 to 2.4 range
Letter Grade D = 0.5 to 1.4 range
Letter Grade F = 0.0 to 0.4 range
The Overall Grade is determined by taking the lowest grade obtained for any
of the applicable bar code quality parameters. See Section “Parameter Ap-
plicability” for more details.
Minimum 0.0
Maximum 4.0
Factory Default 0.0
Any bar code with a grade below this threshold
value will cause the printer to display the Overall
IMPORTANT Grade Fail error message (see “Troubleshooting
Error Messages”) and take the appropriate error
action.
Data Verify
ODV2D > Grading > Data Verify
This menu chooses whether to compare the data that comes from the vali-
dator is the same as the data that was used to create the barcode from the
emulations.
The data used by the emulations to create the barcode
Disable
is not compared to the data returned from the verifier.
The data used by the emulations to create the barcode
is compared to the data returned from the verifier. If
Enable there is a mismatch, then the fault Data Mismatch will
be declared if the successive retries do not solve the
problem.
Factory Default Disable
The data is only compared when the emulation is
IMPORTANT providing the data. Barcodes that are encoded via
graphics cannot compare data.
31
Decodability
ODV2D > Grading > Decodability
Decodability is a measurement of the variance in the width of the bars and
spaces which compose the bar code. It always factors into the Overall
Grade. This menu allows the user to specify a stricter requirement for De-
codability beyond the ISO compliant overall grade. The ODV2D will fail any
barcode with a Decodability at or below the value set in this menu, regard-
less of overall grade.
BARCODES All 1D, PDF417
Minimum 30%
Maximum 90%
Factory Default 37%
IMPORTANT Factors into the Overall Grade (page 31).
Percent Decode
ODV2D > Grading > Percent Decode
You can set how strict the validator grades each bar code. For example,
setting Percent Decode to 60% means that 60% of the scanned bar code
must be readable for the ODV2D to give the bar code a passing grade. The
higher the percentage value chosen, the stricter the validator grades.
BARCODES All 1D
Minimum 0%
Maximum 99%
Factory Default 0%
IMPORTANT Factors into the Overall Grade (page 31).
Defects
ODV2D > Grading > Defects
You can set how strict the validator grades the irregularities such as voids
and spots found within elements and quiet zones for each bar code. For
example, the Defects default is 21%. This means that if the bar code and
quiet zone defects exceed 21%, the ODV2D gives the bar code a failing
grade. The lower the percentage value chosen, the stricter the ODV2D
grades.
BARCODES All 1D, PDF417
Minimum 0%
Maximum 100%
Factory Default 21%
IMPORTANT Factors into the Overall Grade (page 31).
32
Modulation
ODV2D > Grading > Modulation
Modulation measures how well the ODV2D sees the wide elements (bars or
spaces) relative to the narrow elements. This menu item sets the value used
by the ODV2D for pass/fail threshold during the analysis of bar codes.
Higher values create a stricter criterion for passing.
BARCODES All
Minimum 0%
Maximum 100%
Factory Default 0%
IMPORTANT Factors into the Overall Grade (page 31).
EC Min
ODV2D > Grading > EC Min
This menu item sets the minimum edge contrast, which is the worst edge
transition (bar to space or space to bar) used by the ODV2D for pass/fail
threshold during the analysis of bar codes. Bar codes with an edge contrast
below this threshold will fail. The higher the value, the stricter the criterion.
BARCODES All 1D, PDF417
Minimum 0%
Maximum 100%
Factory Default 15%
IMPORTANT Factors into the Overall Grade (page 31).
RMin
ODV2D > Grading > RMin
This menu item sets the minimum reflectance value used by the ODV2D for
pass/fail threshold used during the analysis of bar codes. A bar code will fail
if all the bar reflectance values are above the percentage of space reflec-
tance set by this threshold. For example, an Rmin setting of 50% requires
that at least one bar reflectance value fall under the midpoint of the reflec-
tance value read for the highest space reflectance.
BARCODES All 1D, PDF417
Minimum 0%
Maximum 100%
Factory Default 50%
IMPORTANT Factors into the Overall Grade (page 31).
33
Symbol Contrast
ODV2D > Grading > Symbol Contrast
Symbol Contrast represents the contrast between the bars and spaces in the
bar code used by the validator for pass/fail threshold used during the analy-
sis of bar codes. The bar code must have a certain level of contrast to be
recognized by the ODV2D. Bar codes with a symbol contrast below the
threshold will fail. The higher the value, the stricter the criterion for passing.
BARCODES All
Minimum 0%
Maximum 100%
Factory Default 0%
IMPORTANT Factors into the Overall Grade (page 31).
34
Fixed Pattern Damage
ODV2D > Grading > Fixed Pat. Damage
Fixed Pattern Damage is a measurement of damage to the finder pattern
where modulation scores for the fixed pattern portions of 2D matrix barcodes
are degraded. This failure may be caused by physical damage to the code
such as a mark or scuff or may be due to printing errors such as a bad print
head.
The ODV2D will fail any barcode with a fixed pattern damage at or below
the value set in this menu, regardless of overall grade.
BARCODES DataMatrix, QR
Minimum 0.0
Maximum 4.0
Factory Default 3.0
IMPORTANT Factors into the Overall Grade (page 31).
Axial Non-Uniformity
ODV2D > Grading > Axial Non-Uniform
Axial Non-Uniformity is a measurement of the uneven scaling of symbol
obtained by measuring the module centers in both the X and Y axis. Low
axial non-uniformity grades may be caused by software errors in code
generation or print speed variation during printing.
The ODV2D will fail any barcode with an axial non-uniformity at or below the
value set in this menu, regardless of overall grade.
BARCODES DataMatrix, QR
Minimum 0.0
Maximum 4.0
Factory Default 3.0
IMPORTANT Factors into the Overall Grade (page 31).
Grid Non-Uniformity
ODV2D > Grading > Grid Non-Uniform
Grid Non-Uniformity is a measurement of deviation of the scanned grid from
the ideal grid (deviation of measured grid intersection positions of a 2D ma-
trix barcode from ideal theoretical positions). Low grid non-uniformity grades
may be caused by media slippage during printing.
The ODV2D will fail any barcode with grid non-uniformity at or below the
value set in this menu, regardless of overall grade.
BARCODES DataMatrix, QR
Minimum 0.0
Maximum 4.0
Factory Default 3.0
IMPORTANT Factors into the Overall Grade (page 31).
35
Unused Error Correction
ODV2D > Grading > Unused Error Corr.
Unused Error Correction is a measurement of the amount of margin availa-
ble to recover damage using error correction. Low unused error correction is
usually due to regional or spot damage in the code.
The ODV2D will fail any barcode with an unused error correction at or below
the value set in this menu, regardless of overall grade.
BARCODES PDF417, DataMatrix, QR
Minimum 0%
Maximum 100%
Factory Default 50%
IMPORTANT Factors into the Overall Grade (page 31).
Codeword Yield
ODV2D > Grading > Codeword Yield
Codeword yield is a measurement of the number of validly decoded code
words expressed as a percentage of the maximum number of code words
that could have been decoded. The amount of margin available to recover
damage using error correction. Low codeword yield may indicate a y-axis
failure in the barcode such as thermal drag.
The ODV2D will fail any barcode with a codeword yield at or below the value
set in this menu, regardless of overall grade.
BARCODES PDF417
Minimum 0%
Maximum 100%
Factory Default 64%
IMPORTANT Factors into the Overall Grade (page 31).
Global Threshold
ODV2D > Grading > Global Threshold
This menu sets the threshold used by ODV2D to interpret a scan reflectance
profile into bars and spaces. Reflectance profile values above the Global
Threshold are spaces and values below the threshold are bars. The Global
Threshold will set the bar/space transition point between the highest (Rmax)
and lowest (Rmin) reflectance of a scan profile. The bar/space transition
point formula is: Rmin + (Rmax – Rmin) * (Global Threshold) / 100.
BARCODES All
Minimum 0%
Maximum 100%
Factory Default 50%
IMPORTANT Factors into the Overall Grade (page 31).
36
Calibrate Submenu
The steps defined in this submenu allow the end user to check that the ODV2D remains in calibration and
to set the white gain and reflectance values based on known values on the Printronix Auto ID GS1
Calibration plaque. A test of 1D barcode grading accuracy can be run using the same plaque.
Print Bullseye
ODV2D > Calibrate > Print Bullseye
The Bullseye pattern is used for the calibration process to align the ODV2D
unit properly with respect to center-line, tilt and slope. Before printing the
Bullseye pattern, make sure that full width media is installed, and that the
image quality is properly adjusted.
This executable menu will print the Bullseye pattern 0.20” from the lead edge
of the label.
Alignment Check
ODV2D > Calibrate > Alignment Check
This is used to test that the unit is still properly aligned using the Bullseye
test pattern. When selected, a label will advance, and the Bullseye pattern
will be printed. Let the extra label hang. A poor Bullseye image will cause the
alignment check to fail. If the first check does fail, check the print quality,
make corrections as needed, then re-run the test (refer to printer’s Admin-
istrators Manual for details on adjusting image print quality).
After the check is made, either the Calibration Complete screen or the Error screen will be displayed:
Refer to the Troubleshooting section of this manual for the complete table of error messages and possible
solutions.
If the Completed screen appears, press any key to return to normal operation. If the Error screen appears,
make sure that the Bullseye pattern is dark black, without any white voids in the lines. If the Bullseye print
quality is poor, correct the issue and re-run the test.
If the test fails a second time, the ODV2D alignment is beyond allowable limits and should be re-aligned
and re-calibrated. In most cases, the equipment will continue to run in this condition. However, barcode
grades may be one grade lower (i.e. B= C) than actual. The system will never pass a failing barcode.
Please contact your TSC Printronix Auto ID Service Representative or authorized service provider to
perform the re-calibration and alignment process.
37
White Gain Calibration
ODV2D > Calibrate > White Gain Calibration
This is used to reset the White Gain values using the Calibration Plaque that
was provided with the ODV2D. Place the “white” side of the plaque into the
printer’s exit nip below the ODV2D (see photo). Follow the on-screen
prompts to complete this adjustment.
Reflectance Calibration
ODV2D > Calibrate > Reflectance Calibration
This is used to reset the Reflectance values using the Calibration Plaque
that was provided with the ODV2D. Place the “Barcode” side of the plaque
into the printer’s exit nip below the ODV2D (see photo). Follow the on-screen
prompts to complete this adjustment.
38
Grading Check
ODV2D > Calibrate > Grading Check
This is used to check the barcode grading against a known standard bar-
code using the Calibration Plaque that was provided with the ODV2D. Once
selected, the display will instruct you to insert the Calibration Plaque, and
after confirmation the ODV2D will start grading the barcode.
Once the Grading Check is selected, the display will instruct you to insert the Calibration Plaque as shown
below (barcode towards the printer), then press the Right SOFT key for Yes when ready and the ODV2D
will start scanning the barcode.
The ODV2D decides if the check passes under the following conditions:
• Overall Grade >= 3.5 (Grade A)
• Symbol Contrast >= 70 (ISO Grade 4 minimum)
Pass / Fail results will be displayed in one of the following popup messages:
• Calibration Passed
-When Decoded ok, Overall Grade >= 3.5, Symbol Contrast >= 70)
If the test passes, press any key to return the printer to normal operation.
39
If the Grading Check fails…
• Overall Grade Fail - When Decoded ok, good contrast, but Overall Grade < 3.5
• Symbol Contrast too low - When Decoded ok, but Symbol Contrast < 70)
In most cases, the equipment will continue to run in these conditions. However, barcode grades may be
reported one grade lower (i.e. B= C) than actual. The system will never pass a failing barcode.
Make sure the Calibration Plaque is oriented correctly into the printer as shown above. If not,
reposition the card and run the Grading Check a second time.
Check that the Calibration Plaque has no smudges, fingerprints or other contamination that would
prevent the scanner from reading and properly grading the barcode. Only perform this test with a
clean, undamaged Calibration Plaque.
Bullseye Height
ODV2D > Calibrate > Bullseye Height
This menu item displays the value determined during the alignment process.
Minimum 1829
Maximum 1870
Measured Value Will display actual value – must be between Min/Max
40
Bullseye Center Row
ODV2D > Calibrate > Bullseye Center Row
This menu item displays the value determined during the alignment process.
Minimum 1020
Maximum 1025
Measured Value Will display actual value – must be between Min/Max
Bullseye Slope
ODV2D > Calibrate > Bullseye Slope
This menu item displays the value determined during the alignment process.
Minimum - 20
Maximum 20
Measured Value Will display actual value – must be between Min/Max
Bullseye Tilt
ODV2D > Calibrate > Bullseye Tilt
This menu item displays the value determined during the alignment process.
Minimum - 100
Maximum 100
Measured Value Will display actual value – must be between Min/Max
41
Diagnostics Submenu
Scan Report
IMPORTANT To print a Scan Report, ODV2D > Control >Telemetry Data must be set to the option
“Full Report”.
This executable menu item prints a diagnostic printout of bar code analysis parameters calculated by the
ODV2D. It allows you to determine which parameter may be the cause of bar code verification failures.
The report printed is based on the last Full Report received from the ODV2D. This allows you to send a bar
code print job to the printer, have the bar code evaluated by the ODV2D, and view a report of the
parameters as seen by the ODV2D.
For forms with multiple bar codes, only information from the last processed bar code will be included in the
report. To view validator parameters for all bar codes on a form, use the Auto ID Data Manager within
PrintNet Enterprise.
IMPORTANT If the label is not wide enough, not all the information will print.
The printed report is generated from ODV2D reports received by the printer during printing. The report
does not include information about bar codes that are placed in the ODV2D scanning beam while the
printer is idle or from print jobs that generate an “Unscannable: xx Missing Codes” error message.
The number of Total Scans and Good Scans can help you determine if the print speed is set too high and
causing borderline failures. The Scan Report is based on the last Full Report received by the validator.
Therefore, if the last bar code printed is positioned close to the last inch of the form, and on-demand
printing occurs to force the last bar code to be fed past the ODV2D beam, the Total Scans and Good
Scans reported will not be the same as those reported by the ODV2D when printing at the set Media >
Speed > Print Speed. This is because the on-demand printing portion is done at a fixed print speed which
may be higher or lower than the set Print Speed. For example, a bar code printed at 7 ips may yield eight
Total Scans, but if printed in an on-demand printing mode it may yield 18 Total Scans.
Scan Report Information
1. “ERROR:” followed by highest priority failure message (if an error other than “Unscannable Code”
occurred) or “None” if no error occurred
2. Orientation (does not apply to 2-D codes)
3. Printout of characters read from the bar code
4. Symbology Type Read (e.g., Code 39, Code 128)
5. Overall Grade (letter grade and calculated/number value)
6. Aperture (mils)
7. Wavelength (nm)
8. X dimension (mils)
9. Decodability (%)
10. Modulation (%)
11. Symbol Contrast (%)
12. Edge Contrast (%)
13. Defects (%)
14. Rmin
15. Rmax
16. PCS (Print Contrast Signal)
17. Percent Decode (%)
18. Bar Deviation Avg (%)
42
19. Min. Bar Deviation (%)
20. Max. Bar Deviation (%)
21. Ratio
22. Good Scans
23. Total Scans
The following is a sample scan report of a Code 39, 10 mil bar code containing "*PTX8702*" with a quiet
zone violation:
SCAN REPORT
Scan Profile
This is an executable menu that prints the scan reflectance profile of a picket fence bar code placed in the
ODV2D camera beam. It does not work for ladder or 2-D codes.
IMPORTANT: You will need a minimum installed label width of 2 inches to support the Scan
Profile printout.
1. Press the PAUSE key to take the printer OFFLINE.
2. If necessary, press the UP+DOWN ARROW keys at the same time to unlock the front panel.
3. Find ODV2D > Diagnostics > Scan Profile.
4. Place a bar code in the scanning beam path.
5. Press ENTER key to scan the bar code.
6. When prompted on the control panel, remove the scanned bar code.
7. Press ENTER key to print the scan profile.
8. Lock the panel again using the UP+DOWN ARROW keys.
9. Press PAUSE again to put the printer ONLINE.
The length of the scan profile printed depends on the ODV2D > Diagnostics > Profile Horiz Mag setting.
The scan profile will print either a 1.5” wide or a 3” wide graph depending on the Media > Image > Label
Width setting. (Label widths less than 4” print the smaller 1.5” wide profile.)
43
IMPORTANT: Printing is done in continuous mode without considering media gap/marks. Use
continuous media or else the scan profile may distort at the media gap/marks.
Figure 4 shows two sample scan profile graphs. The left uses a Profile Horiz Mag of 1 (default) and the
right uses a Profile Horiz Mag of 2. These graphs only show the profile of actual bar code data. The
dashed lines represent the 90% and 10% marks. You can use these to help set the gain and offset (if
necessary).
Print Settings
This is an executable menu item that reads and prints the settings used by the ODV2D.
The response received from the ODV2D after sending the ~DV (retrieves version), ~HT (retrieves
hardware settings), and ~PT8 (retrieves parameter settings) commands are printed. Use the printout to
view all the active settings the validator is using and to determine if there is any invalid setting which may
be causing problems. Table 2 is a sample printout (separated into different columns).
44
Table 3 Print Settings
Graphics Info
When the menu is set to zero, no analysis will be saved. When the menu is
set above zero, that number of label analyses will be saved onto the SD
card (if present) or Flash File System. As the labels are printed, this menu
will decrement automatically back to zero.
Minimum 0
Maximum 5
Default 0
Statistics Submenu
Clear Data
ODV2D > Statistics > Clear Data
The ODV2D reports on all bar codes it detects since the last data reset. For
example, you print a large batch of labels with bar codes and then print a
validator report. Then you print another batch of labels with bar codes and
print another report. The report will contain information on both batch jobs.
However, if you reset the validator data between batch jobs, the second re-
port will only contain information on the second batch job.
This executable menu will clear all the statistics shown in this Statistics
submenu.
45
Good Barcodes
ODV2D > Statistics > Good Barcodes
The number of bar code reports sent from the ODV2D since the last Clear
Data command.
46
Good Forms
ODV2D > Statistics > Good Forms
The number of good (non-overstruck) forms printed since the last Clear Data
command.
Overstrike Forms
ODV2D > Statistics > Overstrike Forms
The number of forms containing a bar code that fell below the minimum ac-
ceptable level since the last Clear Data command.
Average BWD
ODV2D > Statistics > Average BWD
The average of all Bar Width Deviations reported since the last Clear Data
command, shown as a percentage.
Last BWD
ODV2D > Statistics > Last BWD
The Bar Width Deviation included in the most recent report received from the
validator, shown as a percentage.
IMPORTANT A bar code’s Bar Width Deviation is determined by comparing the bar width the
ODV2D expects to the bar width that is actually printed. For example, if the bar
width is printed exactly as the validator expects, the BWD is 0%. However, if the bar
width as printed is 25% wider or narrower than the validator expects it to be, it
reports a BWD of 25%.
Validator F/W
ODV2D > Statistics > Validator F/W
Shows the firmware version installed in the ODV2D.
Serial Number
ODV2D > Statistics > Serial Num.
Shows the serial number of the ODV2D installed.
IP Address
ODV2D > Statistics > IP Address
Shows the IP Address of the Ethernet diagnostic port on the ODV. The
Ethernet is accessible from the side of the ODV (needs to remove cover
plate to expose).
MAC Address
ODV2D > Statistics > MAC Address
Shows the MAC Address of the Ethernet diagnostic port on the ODV. This is
the Manufacturer’s assigned number and is unique for each ODV2D. The
MAC Address is stored with the SD memory card.
47
Setup Considerations
There are several factors which contribute to successful bar code validation, including printer speed,
on-demand print settings, calibration, and ambient light. The following sections describe how to ensure
your ODV2D validator is scanning and reporting properly.
48
On-Demand Printing
For each bar code to be successfully validated, the entire bar code must pass completely under the beam,
even when the printer is set up for on-demand printing. In cases where the bar code is close to the bottom
of a label and the printer is in an on-demand printing mode, the printer automatically pushes the label past
the scanning beam. Once the bar code is validated, the printer retracts the label back to be cut or torn off.
Because the printer must push out and then retract labels in on-demand printing modes, the extra
movements slow the printing process. You can avoid this by adjusting the form so that the bar code
appears early enough on the form so that it will pass completely under the scanning beam during normal
printing. This may involve rotating the form or moving the bar code to a different position on the form.
49
PTX_SETUP Control
There are several PTX_SETUP commands that configure the ODV2D symbologies and orientations that
will be processed or ignored, including the ability to skip processing entire labels.
The SFCC value by default is hex 21 (!) and the entire set of PTX_SETUP commands can be found in the
T8000 Administrator’s Manual. Table 3 lists those commands.
ALL
Choose the orientations of the
ORIENT PICKET
barcodes to process.
LADDER
50
Command Sub-Command Parameter Description
IMPORTANT When PTX_SETUP commands are sent, they will change the front panel menus (if
available) in the Section “Symbology Submenu”.
51
Grading Parameters
Grading A-F
Several ISO and traditional parameters are individually graded per the ISO and ANSI specifications, and
these individual grades are combined to make an overall ISO-compliant grade. The ODV2D will always fail
any barcodes which have grades less than or equal to the value specified in the Overall Grade menu.
Instead of grade letters (A-F), numbers are used to allow for more resolution. ISO-compliant letter grades
correspond to numerical grades as shown in the table below.
Parameter Applicability
Barcode verifiers use parameters dictated by industry standards for grading and reporting barcodes. The
table below shows a summary of the industry standard parameters used for barcode grading as shown in
Table 5.
Table 6 Configurable Analysis Parameters
2D
Parameter 1D Stacked Matrix
Modulation x x x
Symbol Contrast x x x
Overall Grade x x x
Rmin x x
ECmin x x
Defects x x
Decodability x x
52
Fixed Pattern Damage x
Axial Nonuniformity x
Grid Nonuniformity x
Unused Error Correction Code x x
NOTE: Stacked Barcodes include PDF417. Matrix barcodes include DataMatrix, QR, and Aztec.
Calculations
The ODV2D follows the specified algorithm defined in the ANSI X3.182 specification for determining the
Overall Grade based on an average. Although it is not defined, the validator truncates the result of all
analysis parameters averages for a slightly stricter grading.
A side effect of the ANSI specified algorithm is that the Overall Grade may be lower than any of the
averaged analysis parameters. This occurs because the Overall Grade is based on the lowest grade on
any scan converted to a single digit grade (A to F, 4 to 0) which is then averaged. This usually occurs when
a single analysis parameter has a value just above or just below the Overall Grade.
Example
The Decodeability value of 51 displays as B, but the Overall Grade displays as C.
The bar code was scanned five times: three scans had values of 0.49 (grade C) and two scans had values
of 0.54 (grade B).
The Decodeability grading calculation is:
(3 x 0.49) + (2 x 0.54) = 2.55
2.55 ÷ 5 = 0.51 (grade B)
The Overall Grade calculation is:
(3 x 2.0) + (2 x 3.0) = 12
12 ÷ 5 = 2.4 (grade C)
Also, with certain combinations of multiple analysis parameters and possibly the truncation used on the
analysis parameter’s average, the Overall Grade may be higher than an individual analysis parameter
grade.
Example
The Decodeability value of 48 displays as C, but the Overall Grade displays as B.
The bar code was scanned five times: four scans had values of 0.51 (grade B) and one scan had a value
of 0.40 (grade C).
The Decodeability grading calculation is:
(4 x 0.51) + (1 x 0.40) = 2.44
2.44 ÷ 5 = .49 (grade C)
The Overall Grade calculation is:
(4 x 3.0) + (1 x 2.0) = 14
14 ÷ 5 = 2.8 (grade B)
53
Bar Code Failures
The ODV2D tells the printer to announce a fault condition in two situations:
• When the validator detects a bad bar code
• When the validator detects no bar code where it expects to find one.
How the printer reacts to these faults is determined by the printer’s configuration settings, as described in
this section.
Edge Determination
Grading Scale:
Percent Decode >= Per-
A: 3.5 to 4.0
cent Decode Threshold
B: 2.5 to 3.4
C: 1.5 to 2.4
D: 0.5 to 1.4
F: 0.0 to 0.4
54
Bad Bar Code Error Detection
The ODV2D examines every bar code that passes under the beam and sends an analysis report to the
printer. If a bar code is reported to have failed to meet any of the acceptance criteria, an error condition is
reported. How the printer then reacts is described in “Validator Action (Error Action)”.
55
Troubleshooting
5. Using Sensors > Calibrate > Auto Calibrate or by selecting in the Home screen, run Auto
Calibrate for proper gap sensing.
6. Enter the menu Tools > Print Tests > Run Tests. If the panel is locked, press the UP+DOWN ARROW
keys simultaneously to unlock.
7. Find the printer test named “Barcode Demo 2D” and press the ENTER key.
8. The printer will return ONLINE automatically and print one demo page.
9. To simulate a bad bar code reading, block the scanning beam with an opaque object while the bar
code moves under the beam. When you block the beam, the ODV2D will generate a reading error and
will perform a default error action. The default setting for ODV2D > Control > Validator Action is “Retry
Form”. Using the factory default settings, the printer will pull the label with the bad barcode back,
overstrike the entire label, reprint the barcodes on the next label, and then stop.
10. Press the PAUSE key to take the printer OFFLINE.
11. Lock the panel again using the UP+DOWN ARROW keys.
12. Press the PAUSE key to place the printer back ONLINE.
Error Messages
The ODV2D can detect several errors. When one of these errors occurs, the validator alerts the printer to
perform the currently selected error action (see “Validator Action (Error Action)”) and show the appropriate
error message on the printer display. Validator error messages are explained in Table 6.
56
Table 6. Message List
Bar Code Improper Data validation error: the bar code is not properly encoded.
Data Format For example, a check sum is incorrect, a required number of
characters is not met, or the required terminator characters
are not included. This problem is almost always caused by
incorrect form or host application design.
Bar code quiet Data validation error: the blank zone(s) left or right of the bar
zone too small code is not big enough to meet the minimum requirement.
Typically, this occurs in forms where bar codes are placed too
close to other elements, the bar code is too close to an edge
of the media, or the media’s position is shifting.
The minimum quiet zone on each end of the bar code should
be ten times the minimum element width or
1/4 inch, whichever is greater. In addition, between bar codes,
the validator requires a minimum distance of 20 times the
minimum element width or 1/2 inch, whichever is greater.
Checksum Failure The bar code data fails the checksum check or is missing the
checksum digit.
1. Verify that the checksum digit exists in the bar code and
that it is the correct value.
57
Table 6. Message List
ODV COMM ERR Communication error between printer and online data valida-
See Manual tor (ODV).
1. Cycle power.
2. If the problem persists, contact your authorized cus-
tomer service representative.
ODV Error The data that was encoded by the emulation is different than
Data Mismatch the data that the validator reported.
1. Adjust Media > Image > Print Intensity and Media >
Speed > Print Speed menu or via host software.
2. Adjust the printhead pressure. (Refer to the Adminis-
trator’s Manual.).
ODV Error: 35 The ODV2D has not been properly aligned or calibrated dur-
Data Invalid ing installation. The full alignment and calibration routine must
be performed. Contact your Printronix Service Representative
or provider for more information about the initial setup.
58
Table 6. Message List
3. Adjust Media > Image > Print Intensity and Media >
Speed > Print Speed menu or via host software.
4. Adjust the printhead pressure. (Refer to the Adminis-
trator’s Manual.).
Poor scanning Data validation failure: percent decode. The validator detected
Check media gross inconsistencies within the height of the bar code. These
types of failures are likely attributed to large blemishes within
the bar code, caused by ribbon wrinkle or debris on media.
Poor scanning Data validation failure: hardware defect. The validator de-
Inspect head tected unexpected dark spots in spaces or light spots in bars.
This usually indicates a poor ribbon/media combination, a dirty
printhead, or a burned pixel.
Speed Exceeds Print Speed is set above the maximum allowed for bar code
Validator Limit printing by the validator as the Power-Up configuration with
the validator option installed.
An attempt was made to set Media > Speed > Print Speed
above the maximum allowed via menu or host software.
59
Table 6. Message List
Validator not The ODV2D > Control > Validator Active is enabled in the
communicating menu, but when the printer was first powered up it could not
communicate with it. Another possibility is the validator was
connected to the printer and then later removed.
60
Table 6. Message List
61
If you are having problems with the validator, consult Table 7 for a list of symptoms and possible solutions.
Symptom Solution
The printer pauses after scanning For complex labels with 2-D or several 1-D bar-
each label. codes, the printer might be waiting for the ODV2D
to complete analysis. Try reducing the print speed
to minimize pausing.
Printing less than 10 mil (0.010 The validator does not recognize x-dimensions as
inch) x-dimension width bar codes smaller than10 mil. If you must print bar codes this
constantly causes error messag- size, disable the validator to prevent error reports.
es. See “Enabling and Disabling the Validator”.
The printed labels look clean, but The validator glass may be dirty, distorting the
the validator is still reporting an report results. Power down the printer and clean
error message. the glass using a household glass cleaner and a
dry, lint-free cloth.
62
Table 7. Troubleshooting the Validator
Symptom Solution
The printed bar codes are caus- There are several factors which could be causing
ing error conditions. validation errors:
• The ODV2D is not properly aligned with the
printer. See “Calibration”.
63
Table 7. Troubleshooting the Validator
Symptom Solution
The printed bar codes are caus- • Bar code type. The validator only recognizes
ing error conditions. the following linear, picket fence bar codes:
(continued)
Codabar, Code 39, Code 93, Code 128, In-
terleaved 2 of 5, and UPC/EAN, PDF417, Data
Matrix, and QR.
If the problem with the printer is not fixed by one of these troubleshooting methods, call your authorized
service representative or the Printronix Customer Support Center. See “Printronix Auto ID Customer
Support Center”.
64
Maintenance
The ODV2D is a self-contained unit that requires only periodic cleaning. Every so often, power down the
printer and use a household glass cleaner and a dry, lint-free cloth to clean the glass.
There are no field serviceable items inside the validator imaging unit. It is sealed with tamper-evident tape
at the factory. If the tape has been removed, the words “VOID” will appear indicating that the Product
Warranty is now VOID.
65
Addendum
Definitions.
“Software” shall mean the digitally encoded, machine-readable data and program. The term “Software
Product” includes the Software resident in the printer and its documentation. The Software Product is
licensed (not sold) to you, and Printronix Auto ID Technology, Inc. either owns or licenses from other
vendors who own, all copyright, trade secret, patent and other proprietary rights in the Software Product.
License.
1. Authorized Use. You agree to accept a non-exclusive license to use the Software resident in the
printer solely for your own customary business or personal purposes.
2. Restrictions.
a. To protect the proprietary rights of Printronix Auto ID Technology, Inc., you agree to maintain the
Software Product and other proprietary information concerning the typefaces in strict confidence.
b. You agree not to duplicate or copy the Software Product.
c. You shall not sublicense, sell, lease, or otherwise transfer all or any portion of the Software
Product separate from the printer, without the prior written consent of Printronix Auto ID
Technology, Inc.
d. You may not modify or prepare derivative works of the Software Product.
e. You may not transmit the Software Product over a network, by telephone, or electronically using
any means; or reverse engineer, decompile or disassemble the Software.
f. You agree to keep confidential and use your best efforts to prevent and protect the contents of the
Software Product from unauthorized disclosure or use.
3. Transfer. You may transfer the Software Product with the printer, but only if the recipient agrees to
accept the terms and conditions of this Agreement. Your license is automatically terminated if you
transfer the Software Product and printer.
66
Remedy
Your exclusive remedy and the sole liability of Printronix Auto ID Technology, Inc. in connection with the
Software is replacement of defective software with a copy of the same version and revision level.
67
Open Source Acknowledgements
The ODV2D version V2 and version V3e run several components on a Linux based system that include
proprietary code for the ODV2D application along with many open source components. This section
details which open source components are used along with the license information. Table 7 lists the
various open source components used by these versions.
The various licenses are disclosed as required in Section “Open Source Licenses”.
Linux
The Linux operating system (Version 4.19.94) is compiled and linked independently of the ODV2D
application and tailored for embedded devices and shipped with the BeagleBoard-x15 and BeagleBone.
Information about Linux can be found at https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/.
Changes have been made to Linux modules and thus based on the GPL 2.0 License (Section “GPL 2.0”)
these changes must be made available to the public.
68
Aptina Video Driver Module
The Aptina Video Driver Module (Version unknown) is used to capture images for the ODV2D system. The
driver module is compiled separately and bundled with the Angstrom Linux operating system. It does not
have any direct linkage with the proprietary ODV2D application. This module is described at
https://github.com/Aptina/BeagleBoard-xM/blob/master/MT9V034/Angstrom/README_Beagleboard-xM_
mt9v034.txt.
Changes have been made to this driver module and thus based on the GPL 2.0 License (Section “GPL
2.0”) these changes must be made available to the public.
This can be downloaded at https://github.com/Aptina/BeagleBoard-xM/tree/master/MT9P031/Angstrom.
Busybox
BusyBox is a software suite that provides multiple Unix/Linux utilities in a single executable file. Many of
the tools it provides are designed to work with interfaces provided by the Linux kernel. As the single exe-
cutable, it replaces basic functions of more than 300 common commands. It is released as free software
(http://www.busybox.net/downloads) under the terms of the GNU General Public License, version 2
GNU C Libraries
The GNU C Libraries (Version 2.25) are a standard for Unix and Linux operating systems. Applications
written in C need these libraries and thus they must be included with the Angstrom Linux package.
The GNU C Libraries are under LGPL 3.0 License (Section “LGPL 3.0”) and compiled separately and
dynamically linked with the Linux operating system. The GNU C Libraries have not been modified and they
do not have any direct linkage with the proprietary ODV2D application. Since no changes have been
made, there is nothing that must be made available to the public.
The GNU C Libraries can be downloaded at Included in Linux root file system
http://www.angstrom-distribution.org/builder/.
OpenCV3
From http://opencv.org/about.html: OpenCV (Open Source Computer Vision Library) is an open source
computer vision and machine learning software library. OpenCV was built to provide a common
infrastructure for computer vision applications and to accelerate the use of machine perception in the
commercial products. Being a BSD-licensed product, the OpenCV Library is under the BSD License and
compiled and dynamically linked with the ODV2D application.
The OpenCV Library (Version 3.4.9) can be downloaded at Included in Linux root file system
https://docs.opencv.org/3.4.9/ . The license information in the source code is available here.
69
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See
the License for the specific language governing permissions and limitations under the License.
70
Additional Open Source Components
Package Version Description License
argp-standalone 1.3 Standalone version of argp - part of glibc library LGPL-2.0+
busybox 1.31.1 Library of common UNIX utilities GPL-2.0
dropbear 2019.78 Provides a Secure Shell-compatible server and MIT,
client BSD-2-Clause,
BSD-3-Clause
e2fsprogs 1.45.5 Utilities for Linux ext2 file system GPL-2.0,
MIT-like with
advertising
clause (libss
and libet)
gdb 8.2.1 GNU Project debugger GPL-2.0+,
LGPL-2.0+,
GPL-3.0+,
LGPL-3.0+
gptfdisk 1.0.4 Disk partitioning tool GPL-2.0+
htop 2.2.0 Interactive process viewer GPL-2.0
ifplugd 0.28 Daemon to configure ethernet device GPL-2.0+
jitterentropy-library 2.2.0 Random number generator GPL-2.0 or
BSD-3-Clause
jpeg-turbo 2.0.4 JPEG image codec that uses SIMD instructions IJG (libjpeg),
BSD-3-Clause
(TurboJPEG),
Zlib (SIMD)
libconfig 1.7.2 Library for processing structured config files LGPL-2.1+
libcvblobs V8.3-1.01C Open CV Blob detection unknown
libdaemon 0.14 C library for writing UNIX daemons LGPL-2.1+
libgpiod 1.4.1 C library for use with the Linux GPIO char device LGPL-2.1+
libopenssl 1.1.1f Library for SSL and TSL protocols OpenSSL or
SSLeay
libpng 1.6.37 Library for Portable Network Graphics (PNG im- Libpng-2.0
age format)
libsysfs 2.1.0 Interface for querying system device information GPL-2.0 (utili-
ties),
LGPL-2.1+
(library)
libubootenv Access to U-Boot environment. LGPL-2.1
libzlib 1.2.11 Data-compression library Zlib
mmc-utils Tool for configuring eMMC storage devices GPL-2.0
ncurses 6.1 Tool to update displays MIT with ad-
vertising
clause
popt 1.16 Libraries to parse command-line options MIT
rng-tools 6.9 Random number generator tools GPL-2.0
71
swupdate 2019.11 Update embedded system software GPL-2.0+
with OpenSSL
exception,
LGPL-2.1+,
MIT
ti-cmem 4.16.00.00 Interface to the contiguous memory allocator GPL-2.0
ti-omapconf 1.74 TI OMAP Processors Diagnostic Tool GPL-2.0, BSD
ti-vpdma-fw Mar-12 TI Video Input Port and Video Processing Engine TI-TSPA
unzip 60 Zipfile-extraction program Info-ZIP
zip 3 Compression and file packaging/archive utility Info-ZIP
GPL 2.0
GNU GENERAL PUBLIC LICENSE
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU
General Public License is intended to guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to most of the Free Software Foundation's
software and to any other program whose authors commit to using it. (Some other Free Software Foundation software
is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to
make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that
you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to sur-
render the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software,
or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the
rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them
these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no war-
ranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know
72
that what they have is not the original, so that any problems introduced by others will not reflect on the original au-
thors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors
of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this,
we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it
may be distributed under the terms of this General Public License. The "Program", below, refers to any such program
or work, and a "work based on the Program" means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated
into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each li-
censee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.
The act of running the Program is not restricted, and the output from the Program is covered only if its contents con-
stitute a work based on the Program (independent of having been made by running the Program). Whether that is true
depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, pro-
vided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer
of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other
recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection
in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program,
and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all
of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files
and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is de-
rived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties
under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it,
when started running for such interactive use in the most ordinary way, to print or display an an-
nouncement including an appropriate copyright notice and a notice that there is no warranty (or else,
saying that you provide a warranty) and that users may redistribute the program under these condi-
tions, and telling the user how to view a copy of this License. (Exception: if the Program itself is in-
teractive but does not normally print such an announcement, your work based on the Program is not
required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from
the Program, and can be reasonably considered independent and separate works in themselves, then this License, and
its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same
sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part re-
gardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the
intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the
Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this Li-
cense.
73
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be
distributed under the terms of Sections 1 and 2 above on a medium customarily used for software in-
terchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a
charge no more than your cost of physically performing source distribution, a complete ma-
chine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1
and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source
code. (This alternative is allowed only for noncommercial distribution and only if you received the
program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable
work, complete source code means all the source code for all modules it contains, plus any associated interface defi-
nition files, plus the scripts used to control compilation and installation of the executable. However, as a special ex-
ception, the source code distributed need not include anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs,
unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering
equivalent access to copy the source code from the same place counts as distribution of the source code, even though
third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.
Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies, or rights, from you under this License will
not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you per-
mission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not
accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you
indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modi-
fying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a
license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You
may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible
for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to
patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the
conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to
satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence
you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution
of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy
both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the
section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest
validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution
system, which is implemented by public license practices. Many people have made generous contributions to the wide
range of software distributed through that system in reliance on consistent application of that system; it is up to the
author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
74
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted
interfaces, the original copyright holder who places the Program under this License may add an explicit geographical
distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to
time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new prob-
lems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License
which applies to it and "any later version", you have the option of following the terms and conditions either of that
version or of any later version published by the Free Software Foundation. If the Program does not specify a version
number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are dif-
ferent, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two
goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of
software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE
PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED
IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
GPL 3.0
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change
the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all
versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use
the GNU General Public License for most of our software; it applies also to any other work released this way by its
authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to
make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you
75
receive source code or can get it if you want it, that you can change the software or use pieces of it in new free pro-
grams, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights.
Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities
to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients
the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you
must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2)
offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software.
For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their prob-
lems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, alt-
hough the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to
change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which
is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice
for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to
those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict de-
velopment and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger
that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”.
“Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission,
other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work
“based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily
liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy.
Propagation includes copying, distribution (with or without modification), making available to the public, and in some
countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere in-
teraction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and
prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no
warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under
this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such
as a menu, a prominent item in the list meets this criterion.
1. Source Code.
76
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code”
means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body,
or, in the case of interfaces specified for a particular programming language, one that is widely used among developers
working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in
the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only
to enable use of the work with that Major Component, or to implement a Standard Interface for which an implemen-
tation is available to the public in source code form. A “Major Component”, in this context, means a major essential
component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work
runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and
(for an executable work) run the object code and to modify the work, including scripts to control those activities.
However, it does not include the work's System Libraries, or general-purpose tools or generally available free pro-
grams which are used unmodified in performing those activities, but which are not part of the work. For example,
Corresponding Source includes interface definition files associated with source files for the work, and the source code
for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by
intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the
Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program and are irrevocable provided
the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Pro-
gram. The output from running a covered work is covered by this License only if the output, given its content, con-
stitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copy-
right law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license
otherwise remains in force. You may convey covered works to others for the sole purpose of having them make
modifications exclusively for you, or provide you with facilities for running those works, provided that you comply
with the terms of this License in conveying all material for which you do not control copyright. Those thus making or
running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms
that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not
allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights from Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling
obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or
restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to
the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and
you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating
that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices
of the absence of any warranty; and give all recipients a copy of this License along with the Program.
77
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection
for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of
source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any condi-
tions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all
notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into posses-
sion of a copy. This License will therefore apply, along with any applicable section 7 additional terms,
to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not invalidate such permission if you have
separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if
the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need
not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions
of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a
storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to
limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a
covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also
convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medi-
um), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for
software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medi-
um), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare
parts or customer support for that product model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the product that is covered by this License, on a
durable physical medium customarily used for software interchange, for a price no more than your reason-
able cost of physically performing this conveying of source, or (2) access to copy the Corresponding
Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Correspond-
ing Source. This alternative is allowed only occasionally and noncommercially, and only if you received
the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer
equivalent access to the Corresponding Source in the same way through the same place at no further
charge. You need not require recipients to copy the Corresponding Source along with the object code. If
the place to copy the object code is a network server, the Corresponding Source may be on a different
server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the Corresponding Source. Regardless of what
server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as
needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the ob-
ject code and Corresponding Source of the work are being offered to the general public at no charge under
subsection 6d.
78
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System
Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally
used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In
determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a
particular product received by a particular user, “normally used” refers to a typical or common use of that class of
product, regardless of the status of the particular user or of the way in which the particular user actually uses, or ex-
pects or is expected to use, the product. A product is a consumer product regardless of whether the product has sub-
stantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of
the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other infor-
mation required to install and execute modified versions of a covered work in that User Product from a modified
version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the
modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the
conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to
the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding
Source conveyed under this section must be accompanied by the Installation Information. But this requirement does
not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for
example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support
service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in
which it has been modified or installed. Access to a network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and protocols for communication across the net-
work.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a
format that is publicly documented (and with an implementation available to the public in source code form), and must
require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more
of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were
included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to
part of the Program, that part may be used separately under those permissions, but the entire Program remains gov-
erned by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that
copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when
you modify the work.) You may place additional permissions on material, added by you to a covered work, for which
you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized
by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this Li-
cense; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or
in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of
such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service
marks; or
79
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the mate-
rial (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability
that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the
Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a
term that is a further restriction, you may remove that term. If a license document contains a further restriction but
permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of
that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement
of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as
exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt
otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including
any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently,
if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessa-
tion.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies
you of the violation by some reasonable means, this is the first time you have received notice of violation of this
License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the
notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or
rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not
qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of
a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does
not require acceptance. However, nothing other than this License grants you permission to propagate or modify any
covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or prop-
agating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run,
modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third
parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or
subdividing an organization, or merging organizations. If propagation of a covered work results from an entity
transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work
the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with rea-
sonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For
example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License,
and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim
is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
80
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the
Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already
acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using,
or selling its contributor version, but do not include claims that would be infringed only as a consequence of further
modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent
sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential
patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its
contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated,
not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringe-
ment). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not
available for anyone to copy, free of charge and under the terms of this License, through a publicly available network
server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available,
or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly
relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a
country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in
that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring
conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work author-
izing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant
is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or
is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You
may not convey a covered work if you are a party to an arrangement with a third party that is in the business of dis-
tributing software, under which you make payment to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the parties who would receive the covered work from you,
a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made
from those copies), or (b) primarily for and in connection with specific products or compilations that contain the
covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to in-
fringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of
this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to
satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence
you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further
conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a
work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey
the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the
special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network
will apply to the combination as such.
14. Revised Versions of this License.
81
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time
to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new
problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the
GNU General Public License “or any later version” applies to it, you have the option of following the terms and
conditions either of that numbered version or of any later version published by the Free Software Foundation. If the
Program does not specify a version number of the GNU General Public License, you may choose any version ever
published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used,
that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the
Program.
Later license versions may give you additional or different permissions. However, no additional obligations are im-
posed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PAR-
TIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PER-
FORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS
PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, IN-
CIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INAC-
CURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO
OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to
their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil
liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the
Program in return for a fee.
END OF TERMS AND CONDITIONS
LGPL 3.0
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not
allowed.
This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the
GNU General Public License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL”
refers to version 3 of the GNU General Public License.
82
“The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as
defined below.
An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise
based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface
provided by the Library.
A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular
version of the Library with which the Combined Work was made is also called the “Linked Version”.
The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined
Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the
Application, and not on the Linked Version.
The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the
Application, including any data and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the
GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied
by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you
may convey a copy of the modified version:
a) under this License, provided that you make a good faith effort to ensure that, in the event an Application
does not supply the function or data, the facility still operates, and performs whatever part of its purpose
remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from a header file that is part of the Library. You
may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to
numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or
fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library
and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict
modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging
such modifications, if you also do each of the following:
a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the
Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
c) For a Combined Work that displays copyright notices during execution, include the copyright notice for
the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and
this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this License, and the
Corresponding Application Code in a form suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of the Linked Version to produce a
modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying
83
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is
one that (a) uses at run time a copy of the Library already present on the user's computer system,
and (b) will operate properly with a modified version of the Library that is interface-compatible
with the Linked Version.
e) Provide Installation Information, but only if you would otherwise be required to provide such
information under section 6 of the GNU GPL, and only to the extent that such information is necessary to
install and execute a modified version of the Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If you use option 4d0, the Installation
Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If
you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of
the GNU GPL for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library side by side in a single library together with
other library facilities that are not Applications and are not covered by this License, and convey such a combined
library under terms of your choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with
any other library facilities, conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it is a work based on the Library, and
explaining where to find the accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License
from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Library as you received it specifies that a certain
numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the
option of following the terms and conditions either of that published version or of any later version published by the
Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser General Public License ever published by
the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser
General Public License shall apply, that proxy's public statement of acceptance of any version is permanent
authorization for you to choose that version for the Library.
Apache 2.0
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1
through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are
under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of
fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
84
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source
code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form,
including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as
indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix
below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the
Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole,
an original work of authorship. For the purposes of this License, Derivative Works shall not include works that
remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works
thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications
or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the
Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright
owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written
communication sent to the Licensor or its representatives, including but not limited to communication on electronic
mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously
marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been
received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or
Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent
claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation
against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution
incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted
to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of this License; and
You must cause any modified files to carry prominent notices stating that You changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark,
and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of
the Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute
must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text
85
file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the
Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices
normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an
addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license
terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works
as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions
stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to
the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement
you may have executed with Licensor regarding such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks, service marks, or product names of the
Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing
the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor
provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied, including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated
with Your exercise of permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required
by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any
character arising as a result of this License or out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial
damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for,
acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License.
However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not
on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless
for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such
warranty or additional liability.
END OF TERMS AND CONDITIONS
BSD
BSD 3-Clause License
/*-
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
86
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the author nor the names of its contributors may
* be used to endorse or promote products derived from this software
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
87
Contact Information
IMPORTANT Please have the following information available prior to calling the Printronix
Customer Support Center:
• Model number
• Serial number (located on the back of the printer)
• Installed options (i.e., interface and host type if applicable to the problem)
• Configuration printout: Refer to the Administrator’s Manual.
• Is the problem with a new install or an existing printer?
• Description of the problem (be specific)
• Good and bad pictures that clearly show the problem (faxing or emailing of
these pictures may be required)
88
Corporate Offices
Printronix Auto ID
3040 Saturn Street, Suite
200, Brea, CA 92821
U.S.A.
P180045-001 J
89