📄 ppsm.h
字号:
/******************************************************************************
(c) Copyright Motorola Semiconductors Hong Kong Limited 1995-2000
ALL RIGHTS RESERVED
******************************************************************************
Project Name : Personal Portable System Manager, PPSM
Project No. : PDAPSM031
Title : PPSM header file
File Name : PPSM.H
Created On : 03/28/95
Modifications : 01/12/00 EC - Modified the pre-processor structure
for pixel depth (CE-006)
01/13/00 EC - Added parenthesis on the macro definition (CE-008)
02/02/00 EC - What used to be EZ only is now common
to VZ also (VZ-008)
Release : 02/29/00 PPSM v3.20
Description :
PPSM data structure definition and constant header file
This is the header file for PPSM applications
*****************************************************************************/
#ifndef PPSM_INCLUDED
#define PPSM_INCLUDED
#include "stddefs.h"
/* Basic constants */
#define TRUE 1
#define FALSE 0
#define ON 1
#define OFF 0
#define NIL 0xffff
#define PEN_UP_VALUE -999
#define MAX_TIMEOUT 1000
/*
* Interrupt Constant Message Type
*/
#define IRPT_ERROR 0xFFFF /* general error */
#define IRPT_NONE 0x0000 /* no activity */
#define IRPT_PEN 0x0001 /* pen message */
#define IRPT_ICON 0x0002 /* icon message */
#define IRPT_KEY 0x0003 /* soft keyboard */
#define IRPT_PAGER 0x0004 /* pager message, system doesn't use this, it can be used by users */
#define IRPT_RTC 0x0005 /* RTC message */
#define IRPT_TIMER 0x0006 /* timer message */
#define IRPT_INPUT 0x0007 /* input pad message */
#define IRPT_HWR 0x0008 /* hand writing recognition */
#define IRPT_INPUT_STATUS 0x0009 /* input status message */
#define IRPT_AUDIO 0x000A /* Audio status message */
#define IRPT_SPIM 0x0020 /* SPI master message */
#define IRPT_SPIS 0x0021 /* SPI Slave message */
#define IRPT_IRQ1 0x0022 /* IRQ1 message */
#define IRPT_IRQ2 0x0023 /* IRQ2 message */
#define IRPT_IRQ3 0x0024 /* IRQ3 message */
#define IRPT_IRQ6 0x0025 /* IRQ6 message */
#define IRPT_INT 0x0026 /* INT message */
#define IRPT_WDOG 0x0027 /* WatchDog message */
#define IRPT_PWM 0x0028 /* PWM message */
#define IRPT_UART 0x0029 /* UART data */
#define IRPT_USER 0x003F
/* (0x0100 - 0x200 reserved for VTech) */
/*
* Interrupt message types for pen
*/
#define PPSM_ICON_TOUCH 0x0001
#define PPSM_ICON_DRAG 0x0002
#define PPSM_ICON_PEN_UP 0x0003
#define PPSM_ICON_DRAG_UP 0x0004
#define PPSM_INPUT_TOUCH 0x0010
#define PPSM_INPUT_DRAG 0x0020
#define PPSM_INPUT_PEN_UP 0x0030
#define PPSM_INPUT_DRAG_UP 0x0040
/*
* Interrupt flags for external interrupt handlers
*/
#define IRPT_SPIM_FLAG 0x00000001 /* SPI master Flag */
#define IRPT_SPIS_FLAG 0x00000002 /* SPI Slave Flag */
#define IRPT_IRQ1_FLAG 0x00000004 /* IRQ1 Flag */
#define IRPT_IRQ2_FLAG 0x00000008 /* IRQ2 Flag */
#define IRPT_IRQ3_FLAG 0x00000010 /* IRQ3 Flag */
#define IRPT_IRQ6_FLAG 0x00000020 /* IRQ6 Flag */
#define IRPT_INT_FLAG 0x00000040 /* INT Flag */
#define IRPT_WDOG_FLAG 0x00000080 /* WatchDog Flag */
#define IRPT_PWM_FLAG 0x00000100 /* PWM Flag */
#define IRPT_UART_FLAG 0x00000200 /* Uart Flag */
#define IRPT_SAM0_FLAG 0x00000400 /* User Flag */
#define IRPT_SAM1_FLAG 0x00000800 /* User Flag */
#define IRPT_SAM2_FLAG 0x00001000 /* User Flag */
#define IRPT_SAM3_FLAG 0x00002000 /* User Flag */
#define IRPT_SAM4_FLAG 0x00004000 /* User Flag */
#define IRPT_SAM5_FLAG 0x00008000 /* User Flag */
#define IRPT_SAM6_FLAG 0x00010000 /* User Flag */
#define IRPT_SAM7_FLAG 0x00020000 /* User Flag */
#define IRPT_USER_FLAG 0x80000000 /* User Flag */
/* Active Area Constants */
#define ICON_AREA 0x0001
#define INPUT_AREA 0x0002
#define KEY_AREA 0x0004
#define HW_AREA 0x0008
#define STROKE_MODE 0x0004
#define CONTINUOUS_MODE 0x0008
#define CONFINED_MODE 0x0010
#define AREA_SUSPEND 0x0001
#define AREA_REENABLE 0x0000
/*
* For Task parameters
*/
#define PPSM_SCREEN_NOSCREEN 0x0000
#define PPSM_SCREEN_NEW 0x0001
/* Predefined icon Constants */
#define PPSM_ICON_8_UP 0x0001
#define PPSM_ICON_8_DOWN 0x0002
#define PPSM_ICON_8_LEFT 0x0003
#define PPSM_ICON_8_RIGHT 0x0004
#define PPSM_ICON_8_DONE 0x0005
#define PPSM_ICON_16_UP 0x1001
#define PPSM_ICON_16_DOWN 0x1002
#define PPSM_ICON_16_LEFT 0x1003
#define PPSM_ICON_16_RIGHT 0x1004
#define PPSM_ICON_16_DONE 0x1005
/* Data Base Constants */
#define DB_LAST 0x0000
#define DB_FIRST 0x0001
#define DB_HOME 0x0002
#define DB_OFFICE 0x0003
#define DB_ADDRESS 0x0004
#define DB_FAX 0x0005
#define DB_COMPANY 0x0006
#define DB_RESERVED_1 0x0007
/* running mode */
#define PPSM_NORMAL 0x0001
#define PPSM_SUSPENDED 0x0002
#define PPSM_STOPPED 0x0004
#define PPSM_SUB 0x0080
/* Echo Constants */
#define PPSM_ECHO_ON 1
#define PPSM_ECHO_OFF 0
/* Cursor Status */
#define PPSM_CURSOR_OFF 0
#define PPSM_CURSOR_ON 1
#define PPSM_CURSOR_REVERSED 2
#if defined(EZ328) || defined(VZ328) /*** VZ-008 ***/
#define PPSM_CURSOR_ON_WHITE 3
#endif
/* Power Management Constants */
#define PPSM_NO_DOZE 0xFFFF /* doze disabled */
#define PPSM_NO_SLEEP 0 /* zero - sleep disabled */
#define PPSM_MODE_INITIAL 0x0001 /* initialization mode */
#define PPSM_MODE_SYSTEM 0x0002 /* System mode */
#define PPSM_MODE_NORMAL 0x0004 /* Normal mode */
#define PPSM_MODE_DOZE 0x0008 /* Doze mode */
#define PPSM_MODE_SLEEP 0x0010 /* Sleep mode */
#define PPSM_MODE_WAKEUP 0x0020 /* Wakeup mode */
#define PPSM_FREQ_HALF 0x0000 /* VCO freq / 2 */
#define PPSM_FREQ_QUARD 0x0100 /* VCO freq / 4 */
#define PPSM_FREQ_8TH 0x0200 /* VCO freq / 8 */
#define PPSM_FREQ_16TH 0x0300 /* VCO freq / 16 */
#define PPSM_FREQ_FULL 0x0700 /* Full VCO freq */
#define PPSM_FREQ_MASK 0xF8FF /* System clock mask */
/* Sound Constants */
#define PPSM_LOW_BEEP 0x0001
#define PPSM_MED_BEEP 0x0002
#define PPSM_HIGH_BEEP 0x0003
/* Touch panel sampling rate */
#define LOW_SAMPLING_RATE 20 /* 20 mS - 50 samples per second */
#define MID_SAMPLING_RATE 10 /* 10 mS - 100 samples per second */
#define HIGH_SAMPLING_RATE 5 /* 5 mS - 200 samples per second */
#define MAX_SAMPLING_RATE 1000
#define DEFAULT_SAMPLING_RATE LOW_SAMPLING_RATE
/* Input Pad Constants */
#define INPUT_PAD_OPENED 0x1 /* bit mask for input pad's flag */
/* Text Constants */
/* Font Types */
#define NUM_FONT_TYPE 7
#define SMALL_NORMAL_FONT 0
#define SMALL_ITALIC_FONT 1
#define LARGE_NORMAL_FONT 2
#define LARGE_ITALIC_FONT 3
#define GB_NORMAL_FONT 4
#define CHINESE_NORMAL_FONT GB_NORMAL_FONT /* same as GB_NORMAL_FONT */
#define BIG5_NORMAL_FONT 5
#define BIG5_VARIABLE_FONT 6
#define CHAR_BUFFER ((16*20) >> 2) /*** MOD CE-008 ***/
/* Text and Graphics output styles */
#define NUM_OUTPUT_STYLE 5
#define REPLACE_STYLE 0
#define AND_STYLE 1
#define EXOR_STYLE 2
#define OR_STYLE 3
#define INVERSE_STYLE 4
/*
* Interrupt message types for audio tools
*/
#define AUDIO_WAVE_STOP 0x0001
#define AUDIO_TONE_STOP 0x0002
/* Text outlook structure for text display */
typedef struct
{
U16 outputStyle; /* text output style (e.g. REPLACE_STYLE) */
U16 greyLevel; /* text grey level (e.g. BLACK) */
} TXTOUTLOOK, *P_TXTOUTLOOK;
/* Text display structure to specify position and size of text template */
typedef struct
{
U16 x; /* x coordinate of origin of text display area */
U16 y; /* y coordinate of origin of text display area */
U16 width; /* Width of display area (in #chars) */
U16 height; /* Height of display area (in #chars) */
U16 cursor; /* Display cursor position (in chars) */
U16 numChar; /* Number of characters (width * height) */
} TXTDISPLAY, *P_TXTDISPLAY;
/* Font attributes structure for text display */
typedef struct
{
U16 type; /* font type */
U16 width; /* font width (in #pixels) */
U16 height; /* font height (in #pixels) */
U16 attrib; /* other font attributes (not available yet) */
P_U8 bitmap; /* pointer to a character bitmap image */
} FONTATTR, *P_FONTATTR;
/* Font Library Data Structure */
typedef struct
{
P_U8 baseAddr; /* Base address of font library */
U16 fontType; /* Font type supported */
U16 fontWidth; /* Font width supported */
U16 fontHeight; /* Font height supported */
U16 bitmapSize; /* Size of each character bitmap */
} FONTLIB, *P_FONTLIB;
/* Graphics */
#define OR_TYPE 1
#define AND_TYPE 1
#define BYTE_LENGTH 8
#if defined(PIXEL_4) /*** ADD NF-001 ***/
#define MAX_FILL_SPACE 3
#define MAX_GREY_LEVEL 15
#define PIXEL_WIDTH 4
#define PIXEL_MASK 0x7
#define GREY15 15
#define GREY14 14
#define GREY13 13
#define GREY12 12
#define GREY11 11
#define GREY10 10
#define GREY9 9
#define GREY8 8
#define GREY7 7
#define GREY6 6
#define GREY5 5
#define GREY4 4
#define GREY3 3
#define GREY2 2
#define GREY1 1
#define GREY0 0
#define WHITE 0
#define BLACK 15
#elif defined(PIXEL_2) /*** MOD CE-006 ***/
#define MAX_FILL_SPACE 4
#define MAX_GREY_LEVEL 3
#define PIXEL_WIDTH 2
#define PIXEL_MASK 0x3
#define BLACK 3
#define DARK_GREY 2
#define LIGHT_GREY 1
#define WHITE 0
#elif defined(PIXEL_1) /*** MOD CE-006 ***/
#define MAX_FILL_SPACE 5
#define MAX_GREY_LEVEL 1
#define PIXEL_WIDTH 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -