sane-sharp(5)

NUME
sane-sharp - controlor SANE pentru scanere SHARP

DESCRIERE
Biblioteca sane-sharp implementează un controlor SANE (Scanner Access Now Easy) care oferă acces la scanerele Sharp SCSI. Acest controlor ar trebui să fie considerat software de calitate beta! În starea actuală, se știe că funcționează cu scanerele JX-610 și JX-250. Este pregătit pentru utilizarea cu scanerele din seria JX-330, dar nu suntem în măsură să îl testăm cu aceste dispozitive.

Pentru alte scanere Sharp, este posibil să funcționeze sau nu.

În prezent, se știe că următoarele scanere funcționează cu acest controlor.

    Fabricant  Id produs:
    ---------  ----------
    Sharp      JX-610
    Sharp      JX-250
    Sharp      JX-320
    Sharp      JX-330
    Sharp      JX-350

Următoarele scanere sunt detectate de controlor, dar nu sunt testate:

    Fabricant  Id produs:
    ---------  ----------
    Sharp      JX-325

NUME DE DISPOZITIVE
Acest controlor așteaptă nume de dispozitive de forma:

    special

unde special este numele rutei pentru dispozitivul special care corespunde unui scaner SCSI. Numele dispozitivului special trebuie să fie un dispozitiv SCSI generic sau o legătură simbolică către un astfel de dispozitiv. În Linux, un astfel de nume de dispozitiv ar putea fi /dev/sga sau /dev/sge, de exemplu. Consultați sane-scsi(5) pentru detalii.

OPȚIUNI DE SCANARE

--mode
    Modul de scanare. Opțiunile posibile sunt: Lineart (scanări alb-negru pe 1 bit), Gray (scanări în scara de gri pe 8 biți), Lineart Color (scanări color pe două niveluri) și Color (scanări RGB pe 8 biți). Valoarea implicită este Color.

--halftone-pattern
    Model semiton. Disponibil numai pentru scanerele din seria JX-330. Opțiuni posibile: none, Dither Bayer, Dither Spiral, Dither Dispersed și Error Diffusion. Valoarea implicită este none.

--source
    Sursă hârtie. Această opțiune este disponibilă numai dacă este instalat un alimentator automat de documente sau un adaptor de transparență. Opțiunile posibile sunt: Flatbed, Automatic Document Feeder și Transparency Adapter. Dacă este instalat un ADF sau un adaptor de transparență, utilizarea acestuia este selecția implicită.

--custom-gamma
    Gama personalizată Această opțiune determină dacă se utilizează un tabel gamma integrat sau unul personalizat. Opțiunile posibile sunt: yes (activează tabelele gamma personalizate) sau no (activează un tabel gamma integrat).

--gamma
    Gamma. Această opțiune este disponibilă numai dacă opțiunea --custom-gamma este stabilită la no. Valorile posibile sunt: 1.0 sau 2.2. Valoarea implicită este 2.2; (JX-250 și JX-350 nu au o corecție gamma încorporată; pentru aceste scanere, un tabel gamma este descărcat în scaner de către controlor).

--gamma-table
    Tabelul Gamma. Valori permise: 0..255; trebuie definite 256 de numere. Valorile implicite sunt 0, 1, 2, ... 255 (de exemplu, gamma == 1). Acest tabel este utilizat numai pentru scanările la scara de gri.

--red-gamma-table
    Tabelul Gamma roșu. Valori permise: 0..255; trebuie definite 256 de numere. Valorile implicite sunt 0, 1, 2, ... 255 (de exemplu, gamma == 1).

--green-gamma-table
    Tabelul Gamma verde. Valori permise: 0..255; trebuie definite 256 de numere. Valorile implicite sunt 0, 1, 2, ... 255 (de exemplu, gamma == 1).

