157 lines
4.8 KiB
C
157 lines
4.8 KiB
C
|
/*****************************************************************************
|
||
|
** Filename : key_app.h
|
||
|
** Project :
|
||
|
** Module :
|
||
|
** Processor :
|
||
|
** Date/Time :
|
||
|
** Abstract :
|
||
|
** Contents :
|
||
|
** Author : mingyea
|
||
|
** http :
|
||
|
** mail :
|
||
|
** --------------------------------------------------------------------------
|
||
|
**
|
||
|
** --------------------------------------------------------------------------
|
||
|
******************************************************************************/
|
||
|
|
||
|
#ifndef _KEY_APP_H_
|
||
|
#define _KEY_APP_H_
|
||
|
/*****************************************************************************
|
||
|
* Include Files
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#include "common_types.h"
|
||
|
#include "key_adc_mid.h"
|
||
|
#include "key_digital_driver.h"
|
||
|
#include "key_encoder_driver.h"
|
||
|
|
||
|
typedef u16 key_app_tim_t;
|
||
|
|
||
|
#define KEY_APP_MEDIUM_TYPE_TOTAL 3u
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
KEY_APP_SW_STATE_INACTIVE=0U,
|
||
|
KEY_APP_SW_STATE_ACTIVE=1U,
|
||
|
KEY_APP_SW_STATE_ERROR=2U,
|
||
|
KEY_APP_SW_STATE_FAULT=3U
|
||
|
}key_app_sw_state_e;
|
||
|
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
KEY_APP_INPUT_NULL=0U, //没有按下
|
||
|
KEY_APP_INPUT_VALID, //按下
|
||
|
KEY_APP_INPUT_STUCK, //卡滞
|
||
|
KEY_APP_INPUT_FAULT //
|
||
|
}key_app_input_s;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
ACC_ERROR=0u,
|
||
|
ACC_NO_ERROR
|
||
|
}key_app_acc_dig;
|
||
|
/*****************************************************************************
|
||
|
* Defines
|
||
|
*****************************************************************************/
|
||
|
|
||
|
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_PLUS_ID 0u //音量加,逻辑排序
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_SUB_ID 1u //音量减,逻辑排序
|
||
|
#define KEY_MAPP_MULTI_MEDIA_VOL_VEDIO_ID 2u //影像,全景,逻辑排序
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_LMENU_ID 3u //左菜单
|
||
|
#define KEY_APP_MULTI_MEDIA_CUSTOM_ID 4u //定制按键
|
||
|
#define KEY_APP_MULTI_MEDIA_PREV_ID 5u //向上搜台 逻辑排序
|
||
|
#define KEY_APP_MULTI_MEDIA_NEXT_ID 6u //向下搜台 逻辑排序
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_VOICE_ID 7u //语音,逻辑排序--数字按键
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_CALL_ID 8u //接电话,逻辑排序
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_RMENU_ID 9u //右菜单,逻辑排序
|
||
|
#define KEY_APP_MULTI_MEDIA_VOL_MUTE_ID 10u //静音,逻辑排序--数字按键
|
||
|
|
||
|
|
||
|
|
||
|
#define NUM_OF_MULTI_MEDIA_KEY 11u
|
||
|
#define KEY_APP_MULTI_MEDIA_ID_START KEY_MAPP_MULTI_MEDIA_VOL_VEDIO_ID //除了滚轮以外的mid adc id 实际通道
|
||
|
|
||
|
#define KEY_DCM_SHOW_UP 0u //2F服务室内展车模式开启
|
||
|
#define KEY_DCM_SHOW_IN 1u //2F服务室内展车模式开启
|
||
|
#define KEY_DCM_SHOW_OUT 2u //2F服务室外展车模式开启
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
KEY_APP_MEDIUM_STATE_NORMAL =0u,
|
||
|
KEY_APP_MEDIUM_STATE_PROSLEEP ,
|
||
|
}key_app_medium_state_e;
|
||
|
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
KEY_APP_SUBSTATE_NORMAL =0u, //用於normal
|
||
|
KEY_APP_SUBSTATE_PRESLEEP, //用於normal
|
||
|
KEY_APP_SUBSTATE_SLEEP ,//= KEY_APP_SUBSTATE_NORMAL, //用於sleep
|
||
|
KEY_APP_SUBSTATE_PREWAKE,// = KEY_APP_SUBSTATE_PRESLEEP, //用於sleep
|
||
|
}key_app_sub_state_e;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
KEY_APP_STATE_NORMAL =0u,
|
||
|
KEY_APP_STATE_SLEEP
|
||
|
}key_app_state_e;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
key_app_medium_state_e state;
|
||
|
key_app_tim_t timecount;
|
||
|
}key_app_medium_s;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
key_app_state_e state;
|
||
|
key_app_sub_state_e sub_state;
|
||
|
key_app_tim_t timecount;
|
||
|
#ifdef KEY_APP_ENABLE_SLEEP_FUNCTION
|
||
|
key_app_medium_s medium[KEY_APP_MEDIUM_TYPE_TOTAL];
|
||
|
#endif
|
||
|
}key_app_s;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*****************************************************************************
|
||
|
* Macros
|
||
|
*****************************************************************************/
|
||
|
|
||
|
/*****************************************************************************
|
||
|
* Type Defines
|
||
|
*****************************************************************************/
|
||
|
|
||
|
/*****************************************************************************
|
||
|
*Static Variable
|
||
|
*****************************************************************************/
|
||
|
|
||
|
/*****************************************************************************
|
||
|
*Global Variable
|
||
|
*****************************************************************************/
|
||
|
|
||
|
/*****************************************************************************
|
||
|
*Constant
|
||
|
*****************************************************************************/
|
||
|
|
||
|
/*****************************************************************************
|
||
|
*Function Prototype
|
||
|
*****************************************************************************/
|
||
|
void key_app_init(void);
|
||
|
void key_app_task(void);
|
||
|
void key_app_goto_sleep(void);
|
||
|
void key_app_goto_wake(void);
|
||
|
|
||
|
key_app_sw_state_e key_app_get_digi_state(u8 id);
|
||
|
key_app_sw_state_e key_app_get_adc_state(u8 id);
|
||
|
#endif /* end __KEY_H */
|
||
|
/*****************************************************************************
|
||
|
** End Of File
|
||
|
******************************************************************************/
|