Portál AbcLinuxu, 1. května 2025 11:31
Podpora: | kompletní |
Ovladač: | v jádře |
Vysel jsem z techto stranek (jen jsem upravil kabel): http://www.simandl.cz/stranky/elektro/colorgraf/colorgraf.htm
Snad kompatibilni s plotrem ROLAND DXY-1200/1300
Prehled prikazu HP-GL (Colorgraf nemusi byt plne kompatibilni):
http://lprng.sourceforge.net/DISTRIB/RESOURCES/HPGL_short_summary.html
http://en.wikipedia.org/wiki/HPGL
Colorgraf DIN 5pin --- PC CANNON 9pin 1 TxD -----------------> 2 RxD 2 GND ------------------ 5 GND 3 RxD <----------------- 3 TxD 4 DTR -------------+---> 8 CTS (DSR a CTS spojeny) +---> 6 DSR ----> 1 CD nezapojen, pripadne spojen s DSR anebo DTR ----> 9 RI nezapojen <------------- 7 RTS nezapojen <------------- 4 DTR nezapojen stineni ---------------- stineniKabel je upraven tak, ze se signal DTR z ploteru privadi na signal CTS v PC, pak muzeme v Linux povolit RTS/CTS rizeni toku dat. Za predpokladu, ze Colorgraf je pripojen na COM1, nastavime prenosove parametry, 9600 7 E 2, dva stopbity seriovy prenos nepatrne pribrzdi:
#stty -F /dev/ttyS0 9600 evenp cstopb crtscts clocal #stty -F /dev/ttyS0 -aPosledni prikaz vypise nastaveni portu, pro kontrolu. A muzeme poslat prvni prikazy:
Shelovy skript aritma_test.sh nakresli testovaci obrazek (netestovano prakticky!):
#!/bin/sh # aritma_test.sh : generuje HP-GL prikazy pro testovaci kresbu SIZE=1000 MAX=20 STEP=2 echo "SP 1;" # uchop pero for I in $(seq 0 $STEP $MAX); do for J in $(seq 0 $STEP $MAX); do # PU X,Y; lze prepsat jako PU; PA X,Y; echo "PU $(expr $I \* $SIZE),0;" echo "PD $(expr $J \* $SIZE),$(expr $MAX \* $SIZE);" done done echo "SP;" # odloz pero # sh aritma_test.sh >/dev/ttyS0 # anebo # sh aritma_test.sh >aritma_test.plt; cat aritma_test.plt >/dev/ttyS0 # anebo zobrazit na obrazovce # sh aritma_test.sh | hp2xx -Tento skript vypisuje kolik procent souboru odeslano, ma jednoduche menu pro vyber souboru k poslani, v menu vypisuje soubory z adresare ve kterem byl spusten. To se hodi pri kresleni plosnaku, kdy mam oddelene HPGL soubory cesty, rozmery a rozmisteni soucastek.
#!/bin/bash #vypis adresare, pouze soubory declare -a FILES #declare i i=1 var=0 SERIAL=/dev/ttyS0 #SERIAL=/dev/null declare -a FILE SHOW_PROC=0 INDEX=0 until [ "$var" = "$i" ] do #vymazeme pole unset FILES[*] #pridame do pole souboru obsah aktualniho adresare for FILE in `ls -p | grep -v /` do # echo "Added $FILE to list." FILES[${#FILES[*]}]=$FILE done #pridame ovladaci casti menu FILES[${#FILES[*]}]="Nacti znovu." FILES[${#FILES[*]}]="Konec." #vytvorime si menu s vyberem souboru a akci clear echo -e "Vyberte akci nebo soubor k odeslani:\n" for (( i=0; i<${#FILES[*]}; i++ )) do echo "[$i] ${FILES[$i]}" done echo -ne "\nZadejte vyber a potvrdte ENTER:" read var let i=i-1 let ii=i-1 if [ "$var" != "$i" ] && [ "$var" != "${ii}" ] && [ "$var" != "${iii}" ] then echo "Posilam soubor ${FILES[$var]} na port." File=${FILES[$var]} clear echo "Zacali jsme `date`." echo -e "Odesilam na $SERIAL.\n" FILE=(`cat "$File"`) MAX=${#FILE[@]} let STEP=(100000 / MAX) for ((LINE=0; LINE <= $MAX; LINE++)) do echo ${FILE[$LINE]} > $SERIAL let PROCENTS=STEP*LINE/1000 if [ $SHOW_PROC -eq 1 ] then echo -en "\r$LINE of $MAX - $PROCENTS %" else echo -en "\r$PROCENTS % hotovo." fi done echo -e "\n\n`date` \nHotovo :) Stisknete lib. klavesu...\n" read tmp fi done exit 0
Dokument vytvořil: Petr Slansky, 22.2.2003 22:13 | Poslední úprava: ZmaTkar, 27.2.2011 15:08 | Další přispěvatelé: Petr Slansky | Historie změn | Zobrazeno: 5547×
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.