--blue-gamma-table
    Tabelul Gamma albastru. Valori permise: 0..255; trebuie definite 256 de numere. Valorile implicite sunt 0, 1, 2, ... 255 (de exemplu, gamma == 1).

--resolution
    Selectează rezoluția imaginii scanate. Valori permise: 30..600 (JX-330, JX-350 și JX-610) și 30..400 (JX-250). Valoarea implicită este 150.

-l, -t, -x, -y
    Fereastra de scanare. Poziția x stânga sus a zonei de scanare (-l), poziția y stânga sus a zonei de scanare (-t), poziția x dreapta jos a zonei de scanare (-x) și poziția y dreapta jos a zonei de scanare (-y). Valorile posibile depind de modelul scanerului și, pentru JX-250 și JX-350, și de utilizarea alimentatorului automat de documente respectiv a adaptorului pentru transparențe. Vă rugăm să consultați valorile permise de xscanimage(1), sau xsane(1). Cu scanimage(1), introduceți una dintre următoarele comenzi pentru a vedea valorile parametrilor permise pentru fereastra de scanare:
    scanimage -d sharp --source "Automatic Document Feeder" --help scanimage -d sharp --source Flatbed --help scanimage -d sharp --source "Transparency Adapter" --help

--edge emphasis
    Accentuarea marginilor. Această opțiune nu este disponibilă pentru JX-250 și JX-350. Valorile posibile: None, Middle, Strong, and Blur. Valoarea implicită este None.

--threshold
    Stabilește pragul pentru pixelii albi și negri în modul lineart. Valorile posibile sunt 1..255. Valoarea implicită este 128. Această opțiune este disponibilă numai în modul de scanare lineart.

--threshold-red
    Stabilește pragul pentru componenta roșie a unui pixel în modul de scanare color lineart. Valorile posibile sunt 1..255. Valoarea implicită este 128. Această opțiune este disponibilă numai în modul de scanare color lineart.

--threshold-green
    Stabilește pragul pentru componenta verde a unui pixel în modul de scanare color lineart. Valorile posibile sunt 1..255. Valoarea implicită este 128. Această opțiune este disponibilă numai în modul de scanare color lineart.

--threshold-blue
    Stabilește pragul pentru componenta albastră a unui pixel în modul de scanare color lineart. Valorile posibile sunt 1..255. Valoarea implicită este 128. Această opțiune este disponibilă numai în modul de scanare color lineart.

--lightcolor
    Stabilește culoarea sursei de lumină. Valorile posibile sunt white, red, green și blue. Valoarea implicită este white. Această opțiune este disponibilă numai în modurile de scanare lineart color și color.

UTILIZARE ADF
Dacă apare un blocaj de hârtie, capacul de întreținere trebuie să fie deschis și închis, chiar dacă hârtia blocată poate fi îndepărtată fără a deschide capacul de întreținere. În caz contrar, condiția de eroare nu va fi eliminată.

