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

📄 iodriver.h

📁 好记星的控件,包括button,list,对文件操作
💻 H
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD                   */
/*                                                                          */
/* FILE NAME:   IoDriver.h                                                  */
/* MODULE NAME: 硬件驱动管理                                                */
/* DESCRIPTION: 本文件主要定义内核驱动相关的宏和接口函数                    */
/*                                                                          */
/****************************************************************************/
/*    NAME         DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*   谢永良     2005-03-18      创建                                        */
/****************************************************************************/


#ifndef __IODRIVER_H__
#define __IODRIVER_H__

//#define	AD_SAMPLE_SHOW_EN		1

/* 定义标准I/O驱动名称 */
#define DRV_NAME_LCD            "LCD"           // LCD显示输出设备
#define DRV_NAME_KEYBOARD       "KEYBOARD"      // KEYBOARD键盘输入设备
#define DRV_NAME_NFLASH         "NFLASH"        // NandFlash存储设备
#define DRV_NAME_SDCARD         "SDCARD"        // SD Card
#define DRV_NAME_USB            "USB"           // USB传输设备
#define DRV_NAME_AUDIO          "AUDIO"         // AUDIO输入设备
#define DRV_NAME_ACM_G723       "ACM_G723"      // AUDIO输入设备
#define DRV_NAME_ACM_MP3        "ACM_MP3"       // AUDIO输入设备
#define DRV_NAME_ACM_WMA        "ACM_WMA"       // AUDIO输入设备
#define DRV_NAME_ACM_ADPCM      "ACM_ADPCM"     // AUDIO输入设备
#define DRV_NAME_POWERMNG	    "POWERMNG"      // 电源电压管理
#define DRV_NAME_DATETIME		"DATETIME"		//DATETIME日期时间设备
#define DRV_NAME_ALARM			"ALARM"			//ALRAM闹铃设备
#define DRV_NAME_BEEP			"BEEP"			//BEEP
#ifdef __ED928__
#define DRV_NAME_TOUCHPANEL     "TOUCHPANEL"    //手写板
#define DRV_NAME_EXTLCD         "EXTLCD"          //副屏
#endif


NU_DRIVER  *GetIODriverFromName( UINT8 *pDrvName ); // 根据驱动的名字得到驱动结构的指针
BOOL        IODriverInitialize(VOID);               // IO驱动初始化                                                */
//VOID        IoDrvSetVolume(UINT volume);            // 设置音量
UINT32	    G723SetFileHdr(UINT8 *pBuf, UINT32 dwDataLen);  //设置G723头结构
extern void PenEventProc(int nPenEvent, int nPenX, int nPenY); //驱动笔点事件的处理函数.

/* 驱动程序入口 */
void LcdDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void KeyDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
#ifdef _WIN32
void PowerDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
#else
VOID PMDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
#endif
void LedDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void AudioDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void AcmG723Driver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void AcmMp3Driver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void AcmWmaDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void AcmAdpcmDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void NFlashDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void USBDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void SDCardDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void DtTmDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void AlarmDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void BeepDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
#ifdef __ED928__
void PenDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
void ExtLcdDriver_Func(NU_DRIVER *driver, NU_DRIVER_REQUEST *request);
#endif
/****************************************************************************/
/********************* LCD显示输出设备驱动相关的定义与说明 ******************/
/*定义LCD初始化时的亮度*/
#ifdef _WIN32
#define LCD_INIT_BKLIGHT			7	// 4 is Old
#else
#include	"..\\..\\Driver\\C33Driver\\LCDInit.h"
#endif


