📄 menuinterface.lst
字号:
C51 COMPILER V7.09 MENUINTERFACE 09/17/2008 16:38:56 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE MENUINTERFACE
OBJECT MODULE PLACED IN .\output\menuinterface.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\menuinterface.c LARGE BROWSE INCDIR(audio\;eeprom\;extendUART\;flash\;
-gps\;inter\;key\;mcu\;menu\;usb\;gprs\;main\;1wire\) DEBUG OBJECTEXTEND PRINT(.\output\menuinterface.lst) OBJECT(.\outpu
-t\menuinterface.obj)
line level source
1 #include "typedef.h"
2 #include "global.h"
3 #include <string.h>
4 #include "message.h"
5 #include "playsound.h"
6 #include "msm9841.h"
7 #include "nvram.h"
8 #include "commoninterface.h"
9 #include "nf_config.h"
10 #include "nf_file.h"
11 #include "manualboard.h"
12 #include "gprs.h"
13 #include "nf_drv.h"
14 #include "at45db161d.h"
15 #include "common_function.h"
16 #include <stdio.h>
17 #include "display.h"
18 extern xdata SYSTEM_INFO systemInfo;
19
20 extern xdata BUS_INFO busInfo;//线路当前信息
21 extern xdata TERM_PARA termPara;//线路参数
22
23 /****************从界面函数中导入的接口函数******/
24 void get_cur_displayStation(Byte* value)
25 {
26 1 *value = busInfo.displayCurStation;
27 1 }
28
29 /*获取站点属性*/
30 void get_station_attr(unsigned char *value)
31 {
32 1 *value = busInfo.attrStation;//lineAttr;
33 1 }
34
35 /*获取站点名称*/
36 Byte* get_station_name()
37 {
38 1 return busInfo.stationName;
39 1 }
40
41 /*获取线路序号*/
42 void get_line_num(unsigned char *value)
43 {
44 1 *value = busInfo.lineNum;
45 1 }
46
47 /*获取线路名称*/
48 /*len:需要拷贝的线路名称的长度*/
49 void get_line_name(unsigned char* value, unsigned char len)
50 {
51 1 memset(value, 0, len);
52 1 if (len > MAX_LINENAME_SIZE)
53 1 len = MAX_LINENAME_SIZE;
C51 COMPILER V7.09 MENUINTERFACE 09/17/2008 16:38:56 PAGE 2
54 1 memcpy(value, busInfo.lineName, len);
55 1 }
56
57 /*是否存在报警*/
58 /*返回值为TRUE,表示正在报警,返回FALSE表示没有报警*/
59 Byte is_alarm()
60 {
61 1 Byte tmpValue;
62 1 get_message_state(2, &tmpValue, MSG_NOREADFLAG);
63 1 if (0 == tmpValue)
64 1 return FALSE;
65 1 else
66 1 return TRUE;
67 1 }
68
69 /***************以下为引入菜单后导入的界面******/
70 /*设置音量*/
71 void set_volume(unsigned char value)
72 {
73 1 stop_board();
74 1 if ((value > 8) || (value == 0))
75 1 return;
76 1 systemInfo.volume = value;
77 1 msm_change_volume(8-value);
78 1 nvram_write(NVRAM_VOICE_VOLUME, &value);
79 1 }
80
81 bit gbresetMsm9841 = 0;//是否已经重启了9841
82 /*************************************
83 *在收到要求主机变成营运状态或者强制自动报站后
84 *需要调用本函数重启9841
85 *************************************/
86 void reset_msm9841()
87 {
88 1 if (0 == gbresetMsm9841)
89 1 {
90 2 stop_board();
91 2 gbresetMsm9841 = 1;
92 2 msm9841_reset_init();
93 2 msm_change_volume(8-systemInfo.volume);
94 2 }
95 1 }
96 Byte is_msg_incoming()
97 {
98 1 Byte tmpValue;
99 1 get_message_state(3, &tmpValue, MSG_NOREADFLAG);
100 1 if (0 == tmpValue)
101 1 return FALSE;
102 1 else
103 1 return TRUE;
104 1 }
105
106 /*获取音量*/
107 Byte get_curvolume()
108 {
109 1 return systemInfo.volume;
110 1 }
111
112 /*当前界面上显示的站是否为首站
113 *返回值:OK 是首站;KO 不是首站*/
114 Byte is_displayFirstStation()
115 {
C51 COMPILER V7.09 MENUINTERFACE 09/17/2008 16:38:56 PAGE 3
116 1 if (FIRST_STATION == busInfo.attrStation)
117 1 return OK;
118 1 else
119 1 return KO;
120 1 }
121
122 /***设置/取消强制自动报站***/
123 void set_force_board()
124 {
125 1 Byte value;
126 1 if (systemInfo.boardMode == FORCE_BOARD)
127 1 {
128 2 get_gpsStatus(&value);
129 2 //当前为强制自动报站,将取消自动报站
130 2 if (GPS_ANTENNA_WELL == value)
131 2 systemInfo.boardMode = AUTO_BROAD;
132 2 else
133 2 systemInfo.boardMode = MANUAL_BOARD;
134 2 }
135 1 else
136 1 {
137 2 //当前为普通报站方式,将设置为强制自动报站
138 2 systemInfo.boardMode = FORCE_BOARD;
139 2 }
140 1 }
141
142
143 void set_driver_id(unsigned char *value)
144 {
145 1 memcpy(busInfo.driverID, value, 4);
146 1 nf_configWrite(NF_DRIVERID_ID, value);
147 1 // nf_configWriteAll();
148 1 }
149
150 /**************更改线路线路**********************/
151 /*lineNum:线路号,值从0开始
152 /***********************************************/
153 Byte set_line(Uint8 lineNum/*in*/)
154 {
155 1 Byte nTmp;
156 1 nTmp = busInfo.lineNum;
157 1 //停止播放
158 1 stop_board();
159 1 if (KO == init_filedata(lineNum, 1, 1, 1/*BUS_UPWARD*/))
160 1 {
161 2 msm_change_volume(8-systemInfo.volume);
162 2 busInfo.lineNum = nTmp;
163 2 return KO;
164 2 }
165 1 systemInfo.landFlag = 0;
166 1 nvram_write(NVRAM_BUS_LINENUM, &(busInfo.lineNum));
167 1 }
168
169 Byte* get_toneTime()
170 {
171 1 return busInfo.toneTime;
172 1 }
173
174 /***************设置模式***************/
175 /*nMode:模式编码,值从1开始
176 /**************************************/
177 void set_mode(Uint8 nMode/*in*/)
C51 COMPILER V7.09 MENUINTERFACE 09/17/2008 16:38:56 PAGE 4
178 {
179 1 //停止播放
180 1 stop_board();
181 1 if (nMode != busInfo.modeNum)
182 1 {
183 2 if (OK == read_linemode(nMode))
184 2 {
185 3 back_to_firststation(busInfo.direction);
186 3 nvram_write(NVRAM_BUS_LINEMODE, &nMode);
187 3 }
188 2 }
189 1 }
190
191 /* cmd 0:拨号1:摘机 2:挂机 */
192 char voice_command(char cmd, char *ptr)
193 {
194 1
195 1 switch(cmd)
196 1 {
197 2 case 0:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -