Queries the scanner's button status.
Definition at line 257 of file epson.c. { unsigned char bytes[255]; int rcv_len; int num_bytes; bytes[0] = ESC; bytes[1] = '!'; bytes[2] = '\0'; if (!scanner->is_open) return -EINVAL; num_bytes = epson_write(scanner, (void*)bytes, 2); if (num_bytes != 2) { epson_flush(scanner); return 0; } num_bytes = epson_read(scanner, (void*)bytes, 4); if (num_bytes != 4) { epson_flush(scanner); return 0; } rcv_len = bytes[3] << 8 | bytes[2]; num_bytes = epson_read(scanner, (void*)bytes, rcv_len); if (num_bytes != rcv_len) { epson_flush(scanner); return 0; } return bytes[0]; }
|