-
Notifications
You must be signed in to change notification settings - Fork 15
TESTING: Printer Support Levels
Captdriver keeps track of the level of support in its code with a series
of support levels, in printer.h
. These levels appear to be intended for
informing users and developers reviewing and sharing error logs to aid in
debugging and diagnostics. They also serve to lock out unsupported printers
that are deemed insufficiently supported for end users.
The levels specified are UNSUPPORTED
, BROKEN
, EXPERIMENTAL
,
WORKS
and FULLY
. Their meanings are yet to be explicitly
defined at time of writing; an attempt is being made here.
To simplify reporting, the support levels are tied to OpenPrinting
functionality categories.
The proposed criteria for support levels as of 0.1.4 are as follows:
-
UNSUPPORTED
: Driver recognises printer, but no meaningful output is possible at the current level of completeness without precise manipulation of the printer using debugging tools.This is the only level which Captdriver prevents printing via CUPS.
-
BROKEN
: Special level to report a significant loss of functionality for a printer that has occurred since a previous commit. It should only be used for comparing levels of support during the course of development.Once lost functionality is restored and verified, the printer should be re-assigned to an appropriate support level. This level should not be used for tagged releases.
-
EXPERIMENTAL
: Meaningful output is possible from conventional applications, but not to the level of performance and reliability that is deemed suitable for end-user daily use. This level is generally meant to be assigned to printers that pass a small majority of the Essential Tests. -
WORKING
: Accurate output, with a level of performance and reliability suitable for end-user daily use is possible, despite some missing features. This level should only be assigned to printers that pass all of the Essential Tests.Printers that fail any Essential Test may be assigned to this level by user ballot.
-
FULLY
: Short for fully working. Captdriver can be a substitute for the original drivers for the printer. All advertised features of the printer are supported, to a level of performance and reliability that matches or exceeds the original drivers.This level should only be assigned to printers that pass all components of the Essential and Device-Specific Extended Tests, or by user ballot.
The proposed mapping of Captdriver support levels to OpenPrinting categories is as follows:
Level | OpenPrinting Category |
---|---|
UNSUPPORTED |
Paperweight |
EXPERIMENTAL |
Partially |
BROKEN |
no equivalent category |
WORKING |
Mostly |
FULLY |
Mostly or Perfectly, depending on user experience |
If the original driver for a particular printer is affected by issues preventing
reliable operation, it may be necessary to exceed the capabilities of the original
driver to qualify for the WORKING
and FULLY
levels.
Testing criteria for the FULLY
level may be relaxed if a printer suffers a firmware
bug that prevents an advertised feature from working properly and updates are no longer
available. The issue is must be clearly documented and end users adequately informed.
find_ops()
. printer.c
. Captdriver source tree.
About the data. Printer Compatibility Database. OpenPrinting. https://openprinting.org/database
Content in this wiki is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Any errors, omissions or suggestions? File an issue and apply the wiki
label.
Bookmarks
Unofficial Introduction to CAPT (Executive Summary)
Rootless Write Access To USB Devices
Other Canon Printer-Related Projects
SPECS: 0xA1A1
Command and Response Format
Search for pages starting with
-
SPECS
for notes on the operation of the CAPT data formats and communications protocol -
TESTING
for guidelines on testing Captdriver -
TIPS
for potentially helpful information on studying the project or the CAPT format-protocol