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

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

?? kpd_test_misc2.c

?? MMI層OBJ不能完全編譯
?? C
?? 第 1 頁 / 共 2 頁
字號:
/********************************************************************************/
/*                                                                              */
/*      File Name:   kpd_test_misc2.c                                            */
/*                                                                              */
/*      Purpose:   This file gathers miscellaneous tests fot KPD.               */
/*                                                                              */
/*      Notes:      None.                                                       */
/*                                                                              */
/*                                                                              */
/*   (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved  */
/*                                                                              */
/********************************************************************************/

/********************************************************************************/
/*                                                                              */
/*   Include files used for KPD testing.                                        */
/*                                                                              */
/********************************************************************************/

#include "tests/rv/rv_test_filter.h"

#if (KPD_MISC == SW_COMPILED)

#include "kpd/kpd_api.h"
#include "tests/rv/rv_test_misc.h"
#include "kpd_test.h"
#include "r2d/lcd_messages_ti.h"
#include "r2d/lcd_messages.h"
#include "r2d/r2d.h"
#include "kpd/kpd_messages_i.h"
#include "kpd/kpd_env.h"
#include "rvm/rvm_use_id_list.h"
#include "kpd_test_misc.h"

#include <stdio.h>


#define KPD_TEST_MBOX_0 0
#define KPD_TEST_MBOX_1 256
#define KPD_TEST_MBOX_2 512
#define KPD_TEST_MBOX_3 1024

//Can be removed when the pwr is operational
#define EXIT_KEY    KPD_KEY_SOFT_LEFT
//#define EXIT_KEY    KPD_KEY_DISCONNECT

extern T_KPD_ENV_CTRL_BLK* kpd_env_ctrl_blk;

static void display_message(T_KPD_KEY_EVENT_MSG* msg_key_event_p, UINT8 i)
{
   char         texte[20];
   static UINT8 val = 1;

   sprintf(texte,"Key %s event   ",msg_key_event_p->key_info.ascii_value_p);
   LCD_WriteString (1, 0, texte, NORMAL);

   if (msg_key_event_p->key_info.press_state == KPD_FIRST_PRESS)
      LCD_WriteString(i,0,"First press    ", NORMAL);
   if (msg_key_event_p->key_info.press_state == KPD_LONG_PRESS)
      LCD_WriteString(i,0,"Long press     ", NORMAL);
   if (msg_key_event_p->key_info.press_state == KPD_REPEAT_PRESS)
   {
      sprintf(texte,"Repeat press %d ",val++);
      LCD_WriteString(i,0,texte, NORMAL);
      if (val == 4) val = 1;
   }

   if (msg_key_event_p->key_info.state == KPD_KEY_RELEASED)
      LCD_WriteString(i,0,"Released       ", NORMAL);
}



#if ((CHIPSET == 12) || (CHIPSET == 15))
/********************************************************************************/
/*                                                                              */
/*      Function Name:   kpd_test_misc_201                                      */
/*                                                                              */
/*      Notes:         This function executes KPD misc tests.                   */
/*                                                                              */
/*                                                                              */
/********************************************************************************/
T_RV_MISC_RET kpd_test_misc_201(void)
{
   T_RV_MISC_RET  test_verdict   = TEST_PASSED;
   UINT16         received_event;
   T_RV_HDR*      msg_p;
   BOOL           exit = FALSE;

   T_RVF_MB_STATUS mb_status;
   T_KPD_GENERIC_INTERRUPT_MSG* msg_interrupt;

   T_KPD_SUBSCRIBER subscriber_id0;
   T_KPD_VIRTUAL_KEY_TABLE notified_keys;
   T_RV_RETURN kpd_return_path;


   /* Test definition */
   kpd_test_trace("*** KPD TEST MISC201: Generate a MISS EVENT interrupt");
   kpd_test_trace("*** KPD TEST MISC201: Press * to generate interrupt");

   /* Keypad registration */
   kpd_return_path.addr_id = kpd_test_path.addr_id + KPD_TEST_MBOX_0;
   kpd_return_path.callback_func = 0;
   notified_keys.nb_notified_keys = KPD_NB_PHYSICAL_KEYS;
   kpd_subscribe (&subscriber_id0,
                  KPD_DEFAULT_MODE,
                  &notified_keys,
                  kpd_return_path);

   kpd_define_key_notification(subscriber_id0, &notified_keys, KPD_FIRST_PRESS_NOTIF|KPD_RELEASE_NOTIF, 0, 0);

   kpd_register_for_miss_event(subscriber_id0, KPD_MISS_EVENT_ON);

   /* loop to process messages */
   while (!exit)
   {
      /* Wait for the necessary events (infinite wait for a msg in the mailbox 0). */
      received_event = rvf_wait(RVF_TASK_MBOX_0_EVT_MASK,0);

      if (received_event & RVF_TASK_MBOX_0_EVT_MASK)
      {
         /* Read the message */
         msg_p = (T_RV_HDR *) rvf_read_mbox(0);

         if (msg_p->dest_addr_id == (kpd_test_path.addr_id + KPD_TEST_MBOX_0))
         {
            switch (msg_p->msg_id)
            {
               case KPD_KEY_EVENT_MSG:
                  {
                  T_KPD_KEY_EVENT_MSG* msg_key_event_p = (T_KPD_KEY_EVENT_MSG*) msg_p;
                  display_message(msg_key_event_p, 2);

                  if (msg_key_event_p->key_info.virtual_key_id == EXIT_KEY)
                  {
                     kpd_unsubscribe(&subscriber_id0);
                     exit = TRUE;
                  }
                  if (msg_key_event_p->key_info.virtual_key_id == KPD_KEY_STAR)
                  {
                    /* Activate miss_event */
                    mb_status = rvf_get_buf (kpd_env_ctrl_blk->prim_id, sizeof(T_KPD_GENERIC_INTERRUPT_MSG), (void **) &msg_interrupt);
    
                    if (mb_status != RVF_RED) /* Memory allocation success */
                    {
                      msg_interrupt->hdr.msg_id = KPD_MISS_EVENT_INTERRUPT_MSG;
 
                      /* Send message to the keypad task */
                      rvf_send_msg(kpd_env_ctrl_blk->addr_id, msg_interrupt);
                    }
                    else
                    {
                      KPD_SEND_TRACE("KPD: Not enough memory to send interrupt message", RV_TRACE_LEVEL_ERROR);
                    }
                  }
                  break;
                  }

               case KPD_STATUS_MSG:
                  kpd_test_trace("Received status message in mailbox 0");
                  break;

               case KPD_KEYPAD_MISS_EVENT_MSG:
                  kpd_test_trace("Received Miss Event Message");
                  break;

               default :
                  break;

            }
            rvf_free_buf(msg_p);
         }
      }
   }
   return test_verdict;
}

