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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stm8_tsl_rc_multichannelkey.c

?? 基于STM8 的電容按鍵算法, 方案便宜
?? C
?? 第 1 頁 / 共 3 頁
字號:
/**
  ******************************************************************************
  * @file STM8_TSL_RC_MultiChannelKey.c
  * @brief RC Touch Sensing Library for STM8 CPU family.
  * Multi channel Key management. Allows to manage wheels and sliders.
  * @author STMicroelectronics - MCD Application Team
  * @version V1.1.0
  * @date 21-FEB-2009
  ******************************************************************************
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; COPYRIGHT 2009 STMicroelectronics</center></h2>
  * @image html logo.bmp
  ******************************************************************************
  */

#include "STM8_TSL_RC_MultiChannelKey.h"
#include "STM8_TSL_RC_API.h"
#include "STM8_TSL_RC_Services.h"

//============================================================================
//-----         CONDITIONAL COMPILING FOR MCKEYS !!!               -----------
#if NUMBER_OF_MULTI_CHANNEL_KEYS > 0
//============================================================================

//--------    SECTION DEFINITION FOR THIS FILE   --------------
#if defined(__CSMC__) && defined(USE_PRAGMA_SECTION)
#pragma section [TSLMCK_RAM]
#pragma section @tiny [TSLMCK_RAM0]
#pragma section (TSLMCK_CODE)
#pragma section const {TSLMCK_CONST}
#endif

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//-----        MCKEY1 CONSTANT TABLES FOR POSITION CALCULATION           -----
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#if CHANNEL_PER_MCKEY == 5

#if MCKEY1_TYPE == 0 // Wheel
#if MCKEY1_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -19, -83,  122,   58, // maj = 1; i = 0
         6,    0, -32, -122,   96, // maj = 2; i = 1
        70,   19,   0,  -45,  -96, // maj = 3; i = 2
        -6,  109,  32,    0,  -58, // maj = 4; i = 3
       -70, -109,  83,   45,    0  // maj = 5; i = 4
};
#define MCKEY1_SECTOR_COMPUTATION (26)
#define MCKEY1_POSITION_CORRECTION (0)
#else // Normal electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -38,   0,    0,  115, // maj = 1; i = 0
        13,    0, -64,    0,    0, // maj = 2; i = 1
         0,   38,   0,  -90,    0, // maj = 3; i = 2
         0,    0,  64,    0, -115, // maj = 4; i = 3
       -13,    0,   0,   90,    0  // maj = 5; i = 4
};
#define MCKEY1_SECTOR_COMPUTATION (51)
#define MCKEY1_POSITION_CORRECTION (0)
#endif
#endif

#if MCKEY1_TYPE == 1 // Slider
#if MCKEY1_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -21, -92,  135,   64, // maj = 1; i = 0
         7,    0, -36, -135,  107, // maj = 2; i = 1
        78,   21,   0,  -50, -107, // maj = 3; i = 2
      -149,  121,  36,    0,  -64, // maj = 4; i = 3
       -78, -121,  92,   50,    0  // maj = 5; i = 4
};
#define MCKEY1_SECTOR_COMPUTATION (28)
#define MCKEY1_POSITION_CORRECTION (28)
#else // Normal electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -64,    0,    0,    0, // maj = 1; i = 0
        21,    0, -107,    0,    0, // maj = 2; i = 1
         0,   64,    0, -149,    0, // maj = 3; i = 2
         0,    0,  107,    0, -192, // maj = 4; i = 3
         0,    0,    0,  149,    0  // maj = 5; i = 4
};
#define MCKEY1_SECTOR_COMPUTATION (85)
#define MCKEY1_POSITION_CORRECTION (85)
#endif
#endif

#endif // CHANNEL_PER_MCKEY == 5

#if CHANNEL_PER_MCKEY == 8

