Commit graph

265 commits

Author SHA1 Message Date
Solomon Peachy 66c0f2831a s2145: Enable the query_serno() call. 2013-07-24 20:54:48 -04:00
Solomon Peachy 051cf386b5 common: Claim the device before calling the backend's query_serno() call. 2013-07-24 20:54:14 -04:00
Solomon Peachy cc8936094a s2145: Initial implementation of the serno query..
It's not enabled yet; the API still needs work.
2013-07-24 13:49:43 -04:00
Solomon Peachy b7851a3df1 common: Add support for a backend-specific serno call.
(Nothing uses it just yet)
2013-07-24 13:49:06 -04:00
Solomon Peachy d01cb80428 common: libusbx is not the same as libusb.
The libusb_get_port_number() call was added in libusbx 1.0.12.
libusbx 1.0.13 added a macro to detect what version of libusb was in use.
So key off that macro's presence; otherwise we don't know at build time.
2013-07-20 19:10:15 -04:00
Solomon Peachy db0650da55 common: Fix EXTRA_PID/VID/TYPE not matching.. 2013-07-19 22:21:15 -04:00
Solomon Peachy b75ce41670 kodak805: Use a gutenprint-generated testprint. 2013-07-19 19:59:46 -04:00
Solomon Peachy e2a1a057fa common: Fix printer matching for all backends other than SELPHY. 2013-07-19 19:53:08 -04:00
Solomon Peachy d9df258aae selphy: Fix printjob reading. Now successfully prints. 2013-07-19 18:48:31 -04:00
Solomon Peachy 4b9e689548 backend: Fix crash bug. 2013-07-19 11:12:14 -04:00
Solomon Peachy 9f19970ba7 selphy: Utilize the early_parse() backend hook
This way wae can detect printer type, and figure out what device type
we need to attach to.

Also, get rid of the read_data() function in favor of simple read().
2013-07-19 10:15:27 -04:00
Solomon Peachy b5b41405dc Documentation update. 2013-07-19 10:14:55 -04:00
Solomon Peachy a7a75cb7c9 common: add an 'early_parse' backend hook
Also fix 'query_only' usage to properly bypass the open/read.
2013-07-19 10:13:35 -04:00
Solomon Peachy 4598c5cd6b misc: clean up use of exit() in the backends. 2013-07-19 09:53:05 -04:00
Solomon Peachy 660cd2f3b0 all: split apart backend init into separate init/attach calls.
Also fixed every backend, 'dev' wasn't being set properly.
2013-07-19 09:23:53 -04:00
Solomon Peachy 6da476edab selphy: Internal rejiggering in preparation for fixing the job parsing 2013-07-19 07:52:21 -04:00
Solomon Peachy d4de8ceb2d selphy: Don't duplicate information kept in our printer struct. 2013-07-19 07:44:34 -04:00
Solomon Peachy 3e306886bd common: Tweak to internal API for future use. 2013-07-19 07:44:20 -04:00
Solomon Peachy 67b09c95be common: Fix enumeration and output formatting.
Canon SELPHY backend is definitely broken; we don't try to parse the
file until after we've probed for the device.  Doesn't affect CUPS
operation.
2013-07-18 23:54:43 -04:00
Solomon Peachy 2730a145d4 all: Move USB device IDs into respective backends.
This is also untested.
2013-07-18 23:39:36 -04:00
Solomon Peachy 587dd52247 common: Fix enumeration which was fixed looking for a SONY type. 2013-07-18 23:22:24 -04:00
Solomon Peachy 53fbf791a0 misc: Add '-g' to build for debugging ease. 2013-07-18 23:13:02 -04:00
Solomon Peachy 32da54ee36 common: Fix a segfault when backend provides no cmdline handler. 2013-07-18 23:12:40 -04:00
Solomon Peachy 93de75e813 selphy: Fix paper init. 2013-07-18 23:12:25 -04:00
Solomon Peachy 1e0f679eb4 selphy: Final backend migrated to new unified model.
None of this has been tested!
2013-07-18 23:00:58 -04:00
Solomon Peachy 060b6763fb s2145: Migrate to new unified backend.
UNTESTED.
2013-07-18 22:10:56 -04:00
Solomon Peachy bf1f12476b README updates 2013-07-18 21:23:34 -04:00
Solomon Peachy d20f1e2049 kodak1400: Merge into new multi-call paradigm. 2013-07-18 21:05:33 -04:00
Solomon Peachy c3b9e14aea kodak6800: Finish merging into new multi-call paradigm. 2013-07-18 20:32:44 -04:00
Solomon Peachy b038aa71c1 kodak6800: 75% of new backend migration completed. Main loop is all that's left. 2013-07-18 18:03:40 -04:00
Solomon Peachy a3d60820b9 makefile: Strip out the old stuff, only build new stuff now.
Next up, porting other backends to new framework!
2013-07-18 12:51:05 -04:00
Solomon Peachy 40604d6664 common: Finish multi-exec handling, including auto backend detection based on environment and/or argv[0]
Now ready to try porting another backend into this framework.
2013-07-18 12:45:35 -04:00
Solomon Peachy 0ca04120a8 common: Placeholder for backend detection 2013-07-18 08:51:02 -04:00
Solomon Peachy be8c5c494f unification: Rearrange internals quite a lot.
Only Sony UP-DR150 driver is converted.

