genesys: Return errors as exceptions from *test_buffer_empty()

merge-requests/101/head
Povilas Kanapickas 2019-07-14 23:40:47 +03:00
rodzic f153fb109e
commit 5c0a382bc9
9 zmienionych plików z 62 dodań i 68 usunięć

Wyświetl plik

@ -3954,13 +3954,10 @@ genesys_start_scan (Genesys_Device * dev, SANE_Bool lamp_off)
} }
} }
while (steps < expected); while (steps < expected);
// wait for buffers to be filled
/* wait for buffers to be filled */ do {
do sanei_genesys_test_buffer_empty(dev, &empty);
{ } while (empty);
RIE (sanei_genesys_test_buffer_empty (dev, &empty));
}
while (empty);
/* when doing one or two-table movement, let the motor settle to scanning speed */ /* when doing one or two-table movement, let the motor settle to scanning speed */
/* and scanning start before reading data */ /* and scanning start before reading data */

Wyświetl plik

@ -2161,10 +2161,10 @@ gl124_search_start_position (Genesys_Device * dev)
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); status = sanei_genesys_read_data_from_scanner (dev, data.data(), size);

Wyświetl plik

@ -4038,7 +4038,7 @@ simple_scan (Genesys_Device * dev, const Genesys_Sensor& sensor,
{ {
print_status (val); print_status (val);
} }
RIE (sanei_genesys_test_buffer_empty (dev, &empty)); sanei_genesys_test_buffer_empty(dev, &empty);
count++; count++;
} }
while (empty && count < 1000); while (empty && count < 1000);

Wyświetl plik

@ -3415,10 +3415,10 @@ gl841_search_start_position (Genesys_Device * dev)
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -5035,10 +5035,10 @@ gl841_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -5077,10 +5077,10 @@ gl841_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); status = sanei_genesys_read_data_from_scanner (dev, data.data(), size);

Wyświetl plik

@ -2606,10 +2606,10 @@ gl843_search_start_position (Genesys_Device * dev)
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -4077,10 +4077,10 @@ gl843_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -4120,10 +4120,10 @@ gl843_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);

Wyświetl plik

@ -1791,10 +1791,10 @@ gl846_search_start_position (Genesys_Device * dev)
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -2722,10 +2722,10 @@ gl846_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -2764,10 +2764,10 @@ gl846_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);

Wyświetl plik

@ -1847,10 +1847,10 @@ gl847_search_start_position (Genesys_Device * dev)
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -2809,10 +2809,10 @@ gl847_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);
@ -2851,10 +2851,10 @@ gl847_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor,
return status; return status;
} }
/* waits for valid data */ // waits for valid data
do do {
sanei_genesys_test_buffer_empty(dev, &steps); sanei_genesys_test_buffer_empty(dev, &steps);
while (steps); } while (steps);
/* now we're on target, we can read data */ /* now we're on target, we can read data */
status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); status = sanei_genesys_read_data_from_scanner(dev, data.data(), size);

Wyświetl plik

@ -807,8 +807,7 @@ sanei_genesys_read_scancnt (Genesys_Device * dev, unsigned int *words)
* @param *empty return value * @param *empty return value
* @return empty will be set to SANE_TRUE if there is no scanned data. * @return empty will be set to SANE_TRUE if there is no scanned data.
**/ **/
SANE_Status void sanei_genesys_test_buffer_empty(Genesys_Device* dev, SANE_Bool* empty)
sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty)
{ {
DBG_HELPER(dbg); DBG_HELPER(dbg);
uint8_t val = 0; uint8_t val = 0;
@ -824,13 +823,12 @@ sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty)
sanei_genesys_sleep_ms(1); sanei_genesys_sleep_ms(1);
DBG(DBG_io2, "%s: buffer is empty\n", __func__); DBG(DBG_io2, "%s: buffer is empty\n", __func__);
*empty = SANE_TRUE; *empty = SANE_TRUE;
return SANE_STATUS_GOOD; return;
} }
*empty = SANE_FALSE; *empty = SANE_FALSE;
DBG(DBG_io, "%s: buffer is filled\n", __func__); DBG(DBG_io, "%s: buffer is filled\n", __func__);
return SANE_STATUS_GOOD;
} }

Wyświetl plik

@ -1856,8 +1856,7 @@ extern SANE_Status
sanei_genesys_write_pnm_file (const char *filename, uint8_t * data, int depth, sanei_genesys_write_pnm_file (const char *filename, uint8_t * data, int depth,
int channels, int pixels_per_line, int lines); int channels, int pixels_per_line, int lines);
extern SANE_Status extern void sanei_genesys_test_buffer_empty(Genesys_Device* dev, SANE_Bool* empty);
sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty);
extern SANE_Status extern SANE_Status
sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data, sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data,