#if MCKEY1_TYPE == 0 // Wheel
#if MCKEY1_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -12,    0,  -76,    0,  124,    0,   60, // maj = 1; i = 0
         4,    0,  -20,    0, -100,    0,   84,    0, // maj = 2; i = 1
         0,   12,    0,  -28,    0, -124,    0,  108, // maj = 3; i = 2
        68,    0,   20,    0,  -36,    0,  -84,    0, // maj = 4; i = 3
         0,   92,    0,   28,    0,  -44,    0, -108, // maj = 5; i = 4
        -4,    0,  116,    0,   36,    0,  -52,    0, // maj = 6; i = 5
         0,  -92,    0,   76,    0,   44,    0,  -60, // maj = 7; i = 6
       -68,    0, -116,    0,  100,    0,   52,    0  // maj = 8; i = 7
};
#define MCKEY1_SECTOR_COMPUTATION (16)
#define MCKEY1_POSITION_CORRECTION (0)
#else // Normal electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -24,    0,    0,    0,    0,    0,  120, // maj = 1; i = 0
         8,    0,  -40,    0,    0,    0,    0,    0, // maj = 2; i = 1
         0,   24,    0,  -56,    0,    0,    0,    0, // maj = 3; i = 2
         0,    0,   40,    0,  -72,    0,    0,    0, // maj = 4; i = 3
         0,    0,    0,   56,    0,  -88,    0,    0, // maj = 5; i = 4
         0,    0,    0,    0,   72,    0, -104,    0, // maj = 6; i = 5
         0,    0,    0,    0,    0,   88,    0, -120, // maj = 7; i = 6
        -8,    0,    0,    0,    0,    0,  104,    0  // maj = 8; i = 7
};
#define MCKEY1_SECTOR_COMPUTATION (32)
#define MCKEY1_POSITION_CORRECTION (0)
#endif
#endif

#if MCKEY1_TYPE == 1 // Slider
#if MCKEY1_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -13,    0,  -81,    0,  132,    0,   64, // maj = 1; i = 0
         4,    0,  -21,    0, -107,    0,   90,    0, // maj = 2; i = 1
         0,   13,    0,  -30,    0, -132,    0,  115, // maj = 3; i = 2
        73,    0,   21,    0,  -38,    0,  -90,    0, // maj = 4; i = 3
         0,   98,    0,   30,    0,  -47,    0, -115, // maj = 5; i = 4
      -141,    0,  124,    0,   38,    0,  -55,    0, // maj = 6; i = 5
         0,  -98,    0,   81,    0,   47,    0,  -64, // maj = 7; i = 6
       -73,    0, -124,    0,  107,    0,   55,    0  // maj = 8; i = 7
};
#define MCKEY1_SECTOR_COMPUTATION (17)
#define MCKEY1_POSITION_CORRECTION (17)
#else // Normal electrodes
const s16 MCKEY1_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -32,    0,    0,    0,    0,    0,    0, // maj = 1; i = 0
        11,    0,  -53,    0,    0,    0,    0,    0, // maj = 2; i = 1
         0,   32,    0,  -75,    0,    0,    0,    0, // maj = 3; i = 2
         0,    0,   53,    0,  -96,    0,    0,    0, // maj = 4; i = 3
         0,    0,    0,   75,    0, -117,    0,    0, // maj = 5; i = 4
         0,    0,    0,    0,   96,    0, -139,    0, // maj = 6; i = 5
         0,    0,    0,    0,    0,  117,    0, -160, // maj = 7; i = 6
         0,    0,    0,    0,    0,    0,  139,    0  // maj = 8; i = 7
};
#define MCKEY1_SECTOR_COMPUTATION (43)
#define MCKEY1_POSITION_CORRECTION (43)
#endif
#endif

#endif // CHANNEL_PER_MCKEY == 8

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//-----        MCKEY2 CONSTANT TABLES FOR POSITION CALCULATION           -----
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#if NUMBER_OF_MULTI_CHANNEL_KEYS > 1

#if CHANNEL_PER_MCKEY == 5

