1141cc406Sopenharmony_ciTo do: 2141cc406Sopenharmony_ci====== 3141cc406Sopenharmony_ci- implement coarse calibration to determine settings for analog-front-end 4141cc406Sopenharmony_ci All CCDs encountered so far seem to need about the same settings however. 5141cc406Sopenharmony_ci 6141cc406Sopenharmony_ci- Store analog calibration data somewhere. 7141cc406Sopenharmony_ci Use currently used values as default. 8141cc406Sopenharmony_ci 9141cc406Sopenharmony_ci- Suggestions by Marcin Cieslak: 10141cc406Sopenharmony_ci - clean up structures 11141cc406Sopenharmony_ci - clean up namespace 12141cc406Sopenharmony_ci - clean up source formatting ('indent --gnu' ?) 13141cc406Sopenharmony_ci 14141cc406Sopenharmony_ci 15141cc406Sopenharmony_ci- implement real calibration, using 12 bit data at 600 dpi 16141cc406Sopenharmony_ci instead of 8 bit data.at 150 dpi. 17141cc406Sopenharmony_ci -> is now at 600 dpi, not yet at 12 bit 18141cc406Sopenharmony_ci 19141cc406Sopenharmony_ci- design a mechanism to set the scan and calibration areas 20141cc406Sopenharmony_ci a) part of HWProps structure, or 21141cc406Sopenharmony_ci b) set by user at first scan 22141cc406Sopenharmony_ci 23141cc406Sopenharmony_ci- further investigate scanner registers 24141cc406Sopenharmony_ci a) study backtracking register more 25141cc406Sopenharmony_ci b) identify bits in bit-oriented registers. 26141cc406Sopenharmony_ci 27141cc406Sopenharmony_ci- add more error checking ('sanity checking') on parameters 28141cc406Sopenharmony_ci 29141cc406Sopenharmony_ci- figure out what the USB interrupts mean that sometimes occur. 30141cc406Sopenharmony_ci 31141cc406Sopenharmony_ci 32141cc406Sopenharmony_ci 33141cc406Sopenharmony_ciDone 34141cc406Sopenharmony_ci==== 35141cc406Sopenharmony_ci 36141cc406Sopenharmony_ci- Get rid of mytypes.h / fix types 37141cc406Sopenharmony_ci Now an int is implicitly assumed to be 32 bit. 38141cc406Sopenharmony_ci 39141cc406Sopenharmony_ci- make backend comply with tstbackend 40141cc406Sopenharmony_ci-> all externs and publics removed when compiling towards sane 41141cc406Sopenharmony_ci 42141cc406Sopenharmony_ci- implement sane_cancel properly 43141cc406Sopenharmony_ci-> done by ullsig 44141cc406Sopenharmony_ci 45141cc406Sopenharmony_ci- implement timing mechanism for scanner lamp 46141cc406Sopenharmony_ci so scanning can only start if the lamp was already on for 30 seconds 47141cc406Sopenharmony_ciPossible implementation: 48141cc406Sopenharmony_ciOn startup: if lamp is off, turn it on and start timer 49141cc406Sopenharmony_ciOn scan: if lamp is off, turn it on and start timer. Wait for timer expiry. 50141cc406Sopenharmony_ciOn exit: if scanner chip is niash00012 then turn off lamp, 51141cc406Sopenharmony_ci otherwise let the scanner turn it off automatically 52141cc406Sopenharmony_ci-> Implemented by Ullrich Sigwanz 53141cc406Sopenharmony_ci 54141cc406Sopenharmony_ci- try out parallel port scanning on HP3400/4300 55141cc406Sopenharmony_ci-> parallel port support will be dropped, no people to test/develop it 56141cc406Sopenharmony_ci 57141cc406Sopenharmony_ci- investigate vertical resolution setting of hp3400/4300. 58141cc406Sopenharmony_ci-> experiment with the motor table, formula is already known to generate it 59141cc406Sopenharmony_ci-> 600 dpi is possible by doubling most values in the table 60141cc406Sopenharmony_ci-> 150 dpi can be done by using register 0x06 to skip every other line 61141cc406Sopenharmony_ci 62141cc406Sopenharmony_ci- Add separate gamma tables for R, G, B. This should be easy (look at how 63141cc406Sopenharmony_ci other backends do it) but is not really required yet. 64141cc406Sopenharmony_ci-> not required 65