#define LCD_IOCTL_ON                1   /* 打开LCD显示 */
#define LCD_IOCTL_OFF               2   /* 关闭LCD显示 */
#define LCD_IOCTL_BLON              3   /* 打开背光 */
#define LCD_IOCTL_BLOFF             4   /* 关闭背光 */
#define LCD_IOCTL_GETINFO           5   /* 得到LCD的显示区域大小 */
#define LCD_IOCTL_SETOPRAREA        6   /* 设置LCD的显示区域 */
#define LCD_IOCTL_CREATEBMPHEAD     7   /* 建立一个Bitmap信息头结构 */
#define LCD_IOCTL_GETRANGE          8   /* 得到对比度的最大最小值 */
#define LCD_IOCTL_GETCONTRAST       9   /* 得到对比度 */
#define LCD_IOCTL_SETCONTRAST       10  /* 设置到对比度 */
#define LCD_IOCTL_SETINDICATOR      11  /* 设置Indicator指示标志 */
#define LCD_IOCTL_CLRSCREEN      12  /* 清屏 */
#define LCD_IOCTL_CHGGRAYLVL 13  	/* 切换灰度等级*/
#define LCD_IOCTL_GETBKLIGHTRANGE   14  /* 得到背光亮度的最大最小值 */
#define LCD_IOCTL_GETBKLIGHT        15  /* 得到当前的背光亮度值 */
#define LCD_IOCTL_SETBKLIGHT        16  /* 设置当前的背光亮度值 */
#define LCD_IOCTL_GETCONTRASTRANGE  17

    #define LCD_SCREEN_WIDTH	    480
    #define LCD_SCREEN_HEIGHT	    (320)

#ifdef __ED928__
    #define EXTLCD_SCREEN_HEIGHT	64
    #define EXTLCD_SCREEN_UNDISP_HEIGHT	0	//由于规划与代码的不一致,小屏前加一端不显示区域
#else
    #define EXTLCD_SCREEN_HEIGHT	0
    #define EXTLCD_SCREEN_UNDISP_HEIGHT	0
#endif


#define DEFAULT_COLOR_LEVEL 1


/* 区域结构定义(专用于驱动中)(请注意此结构与GUI的坐标结构统一) */
typedef struct
{
    UINT16  x;
    UINT16  y;
    UINT16  width;
    UINT16  height;
} MDRV_RECT;

/* 位图结构定义(专用于驱动中) */
typedef struct
{
    UINT32  biSize;                     /*结构体长度*/
    UINT32  biWidth;                    /*位图宽度*/
    UINT32  biHeight;                   /*位图高度*/
    UINT16  biPlanes;                   /*层面数*/
    UINT16  biBitCount;                 /*每个点的颜色表示需要的位数,参见iBitCount说明*/
    UINT32  biCompression;              /*压缩参数*/
    UINT32  biSizeImage;                /*解压后的大小*/
    UINT32  biXPelsPerMeter;            /*水平分辨率 */
    UINT32  biYPelsPerMeter;            /*垂直分辨率 */
    UINT32  biClrUsed;                  /*使用的颜色数*/
    UINT32  biClrImportant;             /*重要的颜色*/
} MDRV_BITMAPINFOHEADER;

// 信息打印函数
/*#define     NU_Printf       HW_Printf
VOID        NU_Printf(char *fmt, ...);
VOID        HW_XYPrintf(UINT8 x, UINT8 y, char *fmt, ...);
*/
/****************************************************************************/
/****************************************************************************/

/****************************************************************************/
/******************* DateTime日期时间设备驱动的相关定义与说明 ***************/

/* 定义DateTime日期、时间状态事件 */
#define DTTM_IO_DATE            1   //仅得到或设置日期
#define DTTM_IO_TIME            2   //仅得到或设置时间
#define DTTM_IO_DATETIME        3   //得到或设置日期与时间

/* 时间日期的相关结构 */
typedef struct tagSYSTEM_DATETIME
{
    UINT16 wYear;
    UINT16 wMonth;
    UINT16 wDay;
    UINT16 wHour;
    UINT16 wMinute;
    UINT16 wSecond;
    UINT16 wMilliseconds;
} SYSTEM_DATETIME, *PSYSTEM_DATETIME;

/****************************************************************************/
/*********************** Alarm闹铃设备驱动的相关定义与说明 ******************/

