kerneltest/e32test/digitiser/t_ldddigitisertest.cpp
changeset 271 dc268b18d709
parent 0 a41df078684a
equal deleted inserted replaced
269:d57b86b1867a 271:dc268b18d709
   127 
   127 
   128 */
   128 */
   129    	test.Printf(_L("Testing Derived Attributes using a test Driver for Digitiser\n"));
   129    	test.Printf(_L("Testing Derived Attributes using a test Driver for Digitiser\n"));
   130 	r=User::LoadLogicalDevice(KLddFileName);
   130 	r=User::LoadLogicalDevice(KLddFileName);
   131 	test(r==KErrNone);
   131 	test(r==KErrNone);
   132 
       
   133 	r=gLDD.Open();
   132 	r=gLDD.Open();
   134 	test(r==KErrNone);
   133 	test(r==KErrNone);
   135 
   134 
   136 	r=gLDD.registerHalHandler();
   135 	r=gLDD.registerHalHandler();
   137     test(r==KErrNone || r==KErrNotSupported);
   136     test(r==KErrNone || r==KErrNotSupported);
   267 
   266 
   268 	gLDD.setPointer3DPressureStep(newPointer3DPressureStep);
   267 	gLDD.setPointer3DPressureStep(newPointer3DPressureStep);
   269 	
   268 	
   270 	r=HAL::Get(testDeviceNumber,HALData::EPointer3DPressureStep,halApiVal);
   269 	r=HAL::Get(testDeviceNumber,HALData::EPointer3DPressureStep,halApiVal);
   271 	test(r==KErrNone);
   270 	test(r==KErrNone);
   272 	test(halApiVal == newPointer3DPressureStep);  
   271 	test(halApiVal == newPointer3DPressureStep);  	
   273 	
       
   274 	r=gLDD.removeHalHandler();
   272 	r=gLDD.removeHalHandler();
   275     test(r == KErrNone);
   273     test(r == KErrNone);
   276 
   274 
   277 	gLDD.Close();
   275 	gLDD.Close();
   278 
   276 
   373 	
   371 	
   374 	// Finished Testing non-derived attributes
   372 	// Finished Testing non-derived attributes
   375 	test.Printf(_L("Successully Finished Testing the non-derived attributes\n"));
   373 	test.Printf(_L("Successully Finished Testing the non-derived attributes\n"));
   376 	__UHEAP_MARKEND;
   374 	__UHEAP_MARKEND;
   377 	}
   375 	}
       
   376 
       
   377 
       
   378 
       
   379 
       
   380 void  DoTestTEvntTypes()
       
   381 	{
       
   382 	TInt r;
       
   383 	TRawEvent::TType firstEvent=TRawEvent::ENone;
       
   384 	TRawEvent::TType lastEvent=TRawEvent::ERestartSystem;
       
   385     for(int i=firstEvent;i<=lastEvent;++i)
       
   386 		{
       
   387 		gLDD.setTEvntType(i);			
       
   388 		r=gLDD.getTEvntType();
       
   389 		test(r == i);
       
   390 		}   	
       
   391 
       
   392 	}
       
   393 
       
   394 
       
   395 void  DoTestTEvntDNum()
       
   396 	{
       
   397 	TInt r;
       
   398 	TInt aDvcNum1=2;
       
   399 	TInt aDvcNum2=100;
       
   400 
       
   401 
       
   402 	 
       
   403 	gLDD.setTEvntDNum(aDvcNum1);
       
   404 	r=gLDD.getTEvntDNum();
       
   405 	test(r == aDvcNum1);
       
   406 
       
   407 	gLDD.setTEvntDNum(aDvcNum2);
       
   408 	r=gLDD.getTEvntDNum();
       
   409 	test(r == aDvcNum2);
       
   410 		
       
   411 	}
       
   412 
       
   413 
       
   414 
       
   415 void  DoTestTEvntScanCode()
       
   416 	{
       
   417 
       
   418 	TInt r;
       
   419     TInt aScanCode1=0;
       
   420 	TInt aScanCode2=235;
       
   421 	gLDD.setTEvntScanCode(TRawEvent::EPointer3DInRange, aScanCode1);
       
   422 	r=gLDD.getTEvntScanCode();
       
   423 	test(r == aScanCode1);
       
   424 
       
   425 
       
   426 	gLDD.setTEvntScanCode(TRawEvent::EPointer3DRotation, aScanCode2);
       
   427 	r=gLDD.getTEvntScanCode();
       
   428 	test(r == aScanCode2);
       
   429 
       
   430 	}
       
   431 	
       
   432 
       
   433 void  DoTestTEvnTilt()
       
   434 	{
       
   435 	TInt aPhi1 =0, aTheta1=3;
       
   436 	TInt aPhi2 =20, aTheta2=45;
       
   437 	TInt r;
       
   438 	TUsrEventBuf  eventBuf;
       
   439 	
       
   440 
       
   441 	r=gLDD.setTEvntTilt(TRawEvent::EPointerMove,aPhi1,aTheta1);
       
   442 	test(r==KErrNone);
       
   443 	r=gLDD.getTEvntTilt(eventBuf);
       
   444 	test(r==KErrNone);
       
   445 	test((eventBuf().iPhi == aPhi1) && (eventBuf().iTheta == aTheta1));
       
   446 
       
   447 
       
   448 	r=gLDD.setTEvntTilt(TRawEvent::EPointer3DInRange,aPhi2,aTheta2);
       
   449 	test(r==KErrNone);
       
   450 
       
   451 	r=gLDD.getTEvntTilt(eventBuf);
       
   452 	test(r==KErrNone);
       
   453 	test((eventBuf().iPhi == aPhi2) && (eventBuf().iTheta == aTheta2));	
       
   454 	
       
   455 	}
       
   456 
       
   457 
       
   458 
       
   459 
       
   460 
       
   461 void  DoTestTEvntRotation()
       
   462 	{
       
   463 	TInt r;
       
   464     TInt  aRotation1 =12, aRotation2=323;
       
   465 
       
   466 	r=gLDD.setTEvntRotation(TRawEvent::EPointerMove,aRotation1);
       
   467 	test(r==KErrNone);
       
   468 	r=gLDD.getTEvntRotation();
       
   469 	test(r == aRotation1);
       
   470 
       
   471 
       
   472 	r=gLDD.setTEvntRotation(TRawEvent::EPointerMove,aRotation2);
       
   473 	test(r==KErrNone);
       
   474 	r=gLDD.getTEvntRotation();
       
   475 	test(r == aRotation2);
       
   476 	
       
   477 	}
       
   478 
       
   479 void  DoTestTEvntPtr()
       
   480 	{
       
   481 	TInt r;
       
   482 	TUint8 aPointerNumber1=123;
       
   483 	TUint8 aPointerNumber2=2;
       
   484 	TUint8 aPointerNumber3=3;
       
   485 	TUint8 aPointerNumber4=125;
       
   486 
       
   487 	TPoint3D tPoint3D1(-23 ,-85 ,-93);
       
   488 	TPoint3D tPoint3D2(-23 ,0 ,100);
       
   489 	TUsrEventBuf  eventBuf;
       
   490 
       
   491 
       
   492     r=gLDD.setTEvnt3DnPntr(TRawEvent::EPointerMove,tPoint3D1.iX,tPoint3D1.iY,tPoint3D1.iZ,aPointerNumber1);
       
   493 	test(r==KErrNone);			 
       
   494 	r=gLDD.getTEvntPntr();
       
   495 	test(r == aPointerNumber1);	 
       
   496 	r=gLDD.getTEventPos3D(eventBuf);
       
   497 	test(r==KErrNone);
       
   498 	test((eventBuf().iX == tPoint3D1.iX) && (eventBuf().iY == tPoint3D1.iY)  && (eventBuf().iZ == tPoint3D1.iZ) );
       
   499 
       
   500  	
       
   501 	gLDD.setTEvntPntr(aPointerNumber2);
       
   502 	r=gLDD.getTEvntPntr();
       
   503 	test(r == aPointerNumber2);
       
   504 
       
   505 	r=gLDD.setTEvnt3DnPntr(TRawEvent::EPointerMove,tPoint3D2.iX,tPoint3D2.iY,tPoint3D2.iZ,aPointerNumber3);
       
   506 	test(r==KErrNone);			 
       
   507 	r=gLDD.getTEvntPntr();
       
   508 	test(r == aPointerNumber3);	 
       
   509 	r=gLDD.getTEventPos3D(eventBuf);
       
   510 	test(r==KErrNone);
       
   511 	test((eventBuf().iX == tPoint3D2.iX) && (eventBuf().iY == tPoint3D2.iY)  && (eventBuf().iZ == tPoint3D2.iZ) );	  
       
   512 
       
   513 	gLDD.setTEvntPntr(aPointerNumber4);
       
   514 	r=gLDD.getTEvntPntr();
       
   515 	test(r == aPointerNumber4);
       
   516 	
       
   517 	}
       
   518 
       
   519 
       
   520 
       
   521 void  DoTestTEvntTicksNTips()
       
   522 	{
       
   523 	TInt r;
       
   524 	TBool aTip=true;
       
   525 
       
   526 	gLDD.setTEvntTip(aTip);
       
   527 	r=gLDD.TEvntTicksIsTip();
       
   528 	test(r == aTip);
       
   529 	
       
   530 	aTip=false;
       
   531     gLDD.setTEvntTip(aTip);
       
   532 	r=gLDD.TEvntTicksIsTip();
       
   533 	test(r == aTip);
       
   534 
       
   535 	r=gLDD.getTEvntTicks();
       
   536 	test(r > 0             );
       
   537 	
       
   538 	}
       
   539 
       
   540 
       
   541 	
       
   542 
       
   543 
       
   544 
       
   545 void  DoTestTEvntPOS2D()
       
   546 	{
       
   547 	TInt r;		
       
   548 	TPoint tPoint1(0,0);
       
   549 	TPoint tPoint2(323232,45454);
       
   550 	TPoint tPoint3(-85 ,-93);
       
   551 	TPoint tPoint4 (0 ,100);
       
   552 	TUsrEventBuf  eventBuf;
       
   553 
       
   554 
       
   555     r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint1.iX,tPoint1.iY);
       
   556 	test(r==KErrNone);
       
   557 	r=gLDD.getTEvntPos(eventBuf);
       
   558 	test(r==KErrNone);
       
   559 	test((eventBuf().iX == tPoint1.iX) && (eventBuf().iY == tPoint1.iY) );
       
   560 
       
   561 
       
   562 	r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint2.iX,tPoint2.iY);
       
   563 	test(r==KErrNone);
       
   564 	r=gLDD.getTEvntPos(eventBuf);
       
   565 	test(r==KErrNone);
       
   566 	test((eventBuf().iX == tPoint2.iX) && (eventBuf().iY == tPoint2.iY) );
       
   567 
       
   568 
       
   569 
       
   570 	r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint3.iX,tPoint3.iY);
       
   571 	test(r==KErrNone);
       
   572 	r=gLDD.getTEvntPos(eventBuf);
       
   573 	test(r==KErrNone);
       
   574 	test((eventBuf().iX == tPoint3.iX) && (eventBuf().iY == tPoint3.iY) );
       
   575 
       
   576 
       
   577 	r=gLDD.setTEvntPos(TRawEvent::EPointerMove,tPoint4.iX,tPoint4.iY);
       
   578 	test(r==KErrNone);
       
   579 	r=gLDD.getTEvntPos(eventBuf);
       
   580 	test(r==KErrNone);
       
   581 	test((eventBuf().iX == tPoint4.iX) && (eventBuf().iY == tPoint4.iY) );
       
   582 
       
   583 	}
       
   584 		
       
   585 
       
   586 
       
   587 
       
   588 void  DoTestTEvntRepeat()
       
   589 	{
       
   590 	TInt r;
       
   591 
       
   592 	TInt aType=TRawEvent::EPointerMove;
       
   593 	 TInt aScanCode=20;
       
   594 	 TInt aRepeats1=1;
       
   595 	 TInt aRepeats2=13430;
       
   596 	 TInt aRepeats3=0;
       
   597 
       
   598 	 r=gLDD.setTEvntRepeat(aType,aScanCode,aRepeats1);
       
   599 	 test(r==KErrNone);
       
   600 	 r=gLDD.getTEvntRepeat();
       
   601 	 test( r== aRepeats1);
       
   602 
       
   603 	 r=gLDD.setTEvntRepeat(aType,aScanCode,aRepeats2);
       
   604 	 test(r==KErrNone);
       
   605 	 r=gLDD.getTEvntRepeat();
       
   606 	 test( r== aRepeats2);
       
   607 
       
   608 
       
   609 	 r=gLDD.setTEvntRepeat(aType,aScanCode,aRepeats3);
       
   610 	 test(r==KErrNone);
       
   611 	 r=gLDD.getTEvntRepeat();
       
   612 	 test( r== aRepeats3);
       
   613 	
       
   614 	}
       
   615 		
       
   616 
       
   617 
       
   618 
       
   619 void  DoTestTEvntPos3D()
       
   620 	{
       
   621 	
       
   622 	TPoint3D tPoint3D1(0,0,0);
       
   623 	TPoint3D tPoint3D2(23232,323232,45454);
       
   624 	TPoint3D tPoint3D3(-23 ,-85 ,-93);
       
   625 	TPoint3D tPoint3D4(-23 ,0 ,100);
       
   626 	TUsrEventBuf  eventBuf;
       
   627 	TInt r;
       
   628 
       
   629      r=gLDD.setTEvntPos3D(TRawEvent::EPointerMove,tPoint3D1.iX,tPoint3D1.iY,tPoint3D1.iZ);
       
   630 	test(r==KErrNone);
       
   631 	r=gLDD.getTEventPos3D(eventBuf);
       
   632 	test(r==KErrNone);
       
   633 	test((eventBuf().iX == tPoint3D1.iX) && (eventBuf().iY == tPoint3D1.iY)  && (eventBuf().iZ == tPoint3D1.iZ) );
       
   634 
       
   635 
       
   636 	r=gLDD.setTEvntPos3D(TRawEvent::EPointer3DInRange,tPoint3D2.iX,tPoint3D2.iY,tPoint3D2.iZ);
       
   637 	test(r==KErrNone);
       
   638 	r=gLDD.getTEventPos3D(eventBuf);
       
   639 	test(r==KErrNone);
       
   640 	test((eventBuf().iX == tPoint3D2.iX) && (eventBuf().iY == tPoint3D2.iY)  && (eventBuf().iZ == tPoint3D2.iZ) );
       
   641 
       
   642 
       
   643 	r=gLDD.setTEvntPos3D(TRawEvent::EPointer3DRotation,tPoint3D3.iX,tPoint3D3.iY,tPoint3D3.iZ);
       
   644 	test(r==KErrNone);
       
   645 	r=gLDD.getTEventPos3D(eventBuf);
       
   646 	test(r==KErrNone);
       
   647 	test((eventBuf().iX == tPoint3D3.iX) && (eventBuf().iY == tPoint3D3.iY)  && (eventBuf().iZ == tPoint3D3.iZ) );
       
   648 
       
   649 
       
   650 	r=gLDD.setTEvntPos3D(TRawEvent::EPointer3DTiltAndMove,tPoint3D4.iX,tPoint3D4.iY,tPoint3D4.iZ);
       
   651 	test(r==KErrNone);
       
   652 	r=gLDD.getTEventPos3D(eventBuf);
       
   653 	test(r==KErrNone);
       
   654 	test((eventBuf().iX == tPoint3D4.iX) && (eventBuf().iY == tPoint3D4.iY)  && (eventBuf().iZ == tPoint3D4.iZ) );
       
   655 	
       
   656 	}
       
   657 
       
   658 
       
   659 
       
   660 
       
   661 
       
   662 void  DoTestTEvntPos3DAll()
       
   663 	{
       
   664 	TInt r;
       
   665 	TPoint3D tPoint3D1(0,322,45454);
       
   666 	TPoint3D tPoint3D2(-23 ,0 ,-93);
       
   667 
       
   668     TInt aPhi1 =0, aTheta1=3, alpha1=10;
       
   669 	TInt aPhi2 =20, aTheta2=45,alpha2=126;
       
   670 
       
   671 	TRawEvent::TType event1 =TRawEvent::EPointerMove;
       
   672 	TRawEvent::TType event2= TRawEvent::EPointer3DRotation;
       
   673 
       
   674 	TUsrEventBuf  eventBuf;
       
   675 		
       
   676     r=gLDD.setTEvntAll(event1,tPoint3D1.iX,tPoint3D1.iY,tPoint3D1.iZ,aPhi1,aTheta1,alpha1);
       
   677 	test(r==KErrNone);
       
   678 
       
   679 	r=gLDD.getTEvntType();
       
   680     test(r == event1);
       
   681 
       
   682 	r=gLDD.getTEventPos3D(eventBuf);
       
   683 	test(r==KErrNone);
       
   684 	test((eventBuf().iX == tPoint3D1.iX) && (eventBuf().iY == tPoint3D1.iY)  && (eventBuf().iZ == tPoint3D1.iZ) );
       
   685     
       
   686 
       
   687 	r=gLDD.getTEvntRotation();
       
   688 	test(r == alpha1);
       
   689     r=gLDD.getTEvntTilt(eventBuf);
       
   690 	test(r==KErrNone);
       
   691 	test((eventBuf().iPhi == aPhi1) && (eventBuf().iTheta == aTheta1));
       
   692 
       
   693 
       
   694   
       
   695 
       
   696 	r=gLDD.setTEvntAll(event2,tPoint3D2.iX,tPoint3D2.iY,tPoint3D2.iZ,aPhi2,aTheta2,alpha2);
       
   697 	test(r==KErrNone);
       
   698 
       
   699 	r=gLDD.getTEvntType();
       
   700     test(r == event2);
       
   701 
       
   702 	r=gLDD.getTEventPos3D(eventBuf);
       
   703 	test(r==KErrNone);
       
   704 	test((eventBuf().iX == tPoint3D2.iX) && (eventBuf().iY == tPoint3D2.iY)  && (eventBuf().iZ == tPoint3D2.iZ) );
       
   705     
       
   706 
       
   707 	r=gLDD.getTEvntRotation();
       
   708 	test(r == alpha2);
       
   709     r=gLDD.getTEvntTilt(eventBuf);
       
   710 	test(r==KErrNone);
       
   711 	test((eventBuf().iPhi == aPhi2) && (eventBuf().iTheta == aTheta2));
       
   712 
       
   713 	}
       
   714 
       
   715 
       
   716 
       
   717 void DoTestKernelTrawEvents()
       
   718 	{
       
   719 	__UHEAP_MARK;
       
   720 	TInt r;
       
   721 	test.Printf(_L("Testing KernelSide TrawEvents \n"));
       
   722 	r=User::LoadLogicalDevice(KLddFileName);	
       
   723 	test(r==KErrNone);
       
   724 	r=gLDD.Open();
       
   725 	test(r==KErrNone);
       
   726 
       
   727 	//Test Kernel Side TRawevents
       
   728 
       
   729 	DoTestTEvntTypes();
       
   730 	DoTestTEvntDNum();	
       
   731 	DoTestTEvntScanCode();
       
   732 	DoTestTEvnTilt();
       
   733 	DoTestTEvntRotation();
       
   734 	DoTestTEvntPtr();
       
   735 	DoTestTEvntTicksNTips();
       
   736 	DoTestTEvntPOS2D();
       
   737 	DoTestTEvntRepeat();
       
   738 	DoTestTEvntPos3D();
       
   739 	DoTestTEvntPos3DAll();
       
   740 	
       
   741 	gLDD.Close();
       
   742 	r = User::FreeLogicalDevice(KLddFileName);;
       
   743 	test(r==KErrNone);
       
   744 	User::After(100000);
       
   745 
       
   746 	// Finished Testing Derived attributes
       
   747    	test.Printf(_L("Successully Finished Testing KernelSide TrawEvents \n"));
       
   748    	__UHEAP_MARKEND;
       
   749 
       
   750 	}
       
   751 
   378 
   752 
   379 GLDEF_C TInt E32Main()
   753 GLDEF_C TInt E32Main()
   380 //
   754 //
   381 // Test Digitiser LDD
   755 // Test Digitiser LDD
   382 //
   756 //
   395 		// Derived attributes are tested using a Test Driver for Digitiser which is supported only on H4
   769 		// Derived attributes are tested using a Test Driver for Digitiser which is supported only on H4
   396         if(machineUid == HAL::EMachineUid_OmapH4) 
   770         if(machineUid == HAL::EMachineUid_OmapH4) 
   397 			{
   771 			{
   398 			 DoTestOnUnregisteredDevice(); 
   772 			 DoTestOnUnregisteredDevice(); 
   399 			 DoTestDerivedeAtributes();	
   773 			 DoTestDerivedeAtributes();	
       
   774 			 DoTestKernelTrawEvents();			
   400 			}
   775 			}
   401 		}
   776 		}
   402 	test.End();
   777 	test.End();
   403 	test.Close();
   778 	test.Close();
   404  	return(KErrNone);
   779  	return(KErrNone);
   405     }
   780     }
       
   781