#if MCKEY2_TYPE == 0 // Wheel
#if MCKEY2_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -19, -83,  122,   58, // maj = 1; i = 0
         6,    0, -32, -122,   96, // maj = 2; i = 1
        70,   19,   0,  -45,  -96, // maj = 3; i = 2
        -6,  109,  32,    0,  -58, // maj = 4; i = 3
       -70, -109,  83,   45,    0  // maj = 5; i = 4
};
#define MCKEY2_SECTOR_COMPUTATION (26)
#define MCKEY2_POSITION_CORRECTION (0)
#else // Normal electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -38,   0,    0,  115, // maj = 1; i = 0
        13,    0, -64,    0,    0, // maj = 2; i = 1
         0,   38,   0,  -90,    0, // maj = 3; i = 2
         0,    0,  64,    0, -115, // maj = 4; i = 3
       -13,    0,   0,   90,    0  // maj = 5; i = 4
};
#define MCKEY2_SECTOR_COMPUTATION (51)
#define MCKEY2_POSITION_CORRECTION (0)
#endif
#endif

#if MCKEY2_TYPE == 1 // Slider
#if MCKEY2_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -21, -92,  135,   64, // maj = 1; i = 0
         7,    0, -36, -135,  107, // maj = 2; i = 1
        78,   21,   0,  -50, -107, // maj = 3; i = 2
      -149,  121,  36,    0,  -64, // maj = 4; i = 3
       -78, -121,  92,   50,    0  // maj = 5; i = 4
};
#define MCKEY2_SECTOR_COMPUTATION (28)
#define MCKEY2_POSITION_CORRECTION (28)
#else // Normal electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5
//   j = 0     1     2     3     4
         0,  -64,    0,    0,    0, // maj = 1; i = 0
        21,    0, -107,    0,    0, // maj = 2; i = 1
         0,   64,    0, -149,    0, // maj = 3; i = 2
         0,    0,  107,    0, -192, // maj = 4; i = 3
         0,    0,    0,  149,    0  // maj = 5; i = 4
};
#define MCKEY2_SECTOR_COMPUTATION (85)
#define MCKEY2_POSITION_CORRECTION (85)
#endif
#endif

#endif // CHANNEL_PER_MCKEY == 5

#if CHANNEL_PER_MCKEY == 8

#if MCKEY2_TYPE == 0 // Wheel
#if MCKEY2_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -12,    0,  -76,    0,  124,    0,   60, // maj = 1; i = 0
         4,    0,  -20,    0, -100,    0,   84,    0, // maj = 2; i = 1
         0,   12,    0,  -28,    0, -124,    0,  108, // maj = 3; i = 2
        68,    0,   20,    0,  -36,    0,  -84,    0, // maj = 4; i = 3
         0,   92,    0,   28,    0,  -44,    0, -108, // maj = 5; i = 4
        -4,    0,  116,    0,   36,    0,  -52,    0, // maj = 6; i = 5
         0,  -92,    0,   76,    0,   44,    0,  -60, // maj = 7; i = 6
       -68,    0, -116,    0,  100,    0,   52,    0  // maj = 8; i = 7
};
#define MCKEY2_SECTOR_COMPUTATION (16)
#define MCKEY2_POSITION_CORRECTION (0)
#else // Normal electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -24,    0,    0,    0,    0,    0,  120, // maj = 1; i = 0
         8,    0,  -40,    0,    0,    0,    0,    0, // maj = 2; i = 1
         0,   24,    0,  -56,    0,    0,    0,    0, // maj = 3; i = 2
         0,    0,   40,    0,  -72,    0,    0,    0, // maj = 4; i = 3
         0,    0,    0,   56,    0,  -88,    0,    0, // maj = 5; i = 4
         0,    0,    0,    0,   72,    0, -104,    0, // maj = 6; i = 5
         0,    0,    0,    0,    0,   88,    0, -120, // maj = 7; i = 6
        -8,    0,    0,    0,    0,    0,  104,    0  // maj = 8; i = 7
};
#define MCKEY2_SECTOR_COMPUTATION (32)
#define MCKEY2_POSITION_CORRECTION (0)
#endif
#endif

