sane-apple(5)

NUME
sane-apple - controlor SANE pentru scanere plate Apple

DESCRIERE
Biblioteca sane-apple implementează un controlor SANE (Scanner Access Now Easy) care oferă acces la scanerele plate Apple. În prezent, următoarele scanere sunt acceptate de acest controlor:

--------------- ----- ------------------ ---------
AppleScanner    4bit  16  Tonuri de gri
OneScanner      8bit  256 Tonuri de gri
ColorOneScanner 24bit RGB color          3 treceri

Dacă dețineți un scaner Apple, altul decât cele enumerate mai sus, care funcționează cu acest controlor, vă rugăm să ne anunțați trimițând numele modelului scanerului, ID-ul SCSI și revizuirea firmware-ului la sane-devel@alioth-lists.debian.net. Consultați http://www.sane-project.org/mailing-lists.html pentru detalii despre cum să vă abonați la sane-devel.

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. În cazul scanerelor 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 poate fi /dev/sga sau /dev/sge, de exemplu. Pentru detalii, consultați sane-scsi(5).

CONFIGURARE
Fișierul apple.conf este o listă de opțiuni și nume de dispozitive care corespund scanerelor Apple. Liniile goale și liniile care încep cu un simbol hash (#) sunt ignorate. Consultați sane-scsi(5) pentru detalii despre ce constituie un nume de dispozitiv valid.

Opțiunile sunt de două feluri: globale și poziționale. Opțiunile globale se aplică tuturor dispozitivelor gestionate de controlor, în timp ce opțiunile poziționale se aplică doar celui mai recent dispozitiv menționat. Rețineți că acest lucru înseamnă că ordinea în care apar opțiunile contează!

SFATURI PENTRU ADAPTORUL SCSI
Scanerele SCSI sunt de obicei livrate cu un adaptor ISA SCSI. Din nefericire, acest adaptor nu valorează prea mult, deoarece nu este comandat de întreruperi. Uneori este posibil ca placa furnizată să funcționeze, dar fără o linie de întrerupere, scanarea va încărca atât de mult sistemul încât acesta devine aproape inutilizabil pentru alte sarcini.

FIȘIERE

/etc/sane.d/apple.conf
    Fișierul de configurare al controlorului (a se vedea, de asemenea, descrierea SANE_CONFIG_DIR de mai jos).

/usr/lib/x86_64-linux-gnu/sane/libsane-apple.a
    Biblioteca statică care implementează acest controlor.

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

MEDIU

SANE_CONFIG_DIR
    Această variabilă de mediu este o listă de directoare în care SANE caută fișierul de configurare. Pe sistemele *NIX, numele directoarelor sunt separate prin două puncte („:”), iar sub OS/2 prin punct și virgulă („;”). Dacă variabila SANE_CONFIG_DIR nu este definită, SANE caută implicit în directorul curent de lucru („.”) și apoi în /etc/sane.d. Dacă valoarea variabilei $SANE_CONFIG_DIR se termină cu caracterul separator, directoarele implicite sunt căutate după lista de directoare. De exemplu, dacă se definește SANE_CONFIG_DIR la „/tmp/config:”, vor fi căutate directoarele tmp/config, . și /etc/sane.d (în această ordine).

SANE_DEBUG_APPLE
    Controlează nivelul de depanare. O valoare de 255 afișează toate informațiile de depanare. Valorile mai mici reduc nivelul de detaliere. Necesită o bibliotecă compilată cu suport pentru depanare.

STAREA ACTUALĂ
Controlorul apple este acum la versiunea 0.3 (marți, 21 iulie 1998). Deoarece am doar AppleScanner și nu și celelalte modele (OneScanner, ColorOneScanner), nu pot dezvolta/testa decât pentru AppleScanner. Cu toate acestea, cu această versiune aproape am finalizat partea GUI a tuturor scanerelor. Cea mai mare parte a funcționalității este acolo. Cel puțin OneScanner ar trebui să scaneze la modurile compatibile ale AppleScanner (LineArt, HalfTone, Gray16). Credința mea personală este că, cu o ușoară atingere de depanare, OneScanner ar putea fi de fapt utilizabil. ColorOneScanner necesită mai multă muncă. AppleScanner este, desigur, aproape complet acceptat.

FUNCȚIONALITATE LIPSĂ
În prezent, toate cele trei modele nu au suport pentru încărcare/descărcare.

AppleScanner
    Nu poate încărca/descărca un model de semiton.

OneScanner
    Nu poate încărca/descărca modele de semitonuri sau vectori de calibrare.

ColorOneScanner
    Nu poate încărca/descărca modele de semitonuri, vectori de calibrare, tabele personalizate de corecție a culorilor (CCT) și, de asemenea, tabele gamma personalizate.

Park/UnPark (OneScanner, ColorOneScanner)
    Unele capacități lipsesc.

Funcționalitățile de mai sus lipsesc pentru că nu am hardware pe care să experimentez. Un alt motiv este lipsa mea de înțelegere cu privire la modul în care sau dacă API SANE oferă mijloace pentru a descrie orice tip de matrice în afară de gamma.

CARACTERISTICI NEACCEPTATE
Următoarele „caracteristici” nu vor fi acceptate niciodată, cel puțin atât timp cât voi menține controrul sane-apple.

NoHome (AppleScanner)
    Lampa scanerului rămâne aprinsă și ansamblul căruciorului rămâne în poziția în care se oprește la sfârșitul scanării. După două minute, dacă scanerul nu primește o altă comandă SCAN, lampa se stinge și căruciorul revine la poziția inițială.

Comprimare (AppleScanner)
    Scanerul poate comprima datele cu algoritmul CCITT Group III unidimensional (fax) și algoritmul Skip White Line.

Ferestre multiple (AppleScanner)
    AppleScanner poate gestiona mai multe ferestre. Ar fi o caracteristică interesantă și o provocare pentru mine să programez dacă ar putea amesteca diferite opțiuni pentru diferite ferestre (zone de scanare). În acest fel, ar putea scana un document în modul LineArt, dar figurile din acesta în modul Gray și la o rezoluție diferită. Din păcate, acest lucru este imposibil.

Direcția de scanare (OneScanner)
    Aceasta controlează direcția de scanare. (?)

Butonul de stare/repornire (OneScanner)
    Această opțiune controlează starea butonului pe modelul OneScanner. De asemenea, puteți reinițializa starea butonului prin software.

ERORI
Erorile controlorului SANE sunt împărțite în două clase. Avem erori GUI (erori în interfața grafică cu utilizatorul) și erori specifice scanerului.

Știm că avem o eroare GUI atunci când un parametru nu apare atunci când ar trebui (activ) sau viceversa. A afla care parametri sunt activi în diferite moduri și modele Apple din documentație este un exercițiu interesant. Este posibil să fi ratat unele dependențe. De exemplu, în ceea ce privește parametrul prag, Ghidul de programare al scanerelor Apple nu spune nimic. Am fost nevoit să presupun că este valabil numai în modul LineArt.

Erorile specifice scanerului se datorează în principal rotunjirilor obligatorii pentru scanare. În documentație, într-un loc se precizează că lățimea zonei de scanare trebuie să fie un multiplu de octeți. În alt loc, se precizează că lățimea zonei de scanare trebuie să fie un multiplu par de octeți. Ca să vezi...

Alte surse de erori se datorează comunicării scsi, conectărilor și deconectărilor scsi. Cu toate acestea, erorile clasice sunt încă acolo. Astfel, este posibil să întâlniți depășiri ale memoriei tampon, indicatori nuli, corupție de memorie și încălcări ale API SANE.

SIGSEGV la SliceBars
    Când încercați să modificați zona de scanare din bara de modificare, aveți o descărcare bruscă a conținutului memoriei, „drăguță”. Nu știu de ce. Dacă selectați zona de scanare din fereastra de previzualizare sau prin tastarea manuală a numerelor, totul este în regulă. SIGSEGV se întâmplă adânc în biblioteca gtk (gdk). Chiar nu o pot depana.

Opțiuni prea multe
    Este posibil, în special pentru „ColorOneScanner”, ca panoul de opțiuni al controlorului să se extindă dincolo de ecranul dvs. Se întâmplă cu al meu, iar eu folosesc X Server la 1024x768. Ce pot să vă spun? Încercați fonturi mai mici în serverul X sau ecrane virtuale.

Comportament ciudat al SCSI
    Îl citez aici pe David Myers...

    >> OS: FreeBSD 2.2.6
    >> CC: egcs-1.02
    Am vrut doar să urmăresc acest lucru... Mi-am schimbat recent placa SCSI de la Adaptec 2940UW la un chipset Symbios 786 dual-channel. Când am pornit SANE cu controlorul dvs., am reușit să scanez bine desenele line art, dar scanările Gray16 au dus la un flux de mesaje de eroare SCSI pe consolă, în cele din urmă încheind cu un mesaj care spunea că scanerul nu elibera magistrala SCSI. Este posibil ca Symbios să fie pur și simplu mai puțin tolerant cu hardware-ul vechi, sau să fie erori în controlorul dvs. sau în SANE în sine...

DEPANARE
Dacă întâlniți o eroare GUI, vă rog să definiți variabila de mediu SANE_DEBUG_APPLE la 255 și să re-executați secvența exactă de taste și selecții de meniu pentru a o reproduce. Apoi trimiteți-mi un raport cu jurnalul atașat.

Dacă aveți un Apple Macintosh cu controlorul AppleScanners instalat, mi-ar fi de mare ajutor să-mi raportați ce opțiuni sunt gri (inactive) în ce moduri.

Dacă doriți să oferiți ajutor, dar nu aveți un scaner, sau nu aveți modelul cu care ați dori să ajutați, sau sunteți un dezvoltator SANE și doriți doar să aruncați o privire la modul în care arată controlorul Apple, mergeți la apple.h și #defineți macroul NEUTRALIZE_BACKEND. Puteți selecta modelul de scaner prin macroul APPLE_MODEL_SELECT. Opțiunile disponibile sunt APPLESCANNER, ONESCANNER și COLORONESCANNER.

Dacă întâlniți o eroare de bus SCSI sau imagini tăiate și/sau deplasate, vă rog să definiți variabila de mediu SANE_DEBUG_SANEI_SCSI la 255 înainte de a-mi trimite raportul.

DE FĂCUT

Suport fără blocare
    Să fac din sane-apple un controlor care nu se blochează. Suport adecvat pentru sane_set_io_mode() și sane_get_select_fd().

Scanare
    Să fac scanarea posibilă pentru toate modelele în toate modurile acceptate.

Adăugarea altor funcționalități lipsă.

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

AUTOR
Controlorul sane-apple nu a fost scris în întregime de la zero de către Milon Firikis. Acesta se bazează în principal pe controlorul sane-mustek(5) de la David Mosberger și Andreas Czechanowski.

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.