» »

Linux - gonilnik

Linux - gonilnik

bucket ::

Pozdravljeni!

Pred kratkim sem kupil printer Canon PIXMA iP2702 za namen predelave za tiskanje na ravne podlage. V začetku sem imel namen izdelati vezje, ki bi emuliralo vse neuporabljene funkcije tiskalnika, da bi ga lahko uporabil za moj namen ( senzor za papir, enkoder za pomik papirja, itd...).
Sedaj pa sem našel source od gonilnika za ta printer na spletni strani od Canon-a. http://software.canon-europe.com/produc...
Za začetek je namen, da bi izključil vsakokratno proceduro čiščenja tiskalniške glave ob tiskanju.
Ker v programiranju za linux nisem domač bi potreboval pomoč že pri osnovah. Kako si naj postavim okolje za programiranje, torej kako začeti?
Uporabljam Ubuntu 10.04 Lucid Lynx.

Hvala in lep pozdrav!
  • spremenil: bucket ()

napsy ::

Za začetek si lahko pogledaš tole http://www.cups.org/documentation.php/d...
"If you die, you die. But when you live you live. There is no time to waste."

bucket ::

Sem pogledal link. Sicer mislim, da mi ne koristi kaj dosti ker v soursu driverja je del te kode že vključen.
Bolj bi potreboval orodje (IDE,) ki bi mi skupek kode naredila nekoliko bolj pregleden. Če se to sploh da? Verjetno so tudi razvijalci uporabili kakšen IDE.
Za začetek sem ugotovil kako se izogniti enemu senzorju. In to tako, da printer prepričam, da ima dva pladnja. To bi verjetno šlo v definih od modela printerja. Tisti dodatni paladenj bi bil "manual tray", ki je v kodi že narejen samo vključit bi ga bilo potrebno.

napsy ::

Imaš precej opcij. Lahko si namestiš in uporabljaš enega izmed mnogo IDE-jev: kdevelop, anjuta, eclipse (c/c++ dodatek), netbeans z c/c++ podporo.
Lahko pa uporabiš kakšen napreden tekstovni urejevalnik kot sta vim ali emacs. Glavni del razvoja je še nato prevajalnik gcc.
"If you die, you die. But when you live you live. There is no time to waste."

bucket ::

IDE sem namestil kar netbeans (sem že delal z njim pod Windowsi).
Glede gonilnikov, user interface je narejen z Glade-om. Lahko odpiram in urejam.
Želel pa sem narediti čisto odnovno operacijo nad sourcem gonilnikov - make. In seveda ne deluje. Javi error "No targed specified". Ker je makefile že preveč za moje znanje o Linux-u bi potreboval pomoč. Prosim, če bi kdo hotel downloadati gonilnike na zgornjem linku (na speltni strani pod številko 2), noter je source in bi pogledal kaj se da storiti.

Lp

MrBrdo ::

madzi: v scripts direktoriju imaš en install.sh fajl, lahko probaš to pognat.. drgač pa gre pomojem za kernel modul (.so) tako da si malo poglej kako se na splošno buildajo, verjetno bo podoben postopek tudi tukaj...

http://www.cyberciti.biz/tips/build-lin...
http://www.cyberciti.biz/tips/compiling...
https://help.ubuntu.com/community/Kerne...

Na pamet ti kaj več ne znam pomagat saj tudi jaz nisem nek ekspert v tem.
MrBrdo

Brane2 ::

bucket je izjavil:

IDE sem namestil kar netbeans (sem že delal z njim pod Windowsi).
Glede gonilnikov, user interface je narejen z Glade-om. Lahko odpiram in urejam.
Želel pa sem narediti čisto odnovno operacijo nad sourcem gonilnikov - make. In seveda ne deluje. Javi error "No targed specified". Ker je makefile že preveč za moje znanje o Linux-u bi potreboval pomoč. Prosim, če bi kdo hotel downloadati gonilnike na zgornjem linku (na speltni strani pod številko 2), noter je source in bi pogledal kaj se da storiti.

Lp



Kar se IDEja tiče, poskusi Code::Blocks ( www.codeblocks.org ).

Kar se make-a tiče, težko reč brez dodatnih podatkov. Ponavadi imaš vsaj kak RADME ali INSTALL file z osnovnimi navodili.
Mogoče pa stvar pričakuje, da jo najprej konfiguriraš s configure ?
On the journey of life, I chose the psycho path.

Brane2 ::

Sem zdaj potegnil stvar dol in jo poskusil scompilati.

Na prvi uč kaže, da je glavni problem polno napak.

V mnogo direktorijih sploh ni makefilea in je očitno tam treba pognati autogen.sh

Ko pa to storiš, se stvar zaglupi z napakami.

jaz sem pognal vse autogen.sh v root mapi z:

find . -name autogen.sh -depth -exec {} \;


nato sem pognal make, fendar se je stvar dokaj hito ustavila z napakami tipa:
./backendnet/lmonitor/cnijnetchk.c
.././backendnet/lmonitor/cnijnetchk.c:47:21: error: cncldef.h: No such file or directory
.././backendnet/lmonitor/cnijnetchk.c:48:18: error: cncl.h: No such file or directory
.././backendnet/lmonitor/cnijnetchk.c:49:26: error: cnclcmdutils.h: No such file or directory
.././backendnet/lmonitor/cnijnetchk.c:51:22: error: libcnnet.h: No such file or directory
In file included from .././backendnet/lmonitor/cnijnetchk.c:52:
.././backendnet/lmonitor/cnijnetprn.h:69: error: expected ')' before 'h'
In file included from .././backendnet/lmonitor/cnijnetchk.c:53:
.././backendnet/lmonitor/cnijnetchk.h:57: error: expected ')' before 'hnd'
.././backendnet/lmonitor/cnijnetchk.h:58: error: expected ')' before 'hnd'
.././backendnet/lmonitor/cnijnetchk.h:60: error: expected ')' before 'h'
.././backendnet/lmonitor/cnijnetchk.h:61: error: expected ')' before 'h'
.././backendnet/lmonitor/cnijnetchk.h:62: error: expected ')' before 'h'


