activate binary logging for gl124

merge-requests/1/head
Stphane Voltz 2012-12-05 21:54:05 +01:00
rodzic c3ebf3171d
commit c3dbbf495b
2 zmienionych plików z 27 dodań i 8 usunięć

Wyświetl plik

@ -58,7 +58,7 @@
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL847/GL124 based scanners
*/
#define BUILD 2404
#define BUILD 2405
#define BACKEND_NAME genesys
#include "genesys.h"

Wyświetl plik

@ -102,7 +102,7 @@ gl124_bulk_read_data (Genesys_Device * dev, uint8_t addr,
{
SANE_Status status;
size_t size, target, read, done;
uint8_t outdata[8];
uint8_t outdata[8], *buffer;
DBG (DBG_io, "gl124_bulk_read_data: requesting %lu bytes (unused addr=0x%02x)\n", (u_long) len,addr);
@ -110,6 +110,7 @@ gl124_bulk_read_data (Genesys_Device * dev, uint8_t addr,
return SANE_STATUS_GOOD;
target = len;
buffer = data;
/* loop until computed data size is read */
while (target)
@ -191,6 +192,11 @@ gl124_bulk_read_data (Genesys_Device * dev, uint8_t addr,
data += size;
}
if (DBG_LEVEL >= DBG_data && dev->binary!=NULL)
{
fwrite(buffer, len, 1, dev->binary);
}
DBGCOMPLETED;
return SANE_STATUS_GOOD;
@ -2772,6 +2778,7 @@ gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size)
{
SANE_Status status = SANE_STATUS_GOOD;
uint32_t addr, length, strpixel ,endpixel, x, factor, segcnt, pixels, i;
uint32_t lines, channels;
uint16_t dpiset,dpihw;
uint8_t val,*buffer,*ptr,*src;
@ -2788,6 +2795,24 @@ gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size)
endpixel=segcnt;
}
DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, SEGCNT=%d\n",__FUNCTION__,strpixel,endpixel,endpixel-strpixel,segcnt);
/* compute deletion factor */
sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset);
dpihw=sanei_genesys_compute_dpihw(dev,dpiset);
factor=dpihw/dpiset;
DBG( DBG_io2, "%s: factor=%d\n",__FUNCTION__,factor);
/* binary data logging */
if(DBG_LEVEL>=DBG_data)
{
dev->binary=fopen("binary.pnm","wb");
sanei_genesys_get_triple(dev->reg, REG_LINCNT, &lines);
channels=dev->current_setup.channels;
if(dev->binary!=NULL)
{
fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels*dev->segnb,lines/channels,255);
}
}
/* turn pixel value into bytes 2x16 bits words */
strpixel*=2*2; /* 2 words of 2 bytes */
@ -2799,12 +2824,6 @@ gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size)
buffer=(uint8_t *)malloc(pixels*dev->segnb);
memset(buffer,0,pixels*dev->segnb);
/* compute deletion factor */
sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset);
dpihw=sanei_genesys_compute_dpihw(dev,dpiset);
factor=dpihw/dpiset;
DBG( DBG_io2, "%s: factor=%d\n",__FUNCTION__,factor);
/* write actual red data */
for(i=0;i<3;i++)
{