亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? touch_panel_custom.c

?? MTK6225
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 *    keypad_def.c
 *
 * Project:
 * --------
 *   Maui_Software
 *
 * Description:
 * ------------
 *   This file is defined for keypad table
 *
 * Author:
 * -------
 * -------
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/
#if defined(TOUCH_PANEL_SUPPORT) || defined(HAND_WRITING)
#include "drv_comm.h"
#include "eint.h"
#include "touch_panel_custom.h"
#include "touch_panel.h"
#include    "touch_panel_spi.h"  ///Yh888_6225_V004.B&N002 
//#include    "touch_panel_i2c.h"  //Yh888_6225_V004.B&N001 //qsh

TouchPanel_custom_data_struct  tp_custom_data_def = 
{          
   /*ADC*/
       TOUCH_PANEL_ADC_X_START,   //0
	TOUCH_PANEL_ADC_X_END,     //3968
	TOUCH_PANEL_ADC_Y_START, //0
	TOUCH_PANEL_ADC_Y_END,     //5264
	/*Coord.*/
	TOUCH_PANEL_COORD_X_START,//0
	TOUCH_PANEL_COORD_X_END,   //239
	TOUCH_PANEL_COORD_Y_START, //0
	TOUCH_PANEL_COORD_Y_END,//339
	/*eint level*/
	TOUCH_PANEL_EINT_DOWN_LEVEL   
};

//extern unsigned char gCustomTouchPanelType;
unsigned char gCustomTouchPanelType=1; //Eric Huang 2007/12/19
#define __TOUCH_PANEL_X_COORDINATE_REVERSED__
#define __TOUCH_PANEL_Y_COORDINATE_REVERSED__

#ifdef TOUCH_PANEL_I2C_SUPPORT  ////Yh888_6225_V004.B&N002
#define __TOUCH_PANEL_XY_COORDINATE_REVERSED__
//#include "touch_panel_i2c_extern.h"
#endif

extern I2C_READ_ALL_DATA_TYPE g_i2c_tpReadalldata;//qsh
extern kal_uint16      TP_I2C_X ;
extern kal_uint16      TP_I2C_Y ;
extern kal_uint8	       finger_num;

extern kal_uint8	      tp_tapcode ;
extern kal_uint8	      tp_zoom ;
extern kal_uint8	      tp_flick ;
extern kal_uint8	      tp_press;


void tp_read_adc(kal_int16 *x, kal_int16 *y)
{
char str[100];
   kal_uint8 command=0, retry;        
   kal_int16 temp_x=0, temp_y=0, diff_x=0, diff_y=0;
   kal_uint16 temp;
  // for(retry=0;retry<1;retry++)//qsh
   {		
   	   i2c_tp_ReadAllData() ;
	
       if(finger_num)
	   {
	      *x = TP_I2C_X;
	     *y = TP_I2C_Y;
        }
   	}

}
#ifdef TOUCH_PANEL_PRESSURE
kal_bool tp_pressure_check(void)
{
   
   kal_uint8 command=0, retry;        
   kal_int16 x, z1, z2;
   kal_uint32 pressure;
   
   for(retry=0;retry<TOUCH_PANEL_RETRY;retry++)
   {
      /*X ADC*/
      command=TOUCH_PANEL_START_BIT|TOUCH_PANEL_Y_PLUS|TOUCH_PANEL_12BIT_SAMPLE|
           TOUCH_PANEL_SINGLE_MODE;
      serial_write_data(command);
      x=serial_read_data();   
      //kal_prompt_trace(MOD_TP_TASK, "pressure x value: %d", x);

      /*Z1 ADC*/
      command=TOUCH_PANEL_START_BIT|TOUCH_PANEL_Z1_POS|TOUCH_PANEL_12BIT_SAMPLE|
           TOUCH_PANEL_DIFF_MODE;
      serial_write_data(command);
      z1=serial_read_data();   
      //kal_prompt_trace(MOD_TP_TASK, "pressure z1 value: %d", z1);

      /*Z2 ADC*/
      command=TOUCH_PANEL_START_BIT|TOUCH_PANEL_Z2_POS|TOUCH_PANEL_12BIT_SAMPLE|
           TOUCH_PANEL_DIFF_MODE;
      serial_write_data(command);
      z2=serial_read_data();
      //kal_prompt_trace(MOD_TP_TASK, "pressure z2 value: %d", z2);
      if((z1 > 0) && (z2 > z1))
      {
         pressure = (x*(z2-z1)/z1) >> 2; /* Rx*x/4096*(z2/z1 - 1), assume Rx=1024 */
         //kal_prompt_trace(MOD_TP_TASK, "pressure: %d", pressure);
         //if (pressure > TOUCH_PRESSURE_THRESHOLD2)
           // kal_prompt_trace(MOD_TP_TASK, "pressure is above %d. value: %d", TOUCH_PRESSURE_THRESHOLD2, pressure);
         if ((pressure > TOUCH_PRESSURE_THRESHOLD_HIGH) || (pressure <= TOUCH_PRESSURE_THRESHOLD_LOW))
            return KAL_FALSE; 
         else
            return KAL_TRUE; 
      }
   }
   //kal_prompt_trace(MOD_TP_TASK, "pressure: 0 (no value)");
   return KAL_FALSE;
}
#endif /*TOUCH_PANEL_PRESSURE*/
#ifdef TOUCH_PANEL_I2C_SUPPORT   ////Yh888_6225_V004.B&N002
//#include "touch_panel_i2c_extern.h"
extern kal_uint8  i2c_tp_readflag;
#endif
//extern kal_bool    touch_panel_state;
void tp_irq_enable(kal_bool on)
{
#ifdef TOUCH_PANEL_I2C_SUPPORT  ///////Yh888_6225_V004.B&N002
   if(on==KAL_TRUE)
   {

	i2c_tp_readflag = 1;
 //touch_panel_state =0;
 //EINT_Set_Polarity(TP.eint_chan,touch_panel_state);
   
	
   }
   else
   {

	i2c_tp_readflag = 1;
	//touch_panel_state =1;
  //   EINT_Set_Polarity(TP.eint_chan,touch_panel_state);
   }
#else
   kal_uint8 command=0;   
   kal_uint32 savedMask;
   //savedMask = SaveAndSetIRQMask();
   if(on==KAL_TRUE)
   {
      command=TOUCH_PANEL_START_BIT|TOUCH_PANEL_PWD_ENBLE;               
   }   
   else
   {
      command=TOUCH_PANEL_START_BIT|TOUCH_PANEL_IRQ_DISABLE;
   }  
   serial_write_data(command);
   serial_read_data(); 
   //RestoreIRQMask(savedMask);
#endif
}    

