⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dc550_phonesm_active.h

📁 一款经典的数字电话设计资料
💻 H
字号:
/*****************************************************************************/
/*  CONFIDENTIAL                                                             */
/*  Sigpro Copyright 2003, All rights reserved                               */
/*****************************************************************************/
/*  CLIENT:  Telematrix                                                      */
/*  PROJECT: DC550 Digital Centrex Phone                                     */
/*  FILE:    dc550_phonesm_active.h                                          */
/*****************************************************************************/
/*  This is the header file for dc550_phonesm_active.c.                      */
/*****************************************************************************/

#ifndef __DC550_PHONESM_ACTIVE_HEADER__
#define __DC550_PHONESM_ACTIVE_HEADER__

#include  "dc550_local.h"
#include  "dc550_phonesm.h"


/******************************************************************************
 *  ENUMS AND CONSTANTS
 *****************************************************************************/
// Digit echoing states
typedef enum PHONESM_ACTIVE_ECHOSTATE {
  ECHOSTATE_OFF_P1,
  ECHOSTATE_OFF_P2,
  ECHOSTATE_OFF_IP,
  ECHOSTATE_PENDING1,
  ECHOSTATE_PENDING2,
  ECHOSTATE_INPROCESS
} PHONESM_ACTIVE_ECHOSTATE_E;

// Call timer states
typedef enum PHONESM_ACTIVE_TIMERSTATE {
  TIMERSTATE_OFF,
  TIMERSTATE_AWAITINGHANDSETON,
  TIMERSTATE_INVISIBLE,
  TIMERSTATE_ON
} PHONESM_ACTIVE_TIMERSTATE_E;

typedef enum PHONESM_ACTIVE_ONETOUCHSTATE {
  ONETOUCHSTATE_OFF,
  ONETOUCHSTATE_AWAITING_HANDSETON,
  ONETOUCHSTATE_SECONDSOFWAIT,
  ONETOUCHSTATE_DIALING_PIN
} PHONESM_ACTIVE_ONETOUCHSTATE_E;

// Pending timeouts
#define PHONESM_ACTIVE_ONHOOK_PENDING             9
#define PHONESM_ACTIVE_OFFHOOK_PENDING            9

// Predial timeouts
#define PHONESM_ACTIVE_PREDIAL_ONTIME             1
#define PHONESM_ACTIVE_PREDIAL_OFFTIME            1
#define PHONESM_ACTIVE_PAUSE_ONTIME               9

// Mute boolean extension
#define PHONESM_ACTIVE_MUTE_AUTO                  2
// PHONESM_ACTIVE_MUTE_AUTO does NOT refer to the automute feature.  Rather,
// it is used to indicate that mute has been turned on because of the buzzer

// Call Timer timeouts
#define PHONESM_ACTIVE_TIMER_SECOND              10
#define PHONESM_ACTIVE_TIMER_ONTIME              30
#define PHONESM_ACTIVE_TIMER_OFFTIME             30


/******************************************************************************
 *  FUNCTION PROTOTYPES
 *****************************************************************************/
// External functions
void phonesm_active_init(void);
void phonesm_active_state_enter(void);
BOOL phonesm_active_exec_hookswitch(BOOL updown);
BOOL phonesm_active_exec_keypress(unsigned int key, BOOL updown);
BOOL phonesm_active_exec_modemcommand(DC550MDCMessage command);
BOOL phonesm_active_exec_periodic(BOOL firstline, BOOL secondline);

// Internal utility functions
void phonesm_active_state_exit(void);
void phonesm_active_display_shiftleft(void);
void phonesm_active_display_echochar(char echochar);
void phonesm_active_predial_clear(void);
void phonesm_active_storenumber_clear(void);
void phonesm_active_storenumber_append(char digit);


#endif


#ifndef __DC550_PHONESM_ACTIVE_EXTERN__
#define __DC550_PHONESM_ACTIVE_EXTERN__

/******************************************************************************
 *  GLOBAL VARIABLES
 *****************************************************************************/
extern PHONESM_STATE_E phonesm_active_exitstate;


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -