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

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

?? 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
/**
  ******************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美群妇大交群的观看方式| 色综合久久99| 日本少妇一区二区| 天天影视色香欲综合网老头| 亚洲一区二区三区爽爽爽爽爽| 亚洲色大成网站www久久九九| 中文字幕精品在线不卡| 精品国产露脸精彩对白| 精品国产a毛片| 欧美国产日韩一二三区| 国产精品久久二区二区| 亚洲人成网站影音先锋播放| 亚洲男女毛片无遮挡| 亚洲伊人伊色伊影伊综合网| 亚洲在线视频一区| 免费成人在线视频观看| 美腿丝袜亚洲三区| 国产成人在线视频网址| 岛国一区二区在线观看| 99久久综合色| 欧美日韩国产片| 精品日韩在线一区| 久久无码av三级| 亚洲三级在线观看| 调教+趴+乳夹+国产+精品| 久久9热精品视频| 91久久精品一区二区二区| 欧美在线观看禁18| 精品国产第一区二区三区观看体验| 久久综合色8888| 亚洲男人天堂av网| 国产综合色产在线精品| 成人黄色网址在线观看| 精品视频一区三区九区| 精品久久久久久最新网址| 国产精品国产三级国产| 五月天丁香久久| 91香蕉视频黄| 欧美精品一区二区高清在线观看| 中文字幕亚洲综合久久菠萝蜜| 亚洲一区二区不卡免费| 国产综合一区二区| 欧美人体做爰大胆视频| 国产欧美久久久精品影院| 亚洲国产中文字幕在线视频综合| 国产一区二区三区日韩 | 欧美成人性战久久| 亚洲日本一区二区| 国产乱码字幕精品高清av| 91成人免费在线视频| 国产亚洲欧美色| 男女视频一区二区| 欧美日本一区二区| 一区二区三区日本| 成人福利电影精品一区二区在线观看| 欧美精品久久一区二区三区| 国产精品久久久久久久久快鸭| 黄色精品一二区| 91精品国产免费| 天堂影院一区二区| 色综合久久综合| 亚洲欧洲另类国产综合| 国产一区二区美女诱惑| 欧美一区二区三区在线观看视频| 亚洲国产精品视频| 欧美日韩一二三区| 亚洲一区电影777| 欧美三片在线视频观看 | 亚洲尤物视频在线| 日本电影欧美片| 亚洲精品乱码久久久久久| 国产成人三级在线观看| 久久久国产精品麻豆| 经典三级在线一区| 久久久久久久一区| 国产一区二区三区美女| 欧美成人伊人久久综合网| 免播放器亚洲一区| 久久久久国产精品免费免费搜索| 国产在线播精品第三| 精品久久久久香蕉网| 韩日精品视频一区| 国产女人18毛片水真多成人如厕 | 欧美图片一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 一本到高清视频免费精品| 亚洲美女一区二区三区| 欧美午夜精品久久久| 日韩二区三区在线观看| 日韩精品一区二区在线| 国产黑丝在线一区二区三区| 国产日韩欧美一区二区三区综合| av资源网一区| 一区二区三区成人在线视频| 欧美久久久一区| 国产一区二区三区最好精华液| 欧美国产在线观看| 色噜噜偷拍精品综合在线| 五月婷婷欧美视频| 久久久91精品国产一区二区精品| heyzo一本久久综合| 亚洲成av人片| 欧美激情一区二区三区全黄| 日本福利一区二区| 国产主播一区二区三区| 国产精品国产三级国产普通话三级| 在线精品国精品国产尤物884a| 91麻豆国产福利在线观看| 亚洲精品视频自拍| 精品91自产拍在线观看一区| 北岛玲一区二区三区四区| 性做久久久久久免费观看欧美| 久久久久一区二区三区四区| 91麻豆福利精品推荐| 久久激情综合网| 一区二区三区日本| 欧美极品美女视频| 69久久99精品久久久久婷婷| 国产精品一二一区| 免费成人深夜小野草| 亚洲视频一区在线| 精品国产污污免费网站入口 | 亚洲高清不卡在线| 欧美极品少妇xxxxⅹ高跟鞋| 欧美日韩不卡在线| 色综合天天性综合| 国产精品99久久久久久似苏梦涵| 亚洲国产精品一区二区久久恐怖片| 欧美经典一区二区三区| 69av一区二区三区| 在线观看日产精品| 成人av电影在线播放| 九九精品视频在线看| 亚洲高清在线精品| 日韩码欧中文字| 国产欧美一区二区精品婷婷| 91精品国产综合久久久久| 在线亚洲+欧美+日本专区| 国产高清在线精品| 国产在线观看一区二区| 免费视频一区二区| 日韩国产高清影视| 五月激情六月综合| 亚洲一区二区中文在线| 成人欧美一区二区三区白人 | 午夜免费欧美电影| 一区二区三区精密机械公司| 中文字幕av一区二区三区高| 久久久九九九九| 久久色.com| 国产欧美日韩精品一区| 欧美精品一区二区三区久久久| 日韩三级免费观看| 日韩三级免费观看| 日韩久久久久久| 久久这里只有精品视频网| 日韩午夜av电影| 久久奇米777| 国产精品视频九色porn| 欧美激情一区二区三区在线| 欧美国产欧美亚州国产日韩mv天天看完整| 久久精品水蜜桃av综合天堂| www国产精品av| 综合久久国产九一剧情麻豆| 亚洲少妇中出一区| 午夜视频一区在线观看| 奇米精品一区二区三区在线观看| 免费国产亚洲视频| 国产精品自拍在线| 91网址在线看| 7777精品伊人久久久大香线蕉完整版 | 亚洲国产日韩a在线播放| 一区二区三区毛片| 日本中文字幕一区二区视频 | 欧美一区二区黄| 精品第一国产综合精品aⅴ| 亚洲精品一区二区三区蜜桃下载| 久久亚洲欧美国产精品乐播 | 色吊一区二区三区| 欧美精品久久天天躁| 日韩三级精品电影久久久| 国产亚洲一区字幕| 一区二区高清视频在线观看| 日韩福利视频网| 成人污污视频在线观看| 国产精品久久久久永久免费观看| 亚洲一区二区影院| 国产一区在线视频| 欧美一级二级三级蜜桃| 欧美吞精做爰啪啪高潮| 精品国产伦理网| 亚洲激情综合网| 另类综合日韩欧美亚洲| 99在线精品观看| 日韩欧美三级在线| 亚洲在线视频一区| 成人性生交大片免费看中文 | 色综合久久久久网| 精品国产制服丝袜高跟| 亚洲视频一区二区在线|