TouchPanel_custom_data_struct *tp_Get_Data(void) 
{
   return (&tp_custom_data_def);
}      
TouchPanel_customize_function_struct tp_custom_func=
{
     tp_Get_Data,
     tp_read_adc,
#ifdef TOUCH_PANEL_PRESSURE
     tp_pressure_check,
#endif
     tp_irq_enable
};            
TouchPanel_customize_function_struct *tp_GetFunc(void)
{
   return (&tp_custom_func);  
}   







/*************************************************************************
 * [Set the config for MMI handwriting pad is enabled]
 *************************************************************************/
#include "MMI_features.h"
#ifdef __MMI_HANDWRITING_PAD__
#include "TouchScreenGprot.h" /* get tp_area_struct declaraction */
#include "kbd_table.h"



/*************************************************************************
 * [Get the calibration point]
 *************************************************************************/
#define NUM_TP_CALIBRATION_POINTS 3
const mmi_pen_point_struct tp_calibration_point[NUM_TP_CALIBRATION_POINTS]={
      {TOUCH_PANEL_CALIBRATION_X_1, TOUCH_PANEL_CALIBRATION_Y_1}, /* top-left point */
      {TOUCH_PANEL_CALIBRATION_X_2, TOUCH_PANEL_CALIBRATION_Y_2}, /* bottom-right point */
      {TOUCH_PANEL_CALIBRATION_X_3, TOUCH_PANEL_CALIBRATION_Y_3}  /* the thrid point */
   };


/*************************************************************************
 * [handwriting pad information setting]
 * Define the coordinate for control areas
 * Below is the reference setting ...
 *************************************************************************/
#if defined(__MMI_MAINLCD_176X220__)
#define TP_SCREEN_ROW_H		(9)
#define TP_SCREEN_ROW_0		(TOUCH_PANEL_COORD_Y_START)
#define TP_SCREEN_ROW_1		(TOUCH_PANEL_COORD_Y_START+10)
#define TP_SCREEN_ROW_2		(TOUCH_PANEL_COORD_Y_START+20)
#define TP_SCREEN_ROW_3		(TOUCH_PANEL_COORD_Y_START+30)
#define TP_SCREEN_ROW_4		(TOUCH_PANEL_COORD_Y_START+40)
#define TP_SCREEN_ROW_5		(TOUCH_PANEL_COORD_Y_START+50)
#define TP_SCREEN_ROW_6		(TOUCH_PANEL_COORD_Y_START+60)
#define TP_SCREEN_ROW_7		(TOUCH_PANEL_COORD_Y_START+70)
#define TP_SCREEN_ROW_8		(TOUCH_PANEL_COORD_Y_START+80)
#define TP_SCREEN_ROW_9		(TOUCH_PANEL_COORD_Y_START+90)

#define TP_SCREEN_COL_W		(57)
#define TP_SCREEN_COL_0		(TOUCH_PANEL_COORD_X_START)
#define TP_SCREEN_COL_1		(TOUCH_PANEL_COORD_X_START+58)
#define TP_SCREEN_COL_2		(TOUCH_PANEL_COORD_X_START+116)
#define TP_SCREEN_COL_3		(TOUCH_PANEL_COORD_X_START+174)

#elif defined(__MMI_MAINLCD_240X320__)

#define TP_SCREEN_ROW_H		(19)
#define TP_SCREEN_ROW_0		(TOUCH_PANEL_COORD_Y_START)
#define TP_SCREEN_ROW_1		(TOUCH_PANEL_COORD_Y_START+20)
#define TP_SCREEN_ROW_2		(TOUCH_PANEL_COORD_Y_START+40)
#define TP_SCREEN_ROW_3		(TOUCH_PANEL_COORD_Y_START+60)
#define TP_SCREEN_ROW_4		(TOUCH_PANEL_COORD_Y_START+80)
#define TP_SCREEN_ROW_5		(TOUCH_PANEL_COORD_Y_START+100)
#define TP_SCREEN_ROW_6		(TOUCH_PANEL_COORD_Y_START+120)
#define TP_SCREEN_ROW_7		(TOUCH_PANEL_COORD_Y_START+140)
#define TP_SCREEN_ROW_8		(TOUCH_PANEL_COORD_Y_START+160)
#define TP_SCREEN_ROW_9		(TOUCH_PANEL_COORD_Y_START+180)

#define TP_SCREEN_COL_W		(79)
#define TP_SCREEN_COL_0		(TOUCH_PANEL_COORD_X_START)
#define TP_SCREEN_COL_1		(TOUCH_PANEL_COORD_X_START+80)
#define TP_SCREEN_COL_2		(TOUCH_PANEL_COORD_X_START+160)
#define TP_SCREEN_COL_3		(TOUCH_PANEL_COORD_X_START+240)

#endif


/* If the customer want to handle the pen events, register the function handler here. */

void custom_dummy_pen_hdlr(mmi_pen_point_struct pos)
{
}