#if MCKEY2_TYPE == 1 // Slider
#if MCKEY2_LAYOUT_TYPE == 0 // Interlaced electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -13,    0,  -81,    0,  132,    0,   64, // maj = 1; i = 0
         4,    0,  -21,    0, -107,    0,   90,    0, // maj = 2; i = 1
         0,   13,    0,  -30,    0, -132,    0,  115, // maj = 3; i = 2
        73,    0,   21,    0,  -38,    0,  -90,    0, // maj = 4; i = 3
         0,   98,    0,   30,    0,  -47,    0, -115, // maj = 5; i = 4
      -141,    0,  124,    0,   38,    0,  -55,    0, // maj = 6; i = 5
         0,  -98,    0,   81,    0,   47,    0,  -64, // maj = 7; i = 6
       -73,    0, -124,    0,  107,    0,   55,    0  // maj = 8; i = 7
};
#define MCKEY2_SECTOR_COMPUTATION (17)
#define MCKEY2_POSITION_CORRECTION (17)
#else // Normal electrodes
const s16 MCKEY2_TABLE_POSITION_OFFSET[CHANNEL_PER_MCKEY][CHANNEL_PER_MCKEY] =
{
// sec = 1     2     3     4     5     6     7     8 
//   j = 0     1     2     3     4     5     6     7
         0,  -32,    0,    0,    0,    0,    0,    0, // maj = 1; i = 0
        11,    0,  -53,    0,    0,    0,    0,    0, // maj = 2; i = 1
         0,   32,    0,  -75,    0,    0,    0,    0, // maj = 3; i = 2
         0,    0,   53,    0,  -96,    0,    0,    0, // maj = 4; i = 3
         0,    0,    0,   75,    0, -117,    0,    0, // maj = 5; i = 4
         0,    0,    0,    0,   96,    0, -139,    0, // maj = 6; i = 5
         0,    0,    0,    0,    0,  117,    0, -160, // maj = 7; i = 6
         0,    0,    0,    0,    0,    0,  139,    0  // maj = 8; i = 7
};
#define MCKEY2_SECTOR_COMPUTATION (43)
#define MCKEY2_POSITION_CORRECTION (43)
#endif
#endif

#endif // CHANNEL_PER_MCKEY == 8

#endif // MCKEY2

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//-----             LIBRARY PRIVATE GLOBALS                              -----
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/**
  ******************************************************************************
  * @brief Initialize all MCKey relative parameters and variables.
  * @par Parameters:
  * None
  * @retval void None
  * @par Required preconditions:
  * None
  ******************************************************************************
  */
void TSL_MCKey_Init(void)
{

  for ( KeyIndex = 0; KeyIndex < NUMBER_OF_MULTI_CHANNEL_KEYS; KeyIndex++ )
  {
    TSL_MCKey_SetStructPointer();
    pMCKeyStruct->State.whole = DISABLED_STATE;
    pMCKeyStruct->DetectThreshold = MCKEY_DETECTTHRESHOLD_DEFAULT;
    pMCKeyStruct->EndDetectThreshold = MCKEY_ENDDETECTTHRESHOLD_DEFAULT;
    pMCKeyStruct->RecalibrationThreshold = MCKEY_RECALIBRATIONTHRESHOLD_DEFAULT;
    pMCKeyStruct->Resolution = MCKEY_RESOLUTION_DEFAULT;
    pMCKeyStruct->DirectionChangeIntegrator = MCKEY_DIRECTION_CHANGE_INTEGRATOR_DEFAULT;
    pMCKeyStruct->DirectionChangeThreshold = MCKEY_DIRECTION_CHANGE_THRESHOLD_DEFAULT;
  }

  /* Set MC key type: Wheel or Slider */
  sMCKeyInfo[0].Setting.b.MCKEY_TYPE = MCKEY1_TYPE;
#if NUMBER_OF_MULTI_CHANNEL_KEYS > 1
  sMCKeyInfo[1].Setting.b.MCKEY_TYPE = MCKEY2_TYPE;
#endif

}


