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

📄 global.h

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 H
字号:
#ifndef	__GLOBAL_H
#define	__GLOBAL_H

#include "bufloc.h"
#include "types.h"
#include "config.h"
#include "userinit.h"

typedef void		(*vfunc) ();
typedef int		(*ifunc) ();

enum {
    SYSTEM_INIT,
    SYSTEM_NAVIGATION,
    SYSTEM_LINEAR,
    SYSTEM_STOP,
#ifdef POWER_KEY
    SYSTEM_POWER,
#endif
};

EXTERN BYTE		system_state;
EXTERN vfunc		browser;

#define SetSystemState(s)	(system_state =  s)
#define CheckSystemState(s)	(system_state == s)

#define	ON			1
#define	OFF			0

#define	UISetState(c)		(play_state = (c))
#define	CheckUIState(c)		(play_state == (c))

enum {
    VCD_STATE_IDLE		= 0x00,
    VCD_STATE_READTOC		= 0x01,		/* reading TOC			*/
    VCD_STATE_OPEN		= 0x02,
    VCD_STATE_CLOSE		= 0x03,
    VCD_STATE_STOP		= 0x04,		/* DSA send CDROM stop command	*/
    VCD_STATE_FORWARD		= 0x05,		/* FF/FB			*/
    VCD_STATE_BACKWARD		= 0x06,
    VCD_STATE_FAST		= 0x07,		/* 2X CDROM speed		*/
    VCD_STATE_STEP		= 0x08,
    VCD_STATE_FREEZE		= 0x09,
    VCD_STATE_PAUSE		= 0x0a,		/* Pause Macro command		*/
    VCD_STATE_SLOW		= 0x0b,
    VCD_STATE_MP3_DIRLIST	= 0x0c,
    VCD_STATE_GAME		= 0x0d,
    VCD_STATE_NORMAL		= 0x0e,
#ifdef POWER_KEY
    VCD_STATE_POWER		= 0x0f,
    VCD_STATE_MAX		= 0x10
#else
    VCD_STATE_MAX		= 0x0f
#endif
};
EXTERN BYTE		play_state;

enum {
    MODE_NORMAL			= 0,
#ifdef POWER_KEY
    MODE_PREVIEW		= 2,
    MODE_9FRAME			= 3,
    MODE_INTRO			= 4,
    MODE_PLAYMP3		= 5,
#else
    MODE_PREVIEW		= 1,
    MODE_9FRAME			= 2,
    MODE_INTRO			= 3,
    MODE_PLAYMP3		= 4,
    MODE_INTREADY		= 5,
    MODE_RANREADY		= 6,
#endif
};
EXTERN BYTE		norm_mode;

#define	IsNMNorm()		(norm_mode == MODE_NORMAL)
#define	IsNMPreview()		(norm_mode == MODE_PREVIEW)
#define	IsNM9frame()		(norm_mode == MODE_9FRAME)
#define	IsNMIntro()		(norm_mode == MODE_INTRO)
#define	IsNMPlayMP3()		(norm_mode == MODE_PLAYMP3)

#define	UISetNMNorm()		(norm_mode = MODE_NORMAL)
#define	UISetNMPreview()	(norm_mode = MODE_PREVIEW)
#define	UISetNM9frame()		(norm_mode = MODE_9FRAME)
#define	UISetNMIntro()		(norm_mode = MODE_INTRO)
#define	UISetNMPlayMP3()	(norm_mode = MODE_PLAYMP3)

#define	UISetNormMode(c)	(norm_mode = (c))

enum {
    KEY_NORM			= (1 << 0),
    KEY_GOTO			= (1 << 1),
    KEY_PROG			= (1 << 2),
    KEY_RAND			= (1 << 3),
    KEY_3D			= (1 << 4),
    KEY_SETUP			= (1 << 5),
};
EXTERN BYTE		key_mode;

#define	IsKYNorm()		(key_mode & KEY_NORM)
#define	IsKYGoto()		(key_mode & KEY_GOTO)
#define	IsKYProg()		(key_mode & KEY_PROG)
#define	IsKYRand()		(key_mode & KEY_RAND)
#define	IsKY3D()		(key_mode & KEY_3D)
#define	IsKYSetup()		(key_mode & KEY_SETUP)

#define	UISetKYNorm()		(key_mode |= KEY_NORM)
#define	UISetKYGoto()		(key_mode |= KEY_GOTO)
#define	UISetKYProg()		(key_mode |= KEY_PROG)
#define	UISetKYRand()		(key_mode |= KEY_RAND)
#define	UISetKY3D()		(key_mode |= KEY_3D)
#define	UISetKYSetup()		(key_mode |= KEY_SETUP)

#define	ClrKYGoto()		(key_mode &= ~KEY_GOTO, ir_select_number = 0);
#define	ClrKYProg()		(key_mode &= ~KEY_PROG)
#define	ClrKYRand()		(key_mode &= ~KEY_RAND)
#define	ClrKY3D()		(key_mode &= ~KEY_3D)
#define	ClrKYSetup()		(key_mode &= ~KEY_SETUP)

#define	UISetKeyMode(c)		(key_mode = (c))

enum {
    GOTO_NONE			= 0,		/* No goto action */
    GOTO_PROCEED,				/* searching....  */
    GOTO_FINISH,				/* Has received DSA response */
};
EXTERN BYTE		goto_active;

enum {
    PROG_IDLE,
    STORE_PROGRAM,
    PLAY_PROGRAM
};
EXTERN BYTE		prog_state;

#define	UISetProgState(c)	(prog_state =  (c))
#define	CheckUIProgState(c)	(prog_state == (c))

#define	SHOW_PROG_NO		20
#define	MAX_LINE		0x05

#define	PAGE_CHG_RDY		(1 << 1)
#define	ARR_MOV_RDY		(1 << 2)
/*
#define	PAGE_CHG_END		(1 << 2)
#define	ARR_MOV_END		(1 << 3)
*/

#define ARR_WAIT_TIME		0x64

enum {
    CLEAR_ALL			= 0,
    GOTO,
    PROGRAM,
    SHUFFLE,
    REPEAT_ALL,
    REPEAT_AB,
    RESUME,
};

enum {
    REPEAT_IDLE			= 0,
    REPEAT_TRACK,
    REPEAT_DISC,
};
EXTERN BYTE		rep_mode;

#define	UISetRepMode(c)		(rep_mode =  (c))
#define	CheckUIRep(c)		(rep_mode == (c))

enum {
    REPEAT_AB_IDLE		= 0,
    REPEAT_FIND_A,
    REPEAT_FIND_B,

};
EXTERN BYTE		rep_ab_mode;

#define	UISetRepABMode(c)	(rep_ab_mode =  (c))
#define	CheckUIRepAB(c)		(rep_ab_mode == (c))

enum {
    FDFC_STOP			= (1 << 0),	// 礚璽弄璽佰

⌨️ 快捷键说明

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