mmi_pen_hdlr custom_extra_func_hdlr[MMI_PEN_EVENT_TYPE_MAX]={
                        	NULL, /* MMI_PEN_EVENT_DOWN, */
                        	NULL, /* MMI_PEN_EVENT_UP, */
                        	NULL, /* MMI_PEN_EVENT_LONG_TAP, */
                        	NULL, /* MMI_PEN_EVENT_REPEAT, */
                        	NULL, /* MMI_PEN_EVENT_MOVE, */
                        	NULL,  /* MMI_PEN_EVENT_ABORT, */ 
                        };

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利国产精品| 亚洲一区在线观看免费观看电影高清| 日韩免费观看高清完整版在线观看| 日本高清不卡在线观看| 99热国产精品| jlzzjlzz亚洲日本少妇| 成人av网在线| 91丨porny丨蝌蚪视频| 91网页版在线| 欧美在线啊v一区| 欧美性生活影院| 69久久99精品久久久久婷婷| 在线观看91av| 精品国产伦一区二区三区观看方式| 精品少妇一区二区三区免费观看| 日韩美一区二区三区| 26uuu另类欧美| 国产欧美一区二区三区网站| 中文字幕不卡一区| 亚洲免费观看高清完整| 亚洲成人1区2区| 日本美女一区二区三区视频| 久久国产欧美日韩精品| 国产成人av福利| 91在线一区二区| 欧美日韩国产在线播放网站| 日韩一区二区三区四区| 国产亚洲精品精华液| 亚洲日本护士毛茸茸| 亚洲妇女屁股眼交7| 蜜桃av噜噜一区| 国产suv一区二区三区88区| 99视频热这里只有精品免费| 欧美日韩在线不卡| 欧美精品一区二区三区久久久| 国产精品情趣视频| 亚洲成人777| 国产一区二区三区免费观看| 不卡的电影网站| 欧美精品色一区二区三区| 久久先锋影音av鲁色资源| 亚洲精品五月天| 奇米影视一区二区三区| 成人一区在线观看| 欧美调教femdomvk| 久久蜜臀中文字幕| 亚洲午夜免费电影| 国产麻豆精品视频| 欧美亚日韩国产aⅴ精品中极品| 日韩一区二区三区视频在线观看| 欧美国产一区二区在线观看| 亚洲高清三级视频| 国产91丝袜在线播放| 欧美日韩一卡二卡| 国产精品三级电影| 日韩黄色片在线观看| 99视频一区二区| 精品国产自在久精品国产| 一区二区三区在线免费播放| 黄页网站大全一区二区| 在线亚洲免费视频| 中文字幕不卡的av| 在线一区二区视频| 欧美国产日韩a欧美在线观看| 亚洲国产精品一区二区久久恐怖片| 国产精品白丝av| 在线成人午夜影院| 亚洲精品成人天堂一二三| 黄色日韩网站视频| 678五月天丁香亚洲综合网| 亚洲欧美在线观看| 国产精品一区二区三区99| 6080日韩午夜伦伦午夜伦| 自拍视频在线观看一区二区| 国产一区二区精品久久| 欧美一区二区三区四区久久| 亚洲三级在线播放| 国产91对白在线观看九色| 日韩免费在线观看| 日本中文字幕一区二区视频| 色哟哟精品一区| 国产精品久久久久7777按摩| 国产一区欧美一区| 精品国产伦理网| 麻豆精品新av中文字幕| 717成人午夜免费福利电影| 亚洲一区二区三区精品在线| 一本到不卡精品视频在线观看| 国产欧美一区二区在线观看| 激情五月激情综合网| 日韩久久免费av| 蜜桃精品视频在线观看| 日韩一区二区三区在线观看| 午夜私人影院久久久久| 欧美在线视频全部完| 一区二区三区 在线观看视频| 盗摄精品av一区二区三区| 国产欧美日本一区二区三区| 国产91精品欧美| 中文字幕欧美激情一区| gogogo免费视频观看亚洲一| 国产精品久久久久婷婷| 成人免费看片app下载| 国产精品久久网站| av电影一区二区| 亚洲视频一区二区在线观看| 色综合久久综合网| 夜夜亚洲天天久久| 欧美日本精品一区二区三区| 日韩高清中文字幕一区| 精品久久久久久综合日本欧美| 久久丁香综合五月国产三级网站| 精品日韩欧美在线| 国产不卡视频在线播放| 国产精品伦一区| 在线视频一区二区三区| 午夜精品久久久久久不卡8050| 欧美日韩精品三区| 香蕉乱码成人久久天堂爱免费| 在线观看免费视频综合| 久久久精品国产99久久精品芒果| 国产91清纯白嫩初高中在线观看| 国产亚洲一本大道中文在线| 国产真实乱子伦精品视频| 26uuu精品一区二区| 日韩中文字幕亚洲一区二区va在线| 制服丝袜激情欧洲亚洲| 日本不卡视频在线| 精品国产不卡一区二区三区| 国产麻豆精品一区二区| 中文字幕va一区二区三区| av一二三不卡影片| 亚洲自拍偷拍九九九| 欧美肥胖老妇做爰| 久久99久久99| 亚洲人成伊人成综合网小说| 色综合久久中文字幕综合网| 亚洲大尺度视频在线观看| 日韩亚洲欧美高清| 国产精品 日产精品 欧美精品| 亚洲色欲色欲www| 欧美午夜影院一区| 日本中文字幕一区二区视频 | 国产激情一区二区三区| 国产精品久久三| 色av综合在线| 久久国产精品免费| 国产精品国产三级国产普通话99| 色久综合一二码| 午夜精品福利一区二区三区蜜桃| 国产日产欧美一区二区视频| 91小视频在线免费看| 日韩和欧美一区二区| 久久久久久夜精品精品免费| 97国产一区二区| 国产在线不卡一卡二卡三卡四卡| 中文字幕日韩av资源站| 欧美男男青年gay1069videost | 久久99热国产| 日本一区二区三区国色天香| 欧美日韩一级二级| 国产高清在线观看免费不卡| 一区二区三区四区乱视频| 久久国产福利国产秒拍| 国产成人高清视频| 91精品国产综合久久久久| 色先锋资源久久综合| 国产一区欧美一区| 亚洲一区二区三区四区在线免费观看 | 欧美美女一区二区三区| 欧美日韩一区成人| 国产亚洲美州欧州综合国| 精品国产伦一区二区三区免费| 不卡的av在线播放| 秋霞电影一区二区| 亚洲素人一区二区| 国产欧美日韩久久| 91精品国产综合久久精品app| 成人性视频免费网站| 日本不卡高清视频| 午夜精品久久久久影视| 国产精品久久久久三级| 欧美电视剧在线看免费| 精品视频一区二区三区免费| 国产精品一二三| 极品少妇xxxx偷拍精品少妇| 亚洲丶国产丶欧美一区二区三区| 中文字幕av不卡| 精品国产成人系列| 欧美电影免费观看高清完整版在线观看 | 国产精品色哟哟| 久久亚洲综合色一区二区三区| 欧美电影一区二区| 欧美亚洲国产一区二区三区va | 欧美成人国产一区二区| 国产美女视频一区| 国产麻豆精品theporn| 日本亚洲三级在线| 亚洲韩国精品一区| 亚洲免费观看视频|