📄 lcd.h
字号:
//name:lcd.h
//author:Liweihua
//date:2004.11.29
#define wr_cmd XBYTE[0x1000]
#define wr_dat XBYTE[0x1100]
#define rd_dat XBYTE[0x1100]
#define PSD_REG_ADDR 0x0200
enum
{
BLACK = 0x00, //0000
BLUE = 0x02, //0010
GREEN = 0x09, //0100
CYAN = 0x06, //0110
RED = 0xE0, //1001
MAGENTA = 0x0B, //1011
YELLOW = 0x0D, //1101
WHITE = 0x0F, //1111
BLACK_ADDRED = 0x01, //0001
BLUE_ADDRED = 0x03, //0011
GREEN_ADDRED = 0x05, //0101
CYAN_ADDRED = 0x07, //0111
RED_SUBRED = 0x08, //1000
MAGENTA_SUBRED = 0x0A, //1010
YELLOW_SUBRED = 0x0C, //1100
WHITE_SUBRED = 0x0E //1110
};
typedef struct
{
unsigned char* cc_dot;
unsigned char cc_sum;
unsigned char cc_x;
unsigned char cc_y;
}MENU_ITEM;
typedef struct
{
unsigned char menu_sum;
MENU_ITEM menu_item[6];
}WINDOW;
typedef struct
{
#define SCR_EVENT_DISPLAY_FINISHED 0
#define SCR_EVENT_INIT_INFO 1
#define SCR_EVENT_DISP_TIME 2
////////////////////////////////////////////////////
#define SCR_EVENT_MAIN_MENU 3
#define SCR_EVENT_MAINFUNC_NO_UP 4
#define SCR_EVENT_MAINFUNC_NO_DOWN 5
////////////////////////////////////////////////////
#define SCR_EVENT_SUBMENU_SAILOR_LOGIN 6
#define SCR_EVENT_DISP_SAILOR_ID 7
////////////////////////////////////////////////////
#define SCR_EVENT_NEXT_PAGE 8
#define SCR_EVENT_LAST_PAGE 43
#define SCR_EVENT_PRE_PAGE 9
#define SCR_EVENT_RESTORE_PAGE 10
#define SCR_EVENT_NEXT_MSG 11
#define SCR_EVENT_PRE_MSG 12
#define SCR_EVENT_HISTORY_MSG 13
#define SCR_EVENT_NO_RECODE 14
////////////////////////////////////////////////////
#define SCR_EVENT_DIALING_OUT 15
#define SCR_EVENT_RECV_CALL 16
#define SCR_EVENT_TALKING 17
#define SCR_EVENT_MYSELF_HANGUP 18
#define SCR_EVENT_PEER_HANGUP 19
#define SCR_EVENT_PEER_TOUT 20
#define SCR_EVENT_IGNORED_CALLIN 21
////////////////////////////////////////////////////
#define SCR_EVENT_SUBMENU_SET_IP 22
#define SCR_EVENT_DISP_IP 23
////////////////////////////////////////////////////
#define SCR_EVENT_SUBMENU_SET_PORT 24
#define SCR_EVENT_DISP_PORT 25
#define SCR_EVENT_SET_OK 43
////////////////////////////////////////////////////
#define SCR_EVENT_DISP_RTMSG 26
////////////////////////////////////////////////////
#define SCR_EVENT_GPS_QUERY 27
#define SCR_EVENT_GPRS_SIGNAL_VALUE 28
#define SCR_EVENT_GPRS_STATE 29
#define SCR_EVENT_SHIPPING_LOGINOK 30
#define SCR_EVENT_SAILOR_LOGINOK 31
#define SCR_EVENT_SAILOR_LOGOUTOK 32
//#define SCR_EVENT_SAILOR_LOGING 33
//#define SCR_EVENT_SAILOR_LOGOUTING 34
#define SCR_EVENT_ALARMING 35
#define SCR_EVENT_ALARM_OK 36
////////////////////////////////////////////////////
#define SCR_EVENT_LOGIN_WAIT 37
#define SCR_EVENT_LOGOUT_WAIT 38
#define SCR_EVENT_CHECK_CABLE 39
////////////////////////////////////////////////////
#define SCR_EVENT_COUNT_UP 40
#define SCR_EVENT_COUNT_DOWN 41
////////////////////////////////////////////////////
#define SCR_EVENT_CLEAR_STATE_MSG 42
//#define SCR_EVENT_COMMPACK 43
//#define SCR_EVENT_COMMPACK_ON 44
unsigned char event_notice;
unsigned char shipping_logined;
unsigned char sailor_logined;
unsigned char gps_data_validate_flag;
unsigned char gps_arrow_no;
unsigned char gprs_signal_value;
unsigned char gprs_data_command_state;
#define DISPALY_BUF_LEN 64
unsigned char disp_len;
unsigned char disp_buf[DISPALY_BUF_LEN];
#define MSG_MAXLEN 300//XXXX,xx:xx:xx:xx,xxxxxxxxx...
unsigned short msg_num;
unsigned char no_history_msg;
unsigned char msg_type;
unsigned char msg_len;
unsigned char rd_loc;
unsigned char msg_buf[MSG_MAXLEN];
unsigned char err_msg_on;//err msg flag
unsigned char init_info_on;//init info window flag
unsigned char state_msg_on;
unsigned char delay_disp_on;
unsigned char wait_disp_on;
#define DELAY_DISP_TOUT 2
unsigned char delay_disp_timerh;
#define FLASH_DISP_INTERVAl 50 //500ms
}LCDCB;
//function declaration
void delay(unsigned char loop);
void clear(unsigned char colorb);
void disp_bmp(unsigned int x,unsigned int y,unsigned int row_num,unsigned int col_num,unsigned char *charp);
void set_pixel(unsigned int x,unsigned char y,unsigned char colorb);
void wr_chinese(unsigned int x,unsigned int y);
void get_hzdot(unsigned int hh,unsigned int ll,x,y);
void line(unsigned int x0,unsigned int y0,unsigned int x1,unsigned int y1,unsigned char colorb);
void plot_circle_points(unsigned int x,unsigned int y,unsigned int xx,unsigned int yy,unsigned char c) ;
void circle (int xc,int yc,int radius,int c);
void arrow0(void);
void arrow1(void);
void arrow2(void);
void arrow3(void);
void arrow4(void);
void arrow5(void);
void arrow6(void);
void arrow7(void);
/////////////////////////////////////////////////////////////////////////////
void lcd_init(void);
void disp_state_column(void);
void gps_disc(void);
void disp_init_window(void);
//void disp_window(WINDOW *win_p);
void disp_time(void);
void clear_menu_region(void);
void disp_input_char(void);
void disp_next_page(void);
void disp_pre_page(void);
void restore_page(void);
void blacken_next_msg_entry(void);
void blacken_pre_msg_entry(void);
void set_pixel(unsigned int xx,unsigned int yy);
void plot_circle_points(unsigned int x,unsigned int y,unsigned int xx,unsigned int yy);
void circle (int xc,int yc,int radius);
void lcd_poll(void);
static char code str_sailor_id[]="ID:";
static char code str_set_ip[]="IP:";
static char code str_set_port[]="PORT:";
static char code str_no_recode[]="Have no recode! Please go back!";
static char code gps_validate_dot[32]=
{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,219,182,141,109,109,109,182,255,255,
255,255,255,255,255,255,255,255,255,219,219,219,219,182,146,77,
46,46,9,5,9,73,182,255,255,255,255,255,255,255,255,182,
114,73,73,73,72,73,46,46,9,37,73,73,41,41,146,255,
255,255,255,255,255,186,146,73,36,36,36,4,10,51,46,4,
0,36,109,146,109,41,146,255,255,255,255,255,219,109,41,40,
36,5,9,47,51,10,5,40,36,4,37,109,77,77,182,255,
255,255,255,255,109,37,36,37,5,10,51,51,14,14,10,45,
177,109,36,36,73,78,251,255,255,255,255,182,41,5,5,5,
10,51,51,14,14,14,14,181,249,213,145,72,36,146,255,255,
255,255,255,109,5,5,5,9,51,51,19,19,14,15,50,254,
253,249,213,140,40,150,255,255,255,255,182,41,5,4,5,51,
51,87,123,91,19,19,51,218,253,253,249,213,108,109,255,255,
255,255,146,37,5,5,46,51,77,119,127,55,19,19,19,86,
212,244,213,177,108,73,219,255,255,255,146,41,4,42,51,77,
108,145,82,19,19,19,91,59,87,82,50,109,108,73,219,255,
255,255,182,37,5,51,46,72,108,141,145,113,82,91,223,191,
23,19,15,113,140,73,219,255,255,255,182,41,46,47,40,72,
76,108,145,176,244,154,127,123,23,19,15,77,140,73,255,255,
255,255,182,41,47,41,36,72,76,108,145,176,177,82,19,19,
19,14,14,81,108,77,255,255,255,255,109,46,46,4,4,72,
108,141,144,176,145,15,14,15,14,14,14,113,72,146,255,255,
255,218,73,46,9,0,0,4,76,108,109,109,46,14,14,14,
14,10,41,76,73,219,255,255,255,182,41,46,5,0,0,0,
36,72,72,9,9,9,9,9,9,5,37,73,150,255,255,255,
255,146,42,10,4,36,36,0,0,36,4,5,5,5,5,5,
5,4,41,182,255,255,255,255,255,146,41,14,37,72,73,0,
0,0,0,0,0,0,0,0,36,109,182,255,255,255,255,255,
255,219,41,10,41,37,37,37,5,5,36,69,73,73,109,146,
182,255,255,255,255,255,255,255,255,255,146,41,41,41,41,41,
41,109,182,219,219,219,255,255,255,255,255,255,255,255,255,255,
255,255,255,150,109,109,109,146,214,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
};
static char code shipping_dot[24*24]=
{59,114,114,114,50,160,224,169,169,164,160,105,22,31,31,31,
31,31,31,31,31,31,31,31,59,141,141,141,173,109,82,31,
31,27,0,73,77,27,31,31,31,31,27,31,31,31,31,31,
31,31,31,13,41,13,31,31,31,31,31,114,255,73,27,31,
18,9,0,13,31,31,31,31,31,31,22,18,41,214,45,27,
31,27,9,73,109,13,31,22,22,9,182,109,9,31,31,31,
31,31,22,31,45,219,109,22,27,118,109,109,109,59,22,27,
31,22,146,214,9,22,31,31,31,31,22,4,32,73,114,22,
22,109,109,73,109,45,13,31,22,0,73,13,31,31,31,31,
31,31,22,178,182,4,59,31,31,18,73,219,219,109,114,22,
22,22,45,31,31,31,31,31,31,22,27,13,32,109,18,31,
31,31,13,214,255,255,36,27,0,105,109,45,31,31,31,31,
31,22,27,31,50,219,141,18,31,31,13,214,255,219,36,31,
31,77,255,214,9,31,31,31,31,22,27,31,13,214,146,13,
31,13,36,146,178,73,22,31,31,41,255,219,9,31,31,31,
31,22,27,13,32,109,18,31,118,146,146,109,13,27,31,22,
0,68,109,41,31,31,31,31,31,27,27,22,50,146,22,27,
45,73,73,73,13,9,18,182,182,178,45,27,31,31,31,31,
31,13,18,45,36,73,41,27,31,36,255,219,251,255,68,219,
36,73,73,73,22,31,31,31,9,214,109,146,109,255,214,9,
31,45,214,255,255,255,146,182,109,219,255,255,36,31,31,31,
68,255,36,223,114,150,255,73,27,27,105,255,255,255,219,36,
255,73,255,255,178,13,31,31,41,255,68,219,146,182,255,73,
27,18,146,255,219,182,146,109,219,73,255,255,146,13,31,31,
68,178,32,182,73,255,141,13,31,68,255,255,214,219,36,255,
73,182,255,219,4,31,31,31,4,4,114,77,4,73,109,118,
9,0,36,36,36,36,150,182,36,36,41,41,27,31,31,31,
27,22,13,18,50,178,150,22,31,31,31,155,31,31,87,155,
219,182,82,22,22,18,18,31,31,8,0,0,0,0,0,13,
13,13,13,41,13,9,73,109,36,0,0,0,0,18,17,31,
11,31,8,108,76,104,108,72,104,104,72,72,72,104,72,72,
72,72,108,0,23,27,11,7,3,11,10,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,2,3,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
};
static char code head_dot[24*24]=
{255,255,255,255,255,255,255,146,146,72,72,72,72,72,72,146,
146,255,255,255,255,255,255,255,255,255,255,255,255,183,109,108,
108,252,252,252,252,252,252,108,108,109,183,255,255,255,255,255,
255,255,255,255,182,0,144,252,252,252,252,252,252,252,252,252,
252,144,0,182,255,255,255,255,255,255,255,146,108,252,252,252,
252,252,252,252,252,252,252,252,252,252,252,108,146,255,255,255,
255,255,183,108,252,252,252,252,252,252,252,252,252,252,252,252,
252,252,252,252,108,183,255,255,255,183,0,252,252,252,252,252,
252,252,252,252,252,252,252,252,252,252,252,252,252,0,183,255,
255,109,144,252,252,252,252,252,36,36,252,252,252,252,36,36,
252,252,252,252,252,144,109,255,146,108,252,252,252,252,252,144,
0,0,108,252,252,108,0,0,144,252,252,252,252,252,72,255,
146,108,252,252,252,252,252,144,0,0,108,252,252,108,0,0,
144,252,252,252,252,252,108,219,72,252,252,252,252,252,252,144,
0,0,108,252,252,108,0,0,144,252,252,252,252,252,252,0,
72,252,252,252,252,252,252,216,0,0,180,252,252,180,0,0,
216,252,252,252,252,252,252,0,72,252,252,252,252,252,252,252,
216,216,252,252,252,252,216,216,252,252,252,252,252,252,252,0,
72,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,
252,252,252,252,252,252,252,0,72,252,252,252,252,252,144,252,
252,252,252,252,252,252,252,252,252,252,180,252,252,252,252,0,
72,252,252,252,252,252,36,252,252,252,252,252,252,252,252,252,
252,216,36,252,252,252,252,0,146,108,252,252,252,252,108,252,
252,252,252,252,252,252,252,252,252,180,108,252,252,252,72,255,
146,108,252,252,252,252,216,0,252,252,252,252,252,252,252,252,
180,0,252,252,252,252,72,219,255,109,144,252,252,252,252,108,
0,216,252,252,252,252,252,180,0,180,252,252,252,144,109,255,
255,183,0,252,252,252,252,252,108,72,144,144,144,144,144,72,
180,252,252,252,252,0,183,255,255,255,183,108,252,252,252,252,
252,252,108,144,108,144,144,252,252,252,252,252,108,183,255,255,
255,255,255,146,108,252,252,252,252,252,252,252,252,252,252,252,
252,252,252,108,146,255,255,255,255,255,255,255,182,0,144,252,
252,252,252,252,252,252,252,252,252,144,0,182,255,255,255,255,
255,255,255,255,255,219,109,72,72,252,252,252,252,252,252,72,
72,109,219,255,255,255,255,255,255,255,255,255,255,255,255,255,
219,0,0,0,0,0,0,219,219,255,255,255,255,255,255,255
};
static char code menuicon_login_dot[]=
{255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
36,119,119,255,255,255,255,255,255,255,255,255,255,219,219,219,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -