Portál AbcLinuxu, 1. května 2025 11:31

ARITMA Colorgraf 0512

Podpora: kompletní
Ovladač: v jádře

Technické parametry

Starsi 8-mi barevny XY ploter s podporou A4/A3 formatu, castecne kompatibilni s HP-7475A. Rozhrani RS-232.

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

Identifikace pod Linuxem

Neni moznost autodetekce.

Postup zprovoznění pod Linuxem

Tento stary ploter (souradnicovy zapisovac) se pripojuje pomoci serioveho portu a zakladem uspechu je mit spravny kabel. Puvodni kabel pouzival pro hardwarove rizeni toku dat kombinaci signalu DTR/RTS. Linux vsak podporuje jen RTS/CTS, musime proto upravit kabel:
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 ---------------- stineni
Kabel 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 -a
Posledni prikaz vypise nastaveni portu, pro kontrolu. A muzeme poslat prvni prikazy:
#echo "PU; SP 1; SP;" >/dev/ttyS0
Ploter by mel uchopit pero 1 a zase je vratit do drzaku. Pokud funguje, muzete zkusit zadat rucne dalsi prikazy:
#cat >/dev/ttyS0
a nebo poslat na ploter nejaky zkusebni soubor
#cat test.plt >/dev/ttyS0

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

Poznámka

MDK 9.0, 2.4.19 kernel, ale postup by mel fungovat pod libovolnym Linuxem s podporou serioveho portu. Nevim, existuji-li pro Linux nejake aplikace podporujici tento ploter. Lze jej ale urcite pouzit pro vykresleni hotovych souboru vytvorenych aplikacemi v DOSu (#cat soubor.plt >/dev/ttyS0)

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: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.