Still to-do in common code:
	* Backend selection based on URI (ie CUPS mode)
	* Backend selection based on BACKEND or argv[0] (ie standalone mode)
2013-07-18 08:46:44 -04:00
Solomon Peachy 7f4123d5eb documentation updates to reflect global EXTRA_VID/PID/TYPE 2013-07-18 00:09:59 -04:00
Solomon Peachy fc66186e4c common: Don't re-attach after scanning device IDs. 2013-07-17 23:40:48 -04:00
Solomon Peachy be94ac3fff all: Unify find_and_enumerate function.
Also means pushing device IDs etc into a table.

This is all *UNTESTED*
2013-07-17 23:39:31 -04:00
Solomon Peachy 937c687274 all: Simplify print_scan_output() a bit, eliminate the obsolete 'valid' argument. 2013-07-17 22:43:49 -04:00
Solomon Peachy 49f413543d kodak1400: Kodak 805 is validated as working. Mark it as supported. 2013-07-17 19:57:20 -04:00
Solomon Peachy 1b460b4072 all: Support DEVICE=serno when in standalone mode. 2013-07-17 19:47:47 -04:00
Solomon Peachy c91459603a s2145: bump version. 2013-07-16 23:36:42 -04:00
Solomon Peachy c05671a1c6 s2145: Tweak status messages a bit. 2013-07-16 23:35:34 -04:00
Solomon Peachy 67f2e817df s2145: Added decoding of command ids to text strings.
Also, added a sleep after the data dump, to avoid USB comms problems.
2013-07-16 23:33:09 -04:00
Solomon Peachy c3173703c6 all: Tweak state transtition/sleeping a bit.
Now we only sleep if the readback and teh state haven't changed.
2013-07-16 23:19:04 -04:00
Solomon Peachy 2f294c6518 s2145: Major internal reworking
* Factor out command-response sequence into a separate function
 * Stop using lookup tables for text fields in favor of switch statements
 * Add full status/error field decoding (not counting "printer error" fields
 * Fix order of bankX status fields
 * Simplify state machine, fixing major bugs in the process
 * Improved status and error logging considerably
 * Other bugfixes

There's still finiky USB handshaking going on at times; the printer just
times out on responses.  Haven't figured out why still.
2013-07-16 23:00:50 -04:00
Solomon Peachy f70d028ac2 common: When no serial number is known, use the bus/portnum 2013-07-16 21:08:33 -04:00
Solomon Peachy c602ad75c0 s2145: Fix formatting. 2013-07-16 18:38:38 -04:00
Solomon Peachy 48a2df1196 all: Don't re-attach the kernel driver when we're done.
It actually breaks the Shinko s2145, and given that none of these
printers comply with the USBLP class anyway, it's no real loss.
2013-07-16 18:34:48 -04:00
Solomon Peachy 91d68621d5 s2145: Use a common read buffer, and rearrange status counters. 2013-07-16 18:13:10 -04:00
Solomon Peachy 66c5a913fd all: Gutenprint's automake can't handle '-' in variable names. sigh. 2013-07-14 20:18:04 -04:00