kopia lustrzana https://gitlab.com/sane-project/backends
Fixed bug in parport setup routine.
rodzic
84c0a8797c
commit
4758f4dabc
|
@ -77,38 +77,39 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* port modes
|
* port modes
|
||||||
* (WARNING: never change these defines, as they´re used as entries
|
* (WARNING: never change these defines, as they are used as entries
|
||||||
* to jump tables !!!)
|
* to jump tables !!!)
|
||||||
*/
|
*/
|
||||||
#define _PORT_EPP 0
|
#define _PORT_EPP 0
|
||||||
#define _PORT_SPP 1
|
#define _PORT_SPP 1
|
||||||
#define _PORT_BIDI 2
|
#define _PORT_BIDI 2
|
||||||
#define _PORT_ECP 3
|
#define _PORT_ECP 3
|
||||||
#define _PORT_ESP 4
|
#define _PORT_ESP 4
|
||||||
|
#define _PORT_NONE 5
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ScannerSize
|
* ScannerSize
|
||||||
*/
|
*/
|
||||||
#define _SCANSIZE_A4 0
|
#define _SCANSIZE_A4 0
|
||||||
#define _SCANSIZE_LETTER 1
|
#define _SCANSIZE_LETTER 1
|
||||||
#define _SCANSIZE_LEGAL 2
|
#define _SCANSIZE_LEGAL 2
|
||||||
#define _SCANSIZE_A3 3
|
#define _SCANSIZE_A3 3
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Magic IDs switch printer port to scanner mode
|
* Magic IDs switch printer port to scanner mode
|
||||||
*/
|
*/
|
||||||
#define _ID1ST 0x69
|
#define _ID1ST 0x69
|
||||||
#define _ID2ND 0x96
|
#define _ID2ND 0x96
|
||||||
#define _ID3RD 0xa5
|
#define _ID3RD 0xa5
|
||||||
#define _ID4TH 0x5a
|
#define _ID4TH 0x5a
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Special IDs used to reset scanner (ASIC98003)
|
* Special IDs used to reset scanner (ASIC98003)
|
||||||
*/
|
*/
|
||||||
#define _RESET1ST 0x69
|
#define _RESET1ST 0x69
|
||||||
#define _RESET2ND 0x96
|
#define _RESET2ND 0x96
|
||||||
#define _RESET3RD 0xaa
|
#define _RESET3RD 0xaa
|
||||||
#define _RESET4TH 0x55
|
#define _RESET4TH 0x55
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ID switch to printer mode
|
* ID switch to printer mode
|
||||||
|
|
|
@ -494,31 +494,35 @@ _LOC int MiscInitPorts( pScanData ps, int port )
|
||||||
ps->IO.pbEppDataPort = (UShort)port+4;
|
ps->IO.pbEppDataPort = (UShort)port+4;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
int mode;
|
int mode, mts;
|
||||||
|
|
||||||
if( NULL == ps )
|
if( NULL == ps )
|
||||||
return _E_NULLPTR;
|
return _E_NULLPTR;
|
||||||
|
|
||||||
if( SANE_STATUS_GOOD != sanei_pp_getmodes( ps->pardev, &mode )) {
|
if( SANE_STATUS_GOOD != sanei_pp_getmodes( ps->pardev, &mode )) {
|
||||||
DBG(DBG_HIGH, "Cannot get port mode!\n" );
|
DBG( DBG_HIGH, "Cannot get port mode!\n" );
|
||||||
return _E_NO_PORT;
|
return _E_NO_PORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ps->IO.portMode = _PORT_NONE;
|
||||||
|
mts = -1;
|
||||||
if( mode & SANEI_PP_MODE_SPP ) {
|
if( mode & SANEI_PP_MODE_SPP ) {
|
||||||
DBG( DBG_LOW, "Setting SPP-mode\n" );
|
DBG( DBG_LOW, "Setting SPP-mode\n" );
|
||||||
ps->IO.portMode = _PORT_SPP;
|
ps->IO.portMode = _PORT_SPP;
|
||||||
|
mts = SANEI_PP_MODE_SPP;
|
||||||
}
|
}
|
||||||
if( mode & SANEI_PP_MODE_BIDI ) {
|
if( mode & SANEI_PP_MODE_BIDI ) {
|
||||||
DBG( DBG_LOW, "Setting PS/2-mode\n" );
|
DBG( DBG_LOW, "Setting PS/2-mode\n" );
|
||||||
ps->IO.portMode = _PORT_BIDI;
|
ps->IO.portMode = _PORT_BIDI;
|
||||||
|
mts = SANEI_PP_MODE_BIDI;
|
||||||
}
|
}
|
||||||
if( mode & SANEI_PP_MODE_EPP ) {
|
if( mode & SANEI_PP_MODE_EPP ) {
|
||||||
DBG( DBG_LOW, "Setting EPP-mode\n" );
|
DBG( DBG_LOW, "Setting EPP-mode\n" );
|
||||||
ps->IO.portMode = _PORT_EPP;
|
ps->IO.portMode = _PORT_EPP;
|
||||||
|
mts = SANEI_PP_MODE_EPP;
|
||||||
}
|
}
|
||||||
if( mode & SANEI_PP_MODE_ECP ) {
|
if( mode & SANEI_PP_MODE_ECP ) {
|
||||||
DBG( DBG_HIGH, "ECP detected --> not supported\n" );
|
DBG( DBG_HIGH, "ECP detected --> not supported\n" );
|
||||||
return _E_NOSUPP;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( sanei_pp_uses_directio()) {
|
if( sanei_pp_uses_directio()) {
|
||||||
|
@ -527,6 +531,12 @@ _LOC int MiscInitPorts( pScanData ps, int port )
|
||||||
DBG( DBG_LOW, "We're using libIEEE1284 I/O\n" );
|
DBG( DBG_LOW, "We're using libIEEE1284 I/O\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( ps->IO.portMode == _PORT_NONE ) {
|
||||||
|
DBG( DBG_HIGH, "None of the portmodes is supported.\n" );
|
||||||
|
return _E_NOSUPP;
|
||||||
|
}
|
||||||
|
|
||||||
|
sanei_pp_setmode( ps->pardev, mts );
|
||||||
_VAR_NOT_USED( port );
|
_VAR_NOT_USED( port );
|
||||||
#endif
|
#endif
|
||||||
return _OK;
|
return _OK;
|
||||||
|
|
Ładowanie…
Reference in New Issue