Bi se bilo treba malo poigrat s tem, pa nisem imel časa.

BTW: Ni dvakrat za reč, da je koda, ki te moti, v samem tiskalniku in ne v driverju.
On the journey of life, I chose the psycho path.

bucket ::

Spet sem se ukvarjal z tem in izgubljal živce. Načeloma sem pobrisal mapo backendnet, ki je takoalitako ne rabim (podpora za printerje, ki delujejo preko mreže). Ker je ta paket gonilnikov narejen za še tri druge printerje sem tudi njihov del pobrisal. (lahko uploadam kam, če koga zanima)
Sedaj make gre skozi in me zanima kako dalje? Kako gonilnike namestim v sistem?

Gelde firmwera v tiskalniku pa niti ni tako moteče. Glava se nekajkrat zapelje levo in desno z vklopom motorja za pomik. Sem dokaj dobro analiziral kaj dela firmware in kaj dela gonilnik.

Brane2 ::

Gonilniki gredo verjetno v CUPS. Poglej, kje je tam kaj in skopiraj ustrezne datoteke.

Po moje gredo executabli v mapo /usr/libexec/cups/filter

Če ni skrivnost, kaj pa počneš ?

A je ratalo ?
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

Brane2 ::

BTW: Če to rabiš za risanje tiskanih vezij, pričakuj probleme še drugje...
On the journey of life, I chose the psycho path.

bucket ::

Ja, namenjeno je za risanje tiskanin pa tudi na splošno za tiskanje na ravne podlage.
Glede tiskanin za nekatere težave že vem. Delam to bolj raziskovalno kot iskanje alternative fotopostopku in toner transferju.

Nad driverji sem pa obupal. Takoalitako moram naredit logiko za kontrolo motorja za pomik po y osi in mi teh dveh senzorjev ne bo težko emuliraz z vezjem.

Ko in če bo kaj nastalo pripnem kakšno sliko.

Brane2 ::

Po moje bo lažje, če si pogledaš signale na glavi in narediš svojo elektroniko ter namenu ustrezno predelaš mehaniko.

Koneckoncev, ne razumem zakaj bi sploh predeloval karkoli razen mehanike. Vse ostalo bi moralo delati tako, kot je.

Je pa en drug problem. Te glave ne sprejmejo drugih črnil, ta pa ne "primejo" na tiskanino.

Če boš pa zlil karkoli drugega not, bodisi ne bo teklo skozi glavo, bodisi jo bo uničilo.

Canon uporablja termične glave, torej mora črnilo delati ravno prave mehurčke in ne sme biti trdnih preostankov.
Zato bi bila mogoče boljša izbira Epson, ki ima piezo glave, ampak te so toliko bolj občutljive...

Kar se driverja za CUPS tiče, je to precej glupa zadeva. Vse, kar mora vedet, je kako vklopit posamezen grafični način in kako se posamezni biti preslikajo v pike. Drugi del driverja je univerzalen in ta zna zrenderirat postscript v bitmap ( preko ghostscripta ) in to je vse ( O.K., še nekaj malenkosti za kontrolo barv, velikosti pike, resolucije itd), ni pa tam low-level stuffa.

Ta je ponavadi v FW tiskalnika.

bucket je izjavil:


Nad driverji sem pa obupal. Takoalitako moram naredit logiko za kontrolo motorja za pomik po y osi in mi teh dveh senzorjev ne bo težko emuliraz z vezjem.


Tega ne štekam. Saj papir se itak že pomika po y osi. Rabiš le spremeniti mehaniko, da potegne tiskanino namesto papirja.

IMHO lahko za to predelaš kak tiskalnik, ki zna printat na CD ploščke, le tray spremeniš.

Pa seveda glavna zmaga bo najti formulo za črnilo.
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

Brane2 ::

Pri tisku na baker sta v osnovi dva problema:

- črnilo se ne prime na baker
- črnilo se ne vpije v podlago ( za kar je predvideno)

Mogoče bi se ju dalo rešiti ali vsaj omiliti s tem, da:

- baker pred printanjem rahlo najedkaš, magari v kislini brez peroksida, čisto toliko, da dobi tisto rdečkasto barvo in da površina postane rahlo hrapava.
- v tray postaviš grelec, ki ploščico pred printanjem segreje na recimo 100°C in tako vodna osnova zelo hitro odhlapi, preostanek pa postane smolast in se zapeče.
On the journey of life, I chose the psycho path.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Pomoč C++

Oddelek: Pomoč in nasveti
71367 (1086) samo111
»

[Ubuntu] CUPS in gonilniki za Canon tiskalnik

Oddelek: Programska oprema
102048 (1938) Icematxyz
»

[C] MySQL

Oddelek: Programiranje
292822 (1844) Tutankhamun
»

compiling mplayer z mp3lame support

Oddelek: Programska oprema
91113 (1033) kriko1
»

Linux modem problem

Oddelek: Operacijski sistemi
361435 (1142) kloshar

Več podobnih tem