********************************************************************************************
*                            DMC-Touch-Panel Driver Software
*
*                            TSC-10/LD Version1.1.2
*
*                              Rev.A    2006/1/6
*
********************************************************************************************

ЃfBEGEV[͖{hCo\tgyі{ɊւāAeNjJT|[gy
@eiXɈؑΉĂ܂B
@܂AЃfBEGEV[́AȂꍇA{hCo\tgɋN邨ql
@편vAʂȎ琶QAf[^Ȃǂɑ΂鑹Qyі̍YɊւ3҂
@qlɑ΂ĂȂꂽQɊÂӔCȂǂ̈؂̐ӔC𕉂܂B
@{hCo\tǵA\ȂɕύX邱Ƃ܂B

********************************************************************************************
1.Tv
********************************************************************************************
	TSC-10/LD ́AЃfBEGEV[^b`plRg[ICł
	TSC-10/ICATSC-20/IC𗘗pA^b`pl𑀍삷邱Ƃɂ
	}EXA}EXG~[V\tgEFAłB
	XWindowVXexinputhCoƂāA}EXG~[V܂B
	{̓hCoƃLu[VݒvO̎戵łB

	XF86ConfigݒɂAUSB/RS-232CʐM̂ǂ炩ł̓삪\łB
	
	EUSB
		+----------------------------------------------+
		|     @@@@       XWindow                   |
		+-------------------------------------+        |
		|     XINPUThCo dmc_drv.o        |        |
		+-------------------------------------+--------+
		|                       OS                     |
		+-------------------------------------+        |
		|     TPpusbhCo usbdmc.o        |        | <--Kernel2.6ł́Ausbdmc.ko
		+-------------------------------------+--------+
		|                       HW                     |
		+----------------------------------------------+
	
	ERS-232C
		+----------------------------------------------+
		|     @@@@       XWindow                   |
		+-------------------------------------+        |
		|     XINPUThCo dmc_drv.o        |        |
		+-------------------------------------+--------+
		|                       OS                     |
		+-------------------------------------+        |
		|          RS232ChCo             |        |
		+-------------------------------------+--------+
		|                       HW                     |
		+----------------------------------------------+
	
		FRS232ChCóAOStttyhCoŒʐMł܂B
	
********************************************************************************************
2.dl
********************************************************************************************
	ΉʐM
		USBi]x USB Specification 1.1 Low Speedj
		񓯊VA(RS-232C)
	ݒvO
		(1)Lu[V
		       2/3/4/5/9|Cg
		(2)][gI
		       30 p/s
		       50 p/s
		       80 p/s
		       100 p/s
		       130 p/s
		       150 p/s
		(3)^b`r[v
		       ^b`Ir[vL
		       ^b`Itr[vL
	XINPUThCo
		(1)XWindowVXexinputdlhCoŁA^b`͂}EX
		   Ƃďo͂܂B
		   }EXƂ̓gp\łB
		(2)Lu[Vf[^
				Rg[EEPROM
				t@Cdmc_calib.dat
			̏ɋL܂BG[͖܂B
		(3)t@ĆAXF86ConfigɂăfBNgƂƂɎw\łB
		(4)hCoNiXWindowNjɁA
				t@C
				EEPROM
		   ̏ɁALu[Vf[^ǂݍ݂܂B
		   EEPROM̃f[^D悵Ďgp܂B
	USBhCo
		(1)USBhCóAXINPUThCo痘p܂B
		   --->USBhCóAXWindowNOɃ[hȂ΂Ȃ܂B
		(2)USBhCóAJ[lhCoȂ̂ŃJ[lo[WɈˑ܂B
		   ]āAg̊ŁAUSBhCoRpCKv܂B

********************************************************************************************
3.JƓmF
********************************************************************************************
	J
		CPU			AthlonXP
		fBXgr[V	Vine2.6r4
		J[l		Kernel-2.4.22-0vl2.10-i686
	mF
		CPU			x86n
		                          Pentium4
		                          AthlonXP
		                          ViaC3
		--------+------------------------------
			| kernel	XWindow
		--------+------------------------------
		Vine2.6 | 2.4.22	4.2.0
		Vine3.1 | 2.4.27	6.7.0
		Redhat8	| 2.4.18-14	4.2.0
		Redhat9 | 2.4.20-8	4.3.0
		Fedora3	| 2.6.9		6.8.1
		Fedora4	| 2.6.11	6.8.2
		---------------------------------------
		FUSBhCóAăRpCK{łB
		FRedhat8ɂāAxinputhCoRpC鎞́Adriver/Makefile
		    ̈ȉ̃Rg͂ĂmakeȂƐɓ삵܂B
			MODULE_GCC_FLAGS=#-fno-merge-constants
		
********************************************************************************************
4.t@C
********************************************************************************************
	tpXXXXXX.tgzlinux̔Cӂ̃fBNgœWJĂB
	e͈ȉ̂悤ɂȂĂ܂B
	
	   [TSC10LD_Vxxx] 				<---'xxx'́Ao[WԍłB
	     |
	     +-- XF86Config             XF86ConfigTv
	     +-- dmc_calib.dat          Lu[Vf[^Tv
	     +-- objinstall             IuWFNgCXg[pob`t@C
	     +-- [driver]               --- hCofBNg ---
	     |      |
	     |      +-- makefile
	     |      +-- xf86DMC.h       hCowb_
	     |      +-- xf86DMC.c       hCo\[X
	     |      +-- dmc_drv.o       hCo
	     |
	     +-- [usb]                  --- usbhCofBNgiKernel2.4nj ---
	     |      |
	     |      +-- makefile
	     |      +-- <usbdmc.h>      hCowb_Fusb26/usbdmc.hgp܂B
	     |      +-- <usbdmc.c>      hCo\[XFusb26/usbdmc.cgp܂B
	     |      +-- usbdmc.o        hCo
	     |
	     +-- [usb26]                --- usbhCofBNgiKernel2.6nj ---
	     |      |
	     |      +-- makefile
	     |      +-- usbdmc.h       hCowb_
	     |      +-- usbdmc.c       hCo\[X
	     |      +-- usbdmc.ko      hCo
	     |
	     +-- [tbctl]                --- ݒvOfBNg ---
	            |
	            +-- makefile
	            +-- tb.h            wb_
	            +-- tbctl.c         CvO\[X
	            +-- tbcalib.c       Lu[VvO\[X
	            +-- tbtest.c        ^b`̓g[XeXgvO\[X
	            +-- tbselector.c    {^ZN^vO\[X
	            +-- ulib.c          XWindowpCu
	            +-- xilib.c         xinputC^tF[XCu
	            +-- tbctl           CsIuWFNg
	            +-- tbcalib         Lu[VsIuWFNg
	            +-- tbtest          ^b`̓g[XeXgsIuWFNg
	            +-- tbselector      {^ZN^sIuWFNg

********************************************************************************************
5.s
********************************************************************************************
	OqAJƓȂARpCȂŁAIuWFNĝ܂܎gp
	邱Ƃ\łB
	AUSBhCóARpCKvłBl3QƂĂB
	RpCKvȏꍇ́Al2QƂĂB

	Froot[U[ŎsĂB
	
	(1)USB̏ꍇ́AUSBfoCX쐬āAUSBhCo[h܂B
		Ekernel2.4n
			$ cd /dev/usb
			$ mknod dmc0 c 180 181             ...foCX쐬
			$ cd <install-TSC10LD_Vxxx>/usb
			$ insmod usbdmc.o                  ...[h
	  	Ekernel2.6nifoCX쐬Kv͂܂j
			$ cd <install-TSC10LD_Vxxx>/usb26
			$ insmod usbdmc.ko                 ...[h
	
	(2)𓀂t@C̒ɂIuWFNg̃fBNgɃRs[Ďgp
	   ĂB
	   objinstallƂob`t@CpӂĂ܂B

			IuWFNg            Rs[fBNg
			----------------------------------------------------------
			dmc_drv.o               /usr/X111R6/lib/modules/input
			tbctl                   /usr/X11R6/bin
			tbcalib                 /usr/X11R6/bin
			tbtest                  /usr/X11R6/bin
			tbselector              /usr/X11R6/bin

			Ftbctl,tbcalib,tbtest,tbselectoŕAspXw肵Ăꏊ
			    ΁A
					/usr/X11R6/bin
				łȂĂ܂܂B
			
	(3)𓀂t@C̒ɂXF86ConfigQlɂāA/etc/X11/XF86ConfigC
	   ĂB
	
		FVine2.6ȂA/etc/X11/XF86Config-4ɂȂ܂B܂AXWindowgp
		@@XF86ConfigCĂB

	   	E|C^foCXƂĂ̓o^
	   		Section "ServerLayout"
			   Identifier     "Anaconda Configured"
			   Screen         0  "Screen0" 0 0
			   InputDevice    "Mouse0" "CorePointer"
			   InputDevice    "Mouse1" "SendCoreEvents"    <---ǉ
			   InputDevice    "Keyboard0" "CoreKeyboard"
			EndSection
			
	   EUSB쁁foCXڍׂ̒ǉ
		   Ekernel2.4n
			Section "InputDevice"
			    Identifier  "Touch"
			    Driver      "dmc"
			    Option      "USB"  "1"
			    Option      "Device"  "/dev/usb/dmc0" ...(1)ō쐬foCX
			    Option      "SaveFile" "/etc/X11/dmc_calib.dat"
			EndSection
		   Ekernel2.6n
			Section "InputDevice"
			    Identifier  "Touch"
			    Driver      "dmc"
			    Option      "USB"  "1"
			    Option      "Device"  "/dev/dmc0"    ...(1)ō쐬foCX				    Option      "SaveFile" "/etc/X11/dmc_calib.dat"
			EndSection
			
	    ERS232C쁁foCXڍׂ̒ǉ
			Section "InputDevice"
			    Identifier  "Touch"
			    Driver      "dmc"
			    Option      "Device"  "/dev/ttyS0"   ...ڑVA|[g
			    Option      "SaveFile" "/etc/X11/dmc_calib.dat"
			EndSection

	(4)𓀂t@C̒ɂdmc_calib.datA/etc/X11ɃRs[ĂB
	   KvɉďCĂBڍׂ͔l1QƂĂB

			# ---------------------------------
			# DMC-Touch-Panel setup
			# ---------------------------------
			PenDownBeep  1
			PenUpBeep    1
			SamplingRate 0
			# ---------------------------------
			# raw data
			# ---------------------------------
			RawX0   56
			RawY0   65
			RawX1   919
			RawY1   929
			# ---------------------------------
			# calibration data
			# ---------------------------------
			CalX0   25
			CalY0   25
			CalX1   999
			CalY1   743

	(5)XWindowNȂƁAhCo삵܂B^b`͂ɂē삷邩AmF
	   ĂB
	
		F삵ȂꍇAPx^b`plRg[̓dēāA
		@@VXegNȂĂB
	
	(6)^b`͂ł悤Ȃ
			$ tbctl
	   ɂāAݒvONāA^b`pl̃Lu[VsĂ
	   B
	(7)퓮łȂAUSBhCoNAIɃ[h悤ɂ铙AKv
	   čƂĂB
	   		:NA[hɂ/etc/rc.d/rc.sysinit
	   				insmod /xxxx/xxxx/usbdmc.o
	   			Lq܂B

		l5ɐڑeXgႪ܂B삵ȂꍇAQlɂĂB
	
********************************************************************************************
6.ݒvO
********************************************************************************************
6-1.tbctl
	tbctlsƁAȉ̃CEChE\܂B
	ꂼ̃{^NbNāAe@\s܂B
	
	             +----------------------------------------------------+
	             | TSC-10/LD Control Main                             |
	             +----------------------------------------------------+
	             |                                         Ver1.x.x   |
	             | < Sampling Rate >     < Sound >                    | 
	             |      30 p/s          Touch Down Beep on        |
	             |      50 p/s          Touch Up Beep on          |
	             |      80 p/s                                      |
	             |     100 p/s                                      |
	             |     130 p/s                                      |
	             |     150 p/s                                      |
^b`][g | +---------------------+ +------------------------+ |
	Kps  ------>      Apply       | |       Test...        <-------^b`
	             | +---------------------+ +------------------------+ |   eXgs
	             | +---------------------+			  	  |
    {^ZN^-------->  Run Selector    |				  |@@
    N	     | +---------------------+				  |
	             | < Calibration Points > < Calibration Time Out >    |
		     |     2 point             10 sec                 |
Lu[V   |     3 point             20 sec                 |
  |Cgݒ@------->   4 point             60 sec                 |
	             |     5 point					  |
		     |	   9 point					  |
		     | +------------------------------------------------+ |
	             | |               Calibration...            <-------Lu[V
	             | +------------------------------------------------+ |   s
	             +----------------------------------------------------+

	u^b`][gZbgs{^v
		Sampling-Ratei][gjASoundi^b`r[vjhCoփZbg
		܂B

	u^b`̓eXgs{^v
		^b`̓g[XeXgs܂B
		
		FtbtestAfork܂B

	u{^ZN^s{^v	
		{^ZN^N܂B

		FtbselectorAfork܂B

	uLu[Vs{^v
		Lu[Vs܂B
		Calibration-Time-Out̎Ԃ̊ԁA^b`͂Ȃƃ^CAEg܂B
		
		FtbcalibAfork܂B

6-2.tbcalib
	Lu[V̎sŁAʑŜɃEChE\܂B
	'{'}[NA\̂ŁA^b`܂B
	Ⴆ΁ALu[V|Cg2|Cg̏ꍇAAÊQ|Cg
	^b`邱ƂɂȂ܂B
	Lu[V^CAEgԁA^b`Ȃƃ^CAEg܂B
	
         +----------------------------------------------------------------------+
         | {                                                                   |
         |                                                                      |
         |                                                                      |
         |           Executing Calibration. Please touch mark!!                 |
         |           TIME-OUT = 10 sec                                          |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         |                                                                      |
         +----------------------------------------------------------------------+
	
	IA_CAO\܂B
	
	uLu[VĨ_CAOv
		Lu[Vf[^L邩ǂ̃_CAOłB
		OKŋLiEEPROMAt@C֏݁j܂Bcancelł͋L܂B
		
			+-----------------------------+
	       		| TSC-10/LD-Clibration Result |
			+-----------------------------+
			|   Saved Calibration Data!!  |
			|    +-------+   +------+     |
			|    |  OK   |   |Cancel|     |
			|    +-------+   +------+     |
			+-----------------------------+
		
		Lu[V^CAEgԁAOK/CancelNbNi̓^b`j
		ȂƁACancelƂăLu[Vf[^͋LAI܂B
			
	uLu[V^CAEgĨ_CAOv
		^CAEg񍐂_CAOłB
		Lu[Vf[^͋L܂B
		Lu[V^CAEgԂŁAI܂B
		
			+-----------------------------+
	      		| TSC-10/LD-Clibration Result |
			+-----------------------------+
			|                             |
			|   Calibration Time Out!!    |
			|                             |
			+-----------------------------+
		
6-3.tbselector
	^b`͂̃{^؂ւ܂B
	tbselectorNƁA
		$ tbselector &
		$
	}̃EChEʍɕ\܂B
			+------------+
	        	| SELECTOR |X|
			+---+---+----+
			| L | M | R  |
			+---+---+----+
	L/M/R^b`ƁÃ^b`̃{^ɂȂ܂B
	SELECTOR̕hbOƃEChEʒuύXł܂B
	L/M/ŔA}EX{^̍^^E{^ɑΉĂ܂B
	ftHǵAL({^jŁAM/RIÃ^b`I->ItŁALɖ߂܂B

	FtbselectorÑp[^ŁA\ʒuAEChETCYύXł܂B
		@@@@@tbselector <x> <y> <size-x> <size-y>
	    	p[^@@@<x>@@@@ EChE\n_W
	    	@@@@@@@@<y>@@@@ EChE\n_W
	    	@@@@@@@@<size-x>@@EChETCY
	    	@@@@@@@@<size-y>@@EChETCY
	    Fʂ1280x1024̎AEɃEChE100x100TCỸEChE
	    @@ĕ\
	    		$ tbselector 1180 924 100 100
	    		$


********************************************************************************************
l1 Lu[Vf[^t@C
********************************************************************************************
	Lu[Vf[^̏lw肵܂B{t@C̓hCoNiXWindowN
	jɓǂݍ܂܂BhCóARg[EEPROMւ̏ݎɂ
	̃t@CXV܂B
	
	FhCóAEEPROMf[^̕D悵܂B

	tH[}bg
		(1)s'#'́A̍sRgƂĔF܂B
		(2)tH[}bg
			<id-string>  <num>
		   ŁA<id-string><num>̊Ԃɂ́A1ȏ̃Xy[XKvłB

			<id-string>
				PenDownBeep
					^b`Ĩr[vLwłB
						0=Ȃ
						1=
				PenUpBeep
					^b`It̃r[vLwłB
						0=Ȃ
						1=
				SamplingRate
					][gI܂B
						0=30  p/s
						1=50  p/s
						2=80  p/s
						3=100 p/s
						4=130 p/s
						5=150 p/s
				RawX/Y0`RawX/Y8ACalX/Y0`CalX/Y8
				uLu[V|Cg=2|Cgv
						+-----------+
						| 0         |
						|           |
						|         1 |
						+-----------+
				  RawX0/RawY0 ^b`pl(x,y)
				  RawX1/RawY1 ^b`plE(x,y)
				  CalX0/CalY0 ʍ(x,y)=(25Œ,25Œ)
				  CalX1/CalY1 ʉE(x,y)=(XTCY-25,YTCY-25)
				uLu[V|Cg=3|Cgv
						+-----------+
						| 0         |
						|     1     |
						|         2 |
						+-----------+
				  RawX0/RawY0 ^b`pl(x,y)
				  RawX1/RawY1 ^b`pl(x,y)
				  RawX2/RawY2 ^b`plE(x,y)
				  CalX0/CalY0 ʍ(x,y)=(25Œ,25Œ)
				  CalX1/CalY1 ʒ(x,y)=(XTCY/2,YTCY/2)
				  CalX2/CalY2 ʉE(x,y)=(XTCY-25,YTCY-25)
				uLu[V|Cg=4|Cgv
						+-----------+
						| 0       2 |
						|           |
						| 1       3 |
						+-----------+
				  RawX0/RawY0 ^b`pl(x,y)
				  RawX1/RawY1 ^b`pl(x,y)
				  RawX2/RawY2 ^b`plE(x,y)
				  RawX3/RawY3 ^b`plE(x,y)
				  CalX0/CalY0 ʍ(x,y)=(25Œ,25Œ)
				  CalX1/CalY1 ʍ(x,y)=(25Œ,YTCY-25)
				  CalX2/CalY2 ʉE(x,y)=(XTCY-25,25Œ)
				  CalX3/CalY3 ʉE(x,y)=(XTCY-25,YTCY-25)
				uLu[V|Cg=5|Cgv
						+-----------+
						| 0       3 |
						|     2     |
						| 1       4 |
						+-----------+
				  RawX0/RawY0 ^b`pl(x,y)
				  RawX1/RawY1 ^b`pl(x,y)
				  RawX2/RawY2 ^b`pl(x,y)
				  RawX3/RawY3 ^b`plE(x,y)
				  RawX4/RawY4 ^b`plE(x,y)
				  CalX0/CalY0 ʍ(x,y)=(25Œ,25Œ)
				  CalX1/CalY1 ʍ(x,y)=(25Œ,YTCY-25)
				  CalX2/CalY2 ʒ(x,y)=(XTCY/2,YTCY/2)
				  CalX3/CalY3 ʉE(x,y)=(XTCY-25,25Œ)
				  CalX4/CalY4 ʉE(x,y)=(XTCY-25,YTCY-25)
				uLu[V|Cg=9|Cgv
						+-----------+
						| 0   3   6 |
						| 1   4   7 |
						| 2   5   8 |
						+-----------+
				  RawX0/RawY0 ^b`pl(x,y)
				  RawX1/RawY1 ^b`pl(x,y)
				  RawX2/RawY2 ^b`pl(x,y)
				  RawX3/RawY3 ^b`pl㒆(x,y)
				  RawX4/RawY4 ^b`pl(x,y)
				  RawX5/RawY5 ^b`pl(x,y)
				  RawX6/RawY6 ^b`plE(x,y)
				  RawX7/RawY7 ^b`plE(x,y)
				  RawX8/RawY8 ^b`plE(x,y)
				  CalX0/CalY0 ʍ(x,y)=(25Œ,25Œ)
				  CalX1/CalY1 ʍ(x,y)=(25Œ,YTCY/2)
				  CalX2/CalY2 ʍ(x,y)=(25Œ,YTCY-25)
				  CalX3/CalY3 ʏ㒆(x,y)=(XTCY/2,25Œ)
				  CalX4/CalY4 ʒ(x,y)=(XTCY/2,YTCY/2)
				  CalX5/CalY5 ʉ(x,y)=(XTCY/2,YTCY-25)
				  CalX6/CalY6 ʉE(x,y)=(XTCY-25,25Œ)
				  CalX7/CalY7 ʉE(x,y)=(XTCY-25,YTCY/2)
				  CalX8/CalY8 ʉE(x,y)=(XTCY-25,YTCY-25)
	
		# ---------------------------------
		# DMC-Touch-Panel setup
		# ---------------------------------
		PenDownBeep  1
		PenUpBeep    1
		SamplingRate 0
		# ---------------------------------
		# 2points
		# ---------------------------------		
		# raw data
		# ---------------------------------
		RawX0   56
		RawY0   65
		RawX1   919
		RawY1   929
		# ---------------------------------
		# calibration data
		# ---------------------------------
		CalX0   25
		CalY0   25
		CalX1   999
		CalY1   743

********************************************************************************************
l2  XINPUThCõRpC@s
********************************************************************************************
	XWindow̃AvP[ṼRpCłɂāARpC܂B
	fBNgtpCӂ̏ꏊփRs[ĂB
	
	EݒvO
		(1)Rs[TSC10LD_Vxxx/tbctlɈړāARpC܂B
			$ make
		(2)tbctlAtbcalibAtbtestRs[܂B
			$ cp -pf tbctl tbcalib tbtest /usr/X11R6/bin
		(3)tbctls܂B
			$ tbctl
			
	EhCo
		(1)XWindow\[XɊ܂܂wb_t@CKvłB
			http://xfree.org/
		   AΉo[W̃\[X_E[hĂB
		(2)_E[hXWindow\[X
				/usr/X11R6/
		   ֓WJĂB
		(3)Rs[TSC10LD_Vxxx/driverɈړāARpC܂B
			$ make clean all
		(4)dmc_drv.oRs[܂B
			$ cp -pf dmc_drv.o /usr/X11R6/lib/modules/input
		(5)XWindowNȂƁARs[dmc_drv.os܂B
		
		FWJXWindow\[X
				/usr/X11R6/xc/programs/Xserver/hw/xfree86/input/dmc
		    ɁAxf86DMC.cxf86DMC.hRs[ăRpCĂ܂܂B
		FXWindowNOɁAUSBhCo[hĂȂ΂Ȃ܂B
		FRedhat8ł́AxinputhCoRpCƂ́Adriver/Makefile
		@@ȉ̃Rg͂āAmakeȂƓ삵܂B
				MODULE_GCC_FLAGS=#-fno-merge-constants
				                 
				          ͂܂II
	
********************************************************************************************
l3  USBhCõRpC@s
********************************************************************************************
Ekernel2.4n
	(1)J[l\[XCXg[ĂBJ[l̃RpC͕Kv܂B
	(2)Rs[TSC10LD_Vxxx/usbɈړ܂B
	(3)makefileҏW܂BmakefileINCLUDEł̃\[X̃pXglinuxɍ킹
	   ĂB
			F
			TARGET=usbdmc.o usbtest
			
			#LINUX=linux-2.4
			LINUX=linux@@@@@@@<------ʏAҏW܂B
			
			INCLUDE= /usr/src/$(LINUX)/include
			#KCFLAGS= -D__KERNEL__ -I$(INCLUDE) -Wall -Wstrict-prototypes -O2 \
			#         -fomit-frame-pointer -pipe -DMODULE
			KCFLAGS=	-D__KERNEL__ \
						-I$(INCLUDE) \
			F
	(4)RpC܂B
		$ make clean all
		FRpCŃG[ꍇAJ[l̂xRpC
		@@Kvꍇ܂B
	(5)RpCIA[hĎgp܂B
		$ insmod usbdmc.o
		FUSBhCóAXWindowNOɃ[hȂ΂Ȃ܂B

Ekernel2.6n
	(1)J[l\[XCXg[ĂB
	(2)Rs[TSC10LD_Vxxx/usb26Ɉړ܂B
	(3)MakefileҏW܂BMakefileINCLUDEł̃\[X̃pXglinuxɍ킹
	   B
			F
			TARGET:=usbdmc.ko
			
			KDIR=/usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9     <------ʏA
			                                                    ҏW܂B
			KCFLAGS+=-DKER25=1
			F
	(4)RpC܂B
		$ make clean all
	   FRpCŃG[ꍇAJ[l̂xRpCKv
	   @@ꍇ܂B
	(5)RpCIA[hĎgp܂B
		$ insmod usbdmc.ko
		FUSBhCóAXWindowNOɃ[hȂ΂Ȃ܂B
	
********************************************************************************************
l4  ACXg[
********************************************************************************************
	ACXg[́A5͂ł̃Rs[Ƃ̋ts܂B
	ȉ̃t@C폜AҏWhXF86Confighɖ߂ĂB
	
		t@C               fBNg
		----------------------------------------------------------
		dmc_drv.o               /usr/X111R6/lib/modules/input
		tbctl                   /usr/X11R6/bin
		tbcalib                 /usr/X11R6/bin
		tbtest                  /usr/X11R6/bin
		tbselector              /usr/X11R6/bin
		dmc_calib.dat           /etc/X11

	FfBNǵAobjinstallgpꍇ̃fBNgłB
	@@蓮ŃRs[ꍇ́Ȁꏊ̃t@C폜ĂB
	Fobjinstallł́AUSBhCo̓CXg[܂B

********************************************************************************************
l5  ڑeXg
********************************************************************************************
	ȉATP̐ڑeXgłB
	XWindow𓮍삳ɃR\[A邢́AXWindow瓮삳ꍇ́A
	XF86Configݒł̃^b`ݒ̂ȂԂŎs܂B

	Froot[U[ŎsĂB
	
	(1) RS232Citbctl/tpin.c)
	
		1F̎MȂꍇAɒʐMłĂ܂B
	
		[root@localhost /root]# ./tpin /dev/ttyS0
		path=3 raw mode
		>> touch-panel test prog. open [/dev/ttyS0]
		in = $12                        .....openATPMF1
		                                <----<return>Ńj[
		*** command ***
		  1:reset         2:specify
		  3:goto XYP      4:goto IDLE from XYP
		 10:read status  11:read eeprom
		1                               <----1I
		input = .....[1] 1
		OUT len=1 $55 
		write 1 22
		in = $06                        .....ACK(=0x06)MF1
		                                <----<return>Ńj[
		*** command ***
		  1:reset         2:specify
		  3:goto XYP      4:goto IDLE from XYP
		 10:read status  11:read eeprom
		2                               <----2I
		input = .....[2] 2
		OUT len=2 $5 $41 
		write 2 22
		in = $06                        .....ACK(=0x06)MF1
		                                <----<return>Ńj[
		*** command ***
		  1:reset         2:specify
		  3:goto XYP      4:goto IDLE from XYP
		 10:read status  11:read eeprom
		3                               <----3I
		input = .....[3] 3
		OUT len=1 $31 
		write 1 22
		                                ......^b`œ͍W\
		PenDown:(x,y)=(642,536)=($0282,$0218) : $02 $82 $02 $18
		PenDown:(x,y)=(642,536)=($0282,$0218) : $02 $82 $02 $18
		PenDown:(x,y)=(642,536)=($0282,$0218) : $02 $82 $02 $18
		PenUp
		
	(2) USBiusb/usbtest.c)
		[root@localhost usb]# insmod usbdmc.o
		Warning: loading usbdmc.o will taint the kernel: no license
		  See http://www.tux.org/lkml/#export-tainted for information about 
		  tainted modules
		Module usbdmc loaded, with warnings
		[root@localhost usb]# ./usbtest 2
		reset
		specify
		goto xyp
		ok
		get status 3190 
		read eeprom res 0
		goto xyp                        ......^b`͑҂
		                                ......^b`œ͍W\
		Touch 11 ON  ( 884, 597)
		Touch 10 OFF ( 884, 597)
		Touch 11 ON  ( 890, 602)
		Touch 10 OFF ( 890, 602)

********************************************************************************************
l6	݊
********************************************************************************************
	ȑO̔ło[WAbvƂ́Aȉ̒ӂKvłB

	Edmc_calib.dat
		ȑÕo[WƂ̌݊͂܂BROMւ̌Œf[^ƂĎgpĂ
		ꍇ́A{o[Wȍ~ō쐬̂gpĂB
	
	V1.0.9ȑOo[WAbvƂ́Aȉ̒ӂKvłB

	EEEPROM֕ۑLu[V
		ȑÕo[WƂ̌݊͂܂B{o[Wȍ~ŃLu[V
		ȂĂB




Copyright (C) 2005-2006 DMC Co., Ltd
	Permission is hereby granted, free of charge, to any person obtaining a
	copy of this software and associated documentation files (the "Software"),
	to deal in the Software without restriction, including without limitation
	the rights to use, copy, modify, merge, publish, distribute, sublicense,
	and/or sell copies of the Software, and to permit persons to whom the
	Software is furnished to do so, subject to the following conditions:

	The above copyright notice and this permission notice shall be included in
	all copies or substantial portions of the Software.

	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
	THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
	WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
	OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
	SOFTWARE.

	Except as contained in this notice, the name of the DMC Co., Ltd shall not 
	be used in advertising or otherwise to promote the sale, use or other dealings
	in this Software without prior written authorization from DMC Co., Ltd.




{̍ĔzzF߂܂A{̉ς֎~܂B