CONFIGURARE
Conținutul fișierului sharp.conf este o listă de opțiuni și nume de dispozitive care corespund scanerelor Sharp. Liniile goale și liniile care încep cu un simbol hash (#) sunt ignorate. Consultați sane-scsi(5) pentru detalii despre numele dispozitivelor.

Liniile care definesc o opțiune încep cu cuvântul-cheie option, urmat de numele și valoarea opțiunii. În prezent, sunt definite trei opțiuni: buffers, buffersize și readqueue.

Opțiunile definite la începutul sharp.conf se aplică tuturor dispozitivelor; opțiunile definite după numele unui dispozitiv se aplică acestui dispozitiv.

Opțiunile buffers și readqueue sunt semnificative numai dacă controlorul a fost compilat astfel încât, pentru fiecare scanare, un al doilea proces să fie bifurcat (comutatorul USE_FORK în sharp.c ). Acest proces citește datele de scanare de la scaner și scrie aceste date într-un bloc de memorie partajată. Procesul părinte citește datele din acest bloc de memorie și le livrează către interfață. Opțiunile controlează dimensiunea și utilizarea acestui bloc de memorie partajată.

option buffers definește numărul de memorii tampon utilizate. Cel mai mic număr permis este 2.

option buffersize definește dimensiunea unei memorii tampon. Deoarece fiecare tampon este umplut cu o singură comandă de citire trimisă scanerului, dimensiunea acestuia este limitată automat la dimensiunea permisă de sistemul de operare sau de biblioteca Sane SCSI pentru comenzile de citire SCSI. O dimensiune a memoriei tampon de 128 kB sau 256 kB este recomandată pentru rezoluții de scanare de 300 dpi și peste.

option readqueue definește câte comenzi de citire care urmează să fie trimise scanerului sunt puse în coadă. În prezent, biblioteca Sane SCSI acceptă comenzi de citire în coadă numai pentru Linux. Pentru alte sisteme de operare, option readqueue trebuie stabilită la 0. Pentru Linux, option readqueue trebuie stabilită la 2. Valori mai mari de 2 pentru option readqueue nu sunt rezonabile în majoritatea cazurilor. option buffers trebuie să fie mai mare decât option readqueue.

Considerații privind performanța
Această secțiune se concentrează pe problema opririi căruciorului scanerului în timpul unei scanări. Opririle căruciorului au loc în principal la JX-250. Evident, acest scaner are o memorie tampon internă mică în comparație cu viteza sa. Aceasta înseamnă că controlorul trebuie să citească datele cât mai repede posibil de la scaner pentru a evita opririle căruciorului.

Chiar și JX-250 are nevoie de mai puțin de 10 secunde pentru o scanare A4 de 400 dpi la scara de gri, ceea ce duce la o rată de transfer a datelor de peste 1,6 MB pe secundă. Aceasta înseamnă că datele produse de scaner trebuie să fie procesate destul de rapid. Datorită memoriei tampon interne mici a JX-250, controlorul trebuie să emită o cerere de citire pentru următorul bloc de date cât mai curând posibil după citirea unui bloc de date, pentru a evita opririle căruciorului.

Opririle căruciorului pot fi cauzate de următoarele motive:

    - prea mult „trafic” pe magistrala SCSI,
    - răspunsuri lente din partea controlorului către scaner,
    - un program care procesează datele obținute de controlor este prea lent.

Prea mult „trafic” pe magistrala SCSI: Acest lucru se întâmplă, de exemplu, dacă discurile dure sunt conectate la aceeași magistrală SCSI ca și scanerul, iar transferul de date de la/la aceste discuri dure necesită o parte considerabilă din lățimea de bandă SCSI în timpul unei scanări. Dacă acesta este cazul, ar trebui să luați în considerare conectarea scanerului la un adaptor SCSI separat.

Răspunsuri lente din partea controlorului către scaner: Din păcate, sistemele de operare de tip UNIX nu au, în general, capacități de timp real. Prin urmare, nu există nicio garanție că controlorul poate comunica în orice situație cu scanerul la viteza necesară. Pentru a minimiza această problemă, controlorul ar trebui compilat astfel încât să fie bifurcat un proces de citire separat: Asigurați-vă că USE_FORK este definit atunci când compilați sharp.c. Dacă răspunsurile lente ale controlorului rămân a fi o problemă, ați putea încerca să reduceți sarcina sistemului. Chiar dacă controlorul și procesul de citire au nevoie doar de o cantitate minoră de timp de procesare, alte procese care rulează pot provoca o creștere a întârzierii între două tranșe de timp date procesului de citire. Pe sistemele mai lente, o astfel de întârziere crescută poate fi suficientă pentru a provoca o oprire a căruciorului cu JX-250. Pentru Linux, se recomandă utilizarea controlorului SG versiunea 2.1.36 sau mai recentă, deoarece aceasta acceptă, în combinație cu biblioteca SCSI Sane versiunea 1.0.2, coada de comenzi în cadrul nucleului. Această implementare a cozii, combinată cu o dimensiune a memoriei tampon de cel puțin 128 kB, ar trebui să evite majoritatea opririlor la cărucior.

Procesarea lentă a datelor de scanare: Un exemplu pentru această situație este accesul la scaner prin intermediul unui Ethernet de 10 MBit, care este cu siguranță prea lent pentru a transfera datele de scanare la fel de repede cum sunt produse de scaner. Dacă dispuneți de suficientă memorie, puteți crește option buffers, astfel încât o imagine întreagă să poată fi stocată în aceste memorii tampon.

Pentru a vedea dacă controlorul este prea lent sau dacă prelucrarea ulterioară a datelor este prea lentă, stabiliți variabila de mediu SANE_DEBUG_SHARP la 1. Atunci când o scanare este terminată, controlorul scrie linia „buffer full conditions: nn” la ieșirea de eroare standard. Dacă nn este zero, opririle căruciorului sunt cauzate de răspunsurile prea lente ale controlorului sau de prea mult „trafic” pe magistrala SCSI. Dacă nn este mai mare decât zero, controlorul a trebuit să aștepte de nn ori până când o memorie tampon a fost procesată de către interfață. Vă rugăm să rețineți că option buffers trebuie să fie mai mare decât option readqueue pentru a obține rezultate utile pentru „buffer full conditions”.

FIȘIERE

/etc/sane.d/sharp.conf
    Fișierul de configurare al controlorului.

/usr/lib/sane/libsane-sharp.a
    Biblioteca statică care implementează acest controlor.

/usr/lib/sane/libsane-sharp.so
    Biblioteca partajată care implementează acest controlor (prezentă pe sistemele care acceptă încărcare dinamică).

MEDIU

SANE_DEBUG_SHARP
    Dacă biblioteca a fost compilată cu suportul de depanare activat, această variabilă de mediu controlează nivelul de depanare pentru acest controlor. De exemplu, o valoare de 128 solicită imprimarea tuturor datelor de depanare. Nivelurile mai mici reduc volumul de informații.

PROBLEME CUNOSCUTE
1. Modul ADF
    După mai multe scanări ADF, scanerul mută căruciorul înapoi în poziția de repaus și apoi înapoi în poziția de scanare ADF, înainte de a începe o scanare. Nu știm dacă aceasta este o problemă a scanerului sau dacă este o eroare a controlorului. În prezent, scanerul trebuie oprit și pornit pentru a opri acest comportament enervant.
2. Nivelul pragului nu funcționează (numai JX-610)

3. Rezoluția maximă este limitată la 600 dpi (JX-610 suportă până la 1200 dpi) resp. 400 dpi (JX-250)

4. Dacă JX-250 este utilizat cu un ADF, poate apărea următoarea situație: După mai multe scanări, scanerul mută, după încărcarea unei noi coli de hârtie, căruciorul în poziția de repaus și apoi înapoi în poziția utilizată pentru scanările ADF. Acest lucru se întâmplă pentru fiecare scanare, spre deosebire de calibrare, care se face după 10 scanări; (pentru calibrare, căruciorul este, de asemenea, mutat în poziția inactiv). Nu știm dacă acest comportament este cauzat de controlor sau dacă este o eroare în firmware-ul scanerului.

5. Utilizarea unui adaptor pentru transparențe (unitate de scanare a filmelor) este acceptată, dar nu este testată.

CONSULTAȚI ȘI
sane(7), sane-scsi(5)

AUTORI
Kazuya Fukuda, Abel Deuring

MULȚUMIRI
Controlorul Sharp este bazat pe controlorul Canon scris de Helmut Koeberle.

Părți din această pagină de manual sunt o simplă copie a sane-mustek(5) de David Mosberger-Tang, Andreas Czechanowski și Andreas Bolsch.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.