/**
  ******************************************************************************
  * @brief Select I/Os to burst and call IO driver for burst sequence.
  * @par Parameters:
  * None
  * @retval void None
  * @par Required preconditions:
  * None
  ******************************************************************************
  */
void TSL_MCKey1_Acquisition(void)
{

  KeyIndex = 0;
  TSL_MCKey_SetStructPointer();

  if ( !( (pMCKeyStruct->State.whole == ERROR_STATE) || (pMCKeyStruct->State.whole == DISABLED_STATE) ) )
  {
    for ( ChannelIndex = 0; ChannelIndex < CHANNEL_PER_MCKEY; ChannelIndex++ )
    {
      sTouchIO.PORT_ADDR = (GPIO_TypeDef *)(Table_MCKEY_PORTS[ChannelIndex]);
      sTouchIO.AcqMask = Table_MCKEY_BITS[ChannelIndex];
      sTouchIO.DriveMask = (u8)(sTouchIO.AcqMask | MCKEY1_DRIVEN_SHIELD_MASK);
      sTouchIO.Measurement = &sMCKeyInfo[0].Channel[ChannelIndex].LastMeas;
      sTouchIO.RejectedNb = &sMCKeyInfo[0].Channel[ChannelIndex].LastMeasRejectNb;
      sTouchIO.Type = MCKEY_TYPE;
      TSL_IO_Acquisition(MCKEY_ACQ_NUM, MCKEY_ADJUST_LEVEL);
    }
  }
  
}