//时间日期结构同上
#define ALARM_IOCTL_SETCALLBACK     1   /*设置响闹时间到时事件的回调函数*/
#define ALARM_IOCTL_DISABLE		2   /*停止响闹*/
#define ALARM_IOCTL_ENABLE			3   /*使能响闹*/

//定义回调函数类型
typedef void    (*FPALARMEV_CALLBACK)(void);

/****************************************************************************/
/********************* BEEP喇叭发声设备驱动的相关定义与说明 *****************/

/* 定义Beep喇叭响闹输出事件 */
#define BEEP_IOCTL_OUTONCE          1   /*以一定的频率和时间响闹一次*/
#define BEEP_IOCTL_STARTSEQUENCE    2   /*开始按照某频率响闹*/
#define BEEP_IOCTL_ENDSEQUENCE      3   /*结束按某频率的连续响闹*/

extern UINT8	g_bPrescaleUsed;		// 标识PRESCALE正在被使用

#define  PRECALS_NOT_USED			0
#define  PRECALS_USED				1

/****************************************************************************/

/****************************************************************************/
/********************** PEN笔输入设备驱动的相关定义与说明 *******************/
// pendrv.c

/* 定义Pen状态设置事件 */
#define PEN_IOCTL_SETCALLBACK       1   /*设置处理笔点事件的回调函数*/

/* 定义Pen事件宏 */
#define PEN_EVENT_DOWN              1   /* 笔按下 */
#define PEN_EVENT_MOVE              2   /* 笔移动 */
#define PEN_EVENT_UP                3   /* 笔抬起 */

//定义回调函数类型
typedef void    (*FPPENEV_CALLBACK)(int nPenEvent, int nPenX, int nPenY);
/* nPenEvent - 笔触事件(笔按下、或笔移动、或笔抬起) */
/* nPenX - 笔点的原始X坐标; */
/* nPenY - 笔点的原始Y坐标; */

void    PenOpenIRQ();           // enable
void    PenCloseIRQ();          // disable

/****************************************************************************/
// Init Ap and DiagSection
void BootInitDiagSection(void);
void BootInitApSection(void);

/****************************************************************************/
/****************** KEYBOARD键盘输入设备驱动的相关定义与说明 ****************/
BOOL    ScanSysDiagnosisKey(VOID);  // 扫描系统自检组合键的状态
BOOL    ScanOnOffKey(VOID);         // 扫描开关机键的状态

// 定义缺省的长按键间隔时长
#define KEY_LONGPRESS_TIMELEN   1000    // 1000ms, 即1秒钟
#ifdef WIN32
#define KEY_REPEAT_FIRST        500     // 按键首次重复的时间间隔, 即500毫秒
#define KEY_REPEAT_SEQUENCE     100     // 按键重发的时间间隔, 即100毫秒
#else
#define KEY_REPEAT_FIRST        500     // 按键首次重复的时间间隔, 即500毫秒
#define KEY_REPEAT_SEQUENCE     100     // 按键重发的时间间隔, 即100毫秒
#endif

#define KEY_STATUS_DOWN         1
#define KEY_STATUS_REPEAT       2
#define KEY_STATUS_LONGPRESS    3
#define KEY_STATUS_UP           4

UINT32  GetKeyEvent(VOID);              // 获取按键事件(高16位表示按键状态,低16位为键值)

/****************************************************************************/
/****************************************************************************/



/****************************************************************************/
/************************ USB传输设备驱动的相关定义与说明 *******************/
#define USB_IOCTL_CONNECT			1	/*连接USB设备*/
#define USB_IOCTL_DISCONNECT		2	/*断开USB设备*/
#define USB_IOCTL_CHECKSUSPEND      3   /*检查USB是否连接到主机*/

#define USB_INIT_BULK				0	/*以BULK方式初始化设备*/
#define USB_INIT_MASSSTORAGE		1	/*以MASS STORAGE方式初始化设备*/
/****************************************************************************/
/****************************************************************************/


⌨️ 快捷键说明

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