sane-abaton(5) SANE Scanner Access Now Easy sane-abaton(5)

sane-abaton - بک‌اند SANE برای اسکنرهای تخت Abaton

کتابخانهٔ sane-abaton یک بک‌اند SANE (Scanner Access Now Easy) پیاده‌سازی می‌کند که دسترسی به اسکنرهای تخت Abaton را فراهم می‌آورد. در حال حاضر، به دلیل نبود اطلاعات برنامه‌نویسی، تنها مدل Scan 300/GS (۸ بیتی، ۲۵۶ سطح خاکستری) به طور کامل پشتیبانی می‌شود. مدل Scan 300/S (سیاه و سفید) شناسایی می‌شود، اما پشتیبانی از آن آزمایش نشده است.

اگر صاحب یک اسکنر Abaton غیر از موارد ذکرشده در بالا هستید که با این بک‌اند کار می‌کند، یا اگر اسکنر Abaton دارید که با این بک‌اند کار نمی‌کند، لطفاً همراه با شماره مدل با sane-devel@alioth-lists.debian.net تماس بگیرید تا تمهیدات لازم برای افزودن پشتیبانی از آن فراهم شود. برای اطلاع از نحوهٔ عضویت در sane-devel به http://www.sane-project.org/mailing-lists.html مراجعه کنید.

شرکت Abaton تعطیل شده است و این اسکنرها توسط Everex (شرکت مادر Abaton) پشتیبانی نمی‌شوند، و همچنین هیچ اطلاعات برنامه‌نویسی برای آن‌ها یافت نمی‌شود. بنابراین این درایور بر اساس اطلاعات به‌دست‌آمده از اجرای desk accessory اسکن Abaton تحت MacsBug و ردگیری فراخوانی‌های SCSI Manager در MacOS در حین دریافت تصویر ساخته شده است.

با این حال، این پروتکل بسیار شبیه به پروتکل استفاده‌شده در اسکنرهای Apple است، هرچند با آن سازگار نیست؛ بنابراین، اگر این بک‌اند برای پشتیبانی از سایر مدل‌های Abaton (آن‌ها یک اسکنر تخت رنگی نیز تولید کردند) توسعه یابد، ممکن است بتوان برخی «بخش‌های گمشده» را از طریق مستندات (بسیار مفصل) اسکنرهای Apple تکمیل کرد.

این بک‌اند نام‌های دستگاه را به این شکل انتظار دارد:

special

که در آن special نام مسیر برای دستگاه خاص متناظر با یک اسکنر SCSI است. برای اسکنرهای SCSI، نام دستگاه خاص باید یک دستگاه SCSI عمومی یا یک پیوند نمادین به چنین دستگاهی باشد. در لینوکس، نام چنین دستگاهی قالبی مانند /dev/sga یا /dev/sg0 دارد، برای مثال. برای جزئیات به sane-scsi(5) مراجعه کنید.

محتوای فایل abaton.conf فهرستی از نام‌های دستگاه است که با اسکنرهای Abaton مطابقت دارند. خطوط خالی و خطوطی که با علامت هش (#) شروع می‌شوند نادیده گرفته می‌شوند. برای جزئیات درباره این‌که چه چیزی یک نام دستگاه معتبر را تشکیل می‌دهد به sane-scsi(5) مراجعه کنید.

/etc/sane.d/abaton.conf
فایل پیکربندی بک‌اند (توضیحات SANE_CONFIG_DIR در زیر را نیز ببینید).
/usr/lib/sane/libsane-abaton.a
کتابخانهٔ ایستا که این بک‌اند را پیاده‌سازی می‌کند.
/usr/lib/sane/libsane-abaton.so
کتابخانهٔ مشترک که این بک‌اند را پیاده‌سازی می‌کند (در سیستم‌هایی که از بارگذاری پویا پشتیبانی می‌کنند موجود است).

این متغیر محیطی فهرستی از دایرکتوری‌هایی را مشخص می‌کند که ممکن است حاوی فایل پیکربندی باشند. در سیستم‌های *NIX، دایرکتوری‌ها با دونقطه (':') و در OS/2 با نقطه‌ویرگول (';') از هم جدا می‌شوند. اگر این متغیر مقداردهی نشده باشد، فایل پیکربندی در دو دایرکتوری پیش‌فرض جستجو می‌شود: ابتدا در دایرکتوری کاری فعلی (".") و سپس در /etc/sane.d. اگر مقدار متغیر محیطی با نویسهٔ جداکنندهٔ دایرکتوری خاتمه یابد، دایرکتوری‌های پیش‌فرض پس از دایرکتوری‌های صریحاً مشخص‌شده جستجو می‌شوند. برای مثال، تنظیم SANE_CONFIG_DIR روی "/tmp/config:" منجر به جستجوی دایرکتوری‌های tmp/config، . و /etc/sane.d (به همین ترتیب) خواهد شد.
اگر کتابخانه با پشتیبانی از اشکال‌زدایی کامپایل شده باشد، این متغیر محیطی سطح اشکال‌زدایی را برای این بک‌اند کنترل می‌کند. برای نمونه، مقدار ۲۵۵ درخواست چاپ تمام خروجی‌های اشکال‌زدایی را می‌دهد. مقادیر کوچک‌تر میزان پرگویی خروجی را کاهش می‌دهند.

چند مورد شناخته‌شده وجود دارد، و قطعاً مواردی ناشناخته نیز هست.

محاسبه نادرست محدوده اسکن (Scan area miscalculations)
به منظور بهره‌وری برنامه‌نویس، این بک‌اند تمام اندازه‌گیری‌ها را به میلی‌متر انجام می‌دهد، و برای جلوگیری از آسیب احتمالی به مکانیسم اسکنر، مقادیر را گرد به پایین (floor) می‌کند (به جای گرد کردن به نزدیک‌ترین مقدار). بنابراین ممکن است اسکن کردن لبه‌های انتهایی سمت راست یا پایین صفحه امکان‌پذیر نباشد.
لغو اسکن (Cancelling the scan)
این کار ممکن است به درستی کار نکند، یا فرانت‌اند را متوقف (abort) کند. مورد اول محتمل‌تر از دومی است.

اگر متوجه موردی شدید که فکر می‌کنید یک باگ است، لطفاً سعی کنید با تنظیم متغیر محیطی SANE_DEBUG_ABATON روی ۲۵۵ آن را بازتولید کنید و گزارشی شامل جزئیات شرایط پیرامون باگ را به sane-devel@alioth-lists.debian.net ارسال کنید.

پیاده‌سازی پشتیبانی غیرمسدودکننده (Implement non-blocking support)
تکمیل مهندسی معکوس درایور MacOS (Finish reverse-engineering the MacOS driver)
این کار به من امکان می‌دهد تا با اطمینان معقول از عملکرد، پشتیبانی از سایر مدل‌ها را اضافه کنم و همچنین از اطلاعات ارائه‌شده توسط دستور INQUIRY به طور کامل بهره‌برداری کنم.

sane(7), sane-scsi(5), scanimage(1)

بک‌اند sane-abaton تا حدی توسط David Huggins-Daines و بر اساس بک‌اند sane-apple(5) اثر Milon Firikis نوشته شده است.

11 Jul 2008