#if NUMBER_OF_MULTI_CHANNEL_KEYS > 1
/**
  ******************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99深爱久久99精品| 日韩国产精品大片| 日韩一区中文字幕| 日韩精品电影在线| 欧美日韩大陆一区二区| 亚洲成人动漫精品| 国产精品久久一级| 国产精品国产三级国产a| 日韩精品专区在线影院重磅| 91精品国产91综合久久蜜臀| 在线播放/欧美激情| 欧美电影免费观看高清完整版在线| 欧美视频在线一区二区三区 | 在线观看一区二区视频| 日韩一区在线播放| 91在线porny国产在线看| 一区在线中文字幕| 欧美日韩日日摸| 日本欧美一区二区| 国产欧美一区视频| 一本大道综合伊人精品热热| 亚洲国产精品久久艾草纯爱| 777a∨成人精品桃花网| 国产九色sp调教91| 亚洲欧洲制服丝袜| 欧美一卡2卡3卡4卡| 国产精品中文字幕一区二区三区| 中文字幕中文乱码欧美一区二区| 欧美自拍丝袜亚洲| 国产一区二区成人久久免费影院 | 制服丝袜av成人在线看| 激情深爱一区二区| 免费精品视频在线| 亚洲国产精品成人综合 | av一区二区三区在线| 亚洲一区成人在线| 26uuu成人网一区二区三区| 91视频com| 国产在线国偷精品产拍免费yy| 综合av第一页| 精品免费国产二区三区 | 免费在线欧美视频| 亚洲欧洲国产日本综合| 日韩欧美一二三区| 在线影院国内精品| 国产99精品国产| 性久久久久久久久久久久| 一色屋精品亚洲香蕉网站| 精品国产露脸精彩对白| 欧美性大战久久久久久久| 国产91高潮流白浆在线麻豆| 日本不卡的三区四区五区| ...av二区三区久久精品| 精品国产91亚洲一区二区三区婷婷| 色综合久久久久久久久| 国产一区二区精品久久99| 日韩av不卡在线观看| 亚洲视频一区在线观看| 国产偷v国产偷v亚洲高清| 欧美一二三四区在线| 一本在线高清不卡dvd| 国产精品77777| 日本欧美在线看| 亚洲在线视频网站| 国产精品电影一区二区| 久久久99精品久久| 欧美不卡一区二区三区| 欧美精品1区2区| 欧美在线视频日韩| 一本久道久久综合中文字幕| www.66久久| 成人av资源下载| 懂色av中文一区二区三区| 国模无码大尺度一区二区三区| 日本人妖一区二区| 麻豆专区一区二区三区四区五区| 香蕉乱码成人久久天堂爱免费| 一区二区三区资源| 亚洲一区二区三区四区的| 一区二区三区中文字幕精品精品 | 欧美日韩另类国产亚洲欧美一级| 91丝袜国产在线播放| 99久久久久久99| 91免费精品国自产拍在线不卡| a在线欧美一区| 成人av在线一区二区| 白白色亚洲国产精品| 东方欧美亚洲色图在线| 国产精品1024| 99亚偷拍自图区亚洲| 99re热视频这里只精品| 色婷婷久久久久swag精品 | 蜜臀久久99精品久久久久久9| 日韩国产在线观看一区| 亚洲成av人影院| 日本伊人色综合网| 精品无人区卡一卡二卡三乱码免费卡| 久热成人在线视频| 国产成人鲁色资源国产91色综| 丁香天五香天堂综合| 91在线国内视频| 欧美久久一二三四区| 欧美va亚洲va香蕉在线| 中文字幕电影一区| 亚洲自拍偷拍九九九| 日韩avvvv在线播放| 精品一区二区久久久| www.色精品| 日韩一区二区三区在线观看| 久久久99久久精品欧美| 亚洲日本在线a| 日韩电影在线看| 成人av午夜影院| 欧美日韩aaa| 欧美激情一区二区三区不卡| 一区二区三区四区在线| 久久精品国产一区二区三区免费看| 国产不卡视频在线观看| 欧美三级在线播放| 国产色产综合色产在线视频| 亚洲狠狠丁香婷婷综合久久久| 免费在线一区观看| 粉嫩av一区二区三区| 91成人在线免费观看| 久久影视一区二区| 亚洲人精品午夜| 日本伊人午夜精品| 成人亚洲一区二区一| 91一区在线观看| 日韩一区二区电影网| 亚洲免费在线看| 激情欧美一区二区| 蜜臀a∨国产成人精品| 成人h动漫精品一区二区| 欧美午夜不卡在线观看免费| 国产亚洲短视频| 亚洲综合色网站| 国产一区二区三区在线观看免费视频| 成人福利在线看| 色网综合在线观看| 欧美mv和日韩mv的网站| 国产欧美日韩久久| 日日夜夜免费精品视频| 国产成a人亚洲精品| 91精品免费观看| 国产精品久久久久久久午夜片 | 欧美性videosxxxxx| 久久精品免视看| 午夜精品成人在线| 成人av在线网| 欧美日韩中文字幕一区| 欧美经典三级视频一区二区三区| 亚洲国产综合在线| 成人激情动漫在线观看| 555夜色666亚洲国产免| 亚洲免费伊人电影| 国产成人综合网站| 7777精品久久久大香线蕉| 综合电影一区二区三区| 日本欧美一区二区三区| 欧美久久久一区| 一区二区三国产精华液| 色婷婷综合久色| 国产亚洲短视频| 成人免费毛片嘿嘿连载视频| 欧美日本视频在线| 国产精品拍天天在线| 国产高清亚洲一区| 日韩精品在线网站| 亚洲国产色一区| 91香蕉国产在线观看软件| 自拍偷自拍亚洲精品播放| 成人激情开心网| 国产精品日韩精品欧美在线| 韩国成人在线视频| 久久精品视频网| 精品一区二区三区久久久| 欧美一区二区三区四区五区| 亚洲影院在线观看| 欧美久久一区二区| 天堂av在线一区| 欧美日韩在线播放三区四区| 日韩美女视频一区二区 | 亚洲成人av一区二区三区| 99久久国产综合精品色伊| 一区二区三区在线免费播放| 在线亚洲欧美专区二区| 亚洲猫色日本管| 99免费精品视频| 一区二区三区在线观看欧美| 大白屁股一区二区视频| 中文字幕国产精品一区二区| 国产在线精品不卡| 国产精品卡一卡二| 91麻豆精品秘密| 亚洲韩国精品一区| 久久丝袜美腿综合| 国产a久久麻豆| 国产精品久久久久久久第一福利| 懂色av一区二区在线播放|