/********************************************************************************/
/*                                                                              */
/*      Function Name:   kpd_test_misc_202                                      */
/*                                                                              */
/*      Notes:         This function executes KPD misc tests.                   */
/*                                                                              */
/*                                                                              */
/********************************************************************************/
T_RV_MISC_RET kpd_test_misc_202(void)
{
   T_RV_MISC_RET  test_verdict   = TEST_PASSED;
   UINT16         received_event;
   T_RV_HDR*      msg_p;
   BOOL           exit = FALSE;

   T_KPD_SUBSCRIBER subscriber_id0;
   T_KPD_VIRTUAL_KEY_TABLE notified_keys;
   T_RV_RETURN kpd_return_path;


   /* Test definition */
   kpd_test_trace("*** KPD TEST MISC202: Register for key jam");
   kpd_test_trace("*** KPD TEST MISC202: Press a key more than 60 sec to generate interrupt");

   /* Keypad registration */
   kpd_return_path.addr_id = kpd_test_path.addr_id + KPD_TEST_MBOX_0;
   kpd_return_path.callback_func = 0;
   notified_keys.nb_notified_keys = KPD_NB_PHYSICAL_KEYS;
   kpd_subscribe (&subscriber_id0,
                  KPD_DEFAULT_MODE,
                  &notified_keys,
                  kpd_return_path);

   kpd_define_key_notification(subscriber_id0, &notified_keys, KPD_FIRST_PRESS_NOTIF|KPD_RELEASE_NOTIF, 0, 0);

   kpd_register_for_keypad_timeout(subscriber_id0, KPD_TIMEOUT_KEY_JAM,60000);

   /* loop to process messages */
   while (!exit)
   {
      /* Wait for the necessary events (infinite wait for a msg in the mailbox 0). */
      received_event = rvf_wait(RVF_TASK_MBOX_0_EVT_MASK,0);

      if (received_event & RVF_TASK_MBOX_0_EVT_MASK)
      {
         /* Read the message */
         msg_p = (T_RV_HDR *) rvf_read_mbox(0);

         if (msg_p->dest_addr_id == (kpd_test_path.addr_id + KPD_TEST_MBOX_0))
         {
            switch (msg_p->msg_id)
            {
               case KPD_KEY_EVENT_MSG:
                  {
                    T_KPD_KEY_EVENT_MSG* msg_key_event_p = (T_KPD_KEY_EVENT_MSG*) msg_p;
                    display_message(msg_key_event_p, 2);

                    if (msg_key_event_p->key_info.virtual_key_id == EXIT_KEY)
                    {
                       kpd_unsubscribe(&subscriber_id0);
                       exit = TRUE;
                    }
                    break;
                  }

               case KPD_STATUS_MSG:
                  kpd_test_trace("Received status message in mailbox 0");
                  break;

               case KPD_KEYPAD_TIMEOUT_MSG:
                  kpd_test_trace("Received Time out Message");
                  break;

               default :
                  break;

            }
            rvf_free_buf(msg_p);
         }
      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区欧美日韩| 亚洲精品视频在线观看网站| 久久爱另类一区二区小说| 2023国产精品| 欧美一区二区三区不卡| 处破女av一区二区| 国产成人免费视频一区| 国产日韩精品一区二区浪潮av| 欧美日韩一区二区三区在线 | wwwwww.欧美系列| 亚洲视频资源在线| 日韩不卡免费视频| 国产福利一区二区三区视频| 91精品国产91热久久久做人人| 亚洲国产精品v| 图片区小说区国产精品视频| 久久久精品日韩欧美| 日本欧美大码aⅴ在线播放| 国产精品一区二区在线观看网站| 91精品久久久久久久99蜜桃| 中文字幕第一区二区| 亚洲午夜激情网页| 9i在线看片成人免费| 日韩一区二区中文字幕| 一区二区三区四区激情| 青青草一区二区三区| 日韩精品一区二区三区在线观看| 裸体一区二区三区| 国产精品美女久久久久高潮| 欧美午夜精品一区二区蜜桃| 国产精品第五页| 91天堂素人约啪| 亚洲视频你懂的| 久久综合资源网| 视频一区二区三区入口| 在线观看视频欧美| 亚洲 欧美综合在线网络| 日本乱码高清不卡字幕| 亚洲你懂的在线视频| 色婷婷综合中文久久一本| 一区二区三国产精华液| 欧美日韩亚洲综合一区 | 亚洲一区二区三区在线播放| 色国产精品一区在线观看| 亚洲成精国产精品女| 欧美精品一卡二卡| 久久电影国产免费久久电影 | 日本成人中文字幕| 国产日韩一级二级三级| 色综合天天视频在线观看 | 欧美精品一区二区在线播放| 久久精品一区蜜桃臀影院| 成人精品视频网站| 日欧美一区二区| 国产精品系列在线| 欧美日韩一区不卡| 国产精品一区专区| 欧美精品乱码久久久久久按摩| 男女男精品网站| 亚洲欧美电影一区二区| 日韩一区二区三区精品视频| 经典三级视频一区| 中文字幕字幕中文在线中不卡视频| 在线看国产一区二区| 国产乱淫av一区二区三区| 亚洲一区二区视频在线观看| 国产精品色哟哟| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲制服丝袜在线| 国产精品久线观看视频| 久久久久久久久伊人| 日韩亚洲电影在线| 久久婷婷国产综合精品青草| 日日夜夜精品免费视频| 中文字幕佐山爱一区二区免费| 日韩一区二区不卡| 日韩欧美在线综合网| 欧美日本精品一区二区三区| 日本伦理一区二区| 欧洲av一区二区嗯嗯嗯啊| 一区二区在线看| 国产精品二三区| 一区二区三区资源| 亚洲3atv精品一区二区三区| 亚洲情趣在线观看| 亚洲成人动漫一区| 亚洲综合一二三区| 欧美一区在线视频| 欧美放荡的少妇| 久久久不卡网国产精品二区| 久久久久97国产精华液好用吗| 国产丝袜美腿一区二区三区| 国产精品免费久久久久| 夜夜嗨av一区二区三区网页 | 亚洲一区中文在线| 亚洲在线视频免费观看| 日韩专区欧美专区| 国产麻豆精品在线| 亚洲激情男女视频| 美女视频一区在线观看| 国产精品综合在线视频| 色综合一区二区| 久久久久久9999| 日本美女一区二区三区| 99精品热视频| 国产一区二区三区免费| 97se亚洲国产综合自在线| 欧美色手机在线观看| 久久久久久久久久电影| 奇米精品一区二区三区四区 | 亚洲天堂成人在线观看| 免费亚洲电影在线| 日韩免费高清视频| 欧美精品黑人性xxxx| 国产人成一区二区三区影院| 一区二区在线电影| 岛国av在线一区| 国产亚洲午夜高清国产拍精品| 亚洲国产美女搞黄色| 91麻豆国产香蕉久久精品| 国产精品久久久久天堂| 捆绑调教一区二区三区| 精品视频一区二区三区免费| 日本一区免费视频| 成人免费视频一区二区| 中文字幕欧美三区| 成人性生交大片免费看在线播放| 日韩女同互慰一区二区| 狂野欧美性猛交blacked| 精品久久久久久综合日本欧美| 蜜桃视频在线观看一区| 在线观看91av| 激情六月婷婷综合| 中文字幕乱码日本亚洲一区二区| 26uuu久久天堂性欧美| 成人黄色网址在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲成人精品一区| 日韩一本二本av| 寂寞少妇一区二区三区| 亚洲一区二区偷拍精品| 亚洲国产岛国毛片在线| www.亚洲色图.com| 午夜精品国产更新| 精品国产乱码91久久久久久网站| 国产日韩欧美麻豆| 日本高清视频一区二区| 久久精品国产在热久久| 欧美国产国产综合| 91精品国产日韩91久久久久久| 国产凹凸在线观看一区二区| 中文字幕成人在线观看| 欧美一区二区视频观看视频| 国v精品久久久网| 免费三级欧美电影| 亚洲黄色小视频| 国产欧美一区二区三区在线老狼| 欧美色图在线观看| 99精品在线免费| 久久久午夜精品理论片中文字幕| 懂色av噜噜一区二区三区av| 久久99精品久久久| 日韩精品91亚洲二区在线观看| 中文字幕一区av| 欧美国产精品中文字幕| 欧美成人精品福利| 欧美一二三区精品| 欧美四级电影在线观看| 不卡视频一二三| 在线成人av影院| 在线看国产一区| 国产精品久久久久久亚洲伦| 日韩欧美在线综合网| 欧美成人aa大片| 欧美成人欧美edvon| 欧美电影免费观看高清完整版在线 | 7777精品伊人久久久大香线蕉完整版 | 欧美va亚洲va国产综合| 欧美成人一区二区三区片免费| 日韩高清一区在线| 97精品电影院| 色欧美日韩亚洲| 欧美日韩大陆在线| 欧美不卡在线视频| www欧美成人18+| 亚洲黄一区二区三区| 日韩高清一区在线| 国产传媒欧美日韩成人| 成人黄色软件下载| 在线成人av网站| 国产亚洲婷婷免费| 日韩高清欧美激情| 懂色av一区二区三区蜜臀| 欧美人xxxx| 中文av一区二区| 精品一区二区三区免费毛片爱| 99热这里都是精品| wwwwww.欧美系列| 婷婷综合另类小说色区| 成人免费黄色在线|