Rev 206 | Rev 214 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 206 | Rev 211 | ||
---|---|---|---|
1 | /*************************************************************** |
1 | /*************************************************************** |
2 | * |
2 | * |
3 | * User Interface ( Canvas ) of DUBwise |
3 | * User Interface ( Canvas ) of DUBwise |
4 | * |
4 | * |
5 | * Author: Marcus -LiGi- Bueschleb |
5 | * Author: Marcus -LiGi- Bueschleb |
6 | * Mailto: LiGi @at@ LiGi DOTT de |
6 | * Mailto: LiGi @at@ LiGi DOTT de |
7 | * |
7 | * |
8 | ***************************************************************/ |
8 | ***************************************************************/ |
9 | 9 | ||
10 | import javax.microedition.lcdui.*; |
10 | import javax.microedition.lcdui.*; |
11 | 11 | ||
12 | 12 | ||
13 | import javax.microedition.media.*; |
13 | import javax.microedition.media.*; |
14 | import javax.microedition.media.control.*; |
14 | import javax.microedition.media.control.*; |
15 | 15 | ||
16 | 16 | ||
17 | //#if fileapi=="on" |
17 | //#if fileapi=="on" |
18 | import javax.microedition.io.*; |
18 | import javax.microedition.io.*; |
19 | import javax.microedition.midlet.*; |
19 | import javax.microedition.midlet.*; |
20 | import javax.microedition.io.file.*; |
20 | import javax.microedition.io.file.*; |
21 | 21 | ||
22 | import java.io.*; |
22 | import java.io.*; |
23 | import java.util.*; |
23 | import java.util.*; |
24 | //#endif |
24 | //#endif |
25 | 25 | ||
26 | public class DUBwiseCanvas |
26 | public class DUBwiseCanvas |
27 | extends Canvas |
27 | extends Canvas |
28 | implements Runnable,org.ligi.ufo.DUBwiseDefinitions |
28 | implements Runnable,org.ligi.ufo.DUBwiseDefinitions , DUBwiseUIDefinitions |
29 | { |
29 | { |
30 | 30 | ||
31 | //#if fileapi=="on" |
31 | //#if fileapi=="on" |
32 | public final static int MAX_FILELIST_LENGTH=100; |
32 | public final static int MAX_FILELIST_LENGTH=100; |
33 | public final static int MAX_PATH_DEPTH=10; |
33 | public final static int MAX_PATH_DEPTH=10; |
34 | 34 | ||
35 | byte act_path_depth=0; |
35 | byte act_path_depth=0; |
36 | String[] act_path_arr; |
36 | String[] act_path_arr; |
37 | 37 | ||
38 | 38 | ||
39 | public String act_path() |
39 | public String act_path() |
40 | { |
40 | { |
41 | String res=""; |
41 | String res=""; |
42 | for (int i=0;i<act_path_depth;i++) |
42 | for (int i=0;i<act_path_depth;i++) |
43 | res+=act_path_arr[i]; |
43 | res+=act_path_arr[i]; |
44 | return res; |
44 | return res; |
45 | } |
45 | } |
46 | 46 | ||
47 | String[] file_list; |
47 | String[] file_list; |
48 | int file_list_length=0; |
48 | int file_list_length=0; |
49 | //#endif |
49 | //#endif |
50 | 50 | ||
51 | 51 | ||
52 | 52 | ||
53 | boolean ipinput4proxy; |
53 | boolean ipinput4proxy; |
54 | byte ipinput_pos=0; |
54 | byte ipinput_pos=0; |
55 | int[] act_edit_ip; |
55 | int[] act_edit_ip; |
56 | 56 | ||
57 | int canvas_width=100; |
57 | int canvas_width=100; |
58 | int canvas_height=100; |
58 | int canvas_height=100; |
59 | 59 | ||
60 | 60 | ||
61 | 61 | ||
62 | 62 | ||
63 | // public String ip_digit_zeroes(int digit) |
63 | // public String ip_digit_zeroes(int digit) |
64 | //{ return "" + digit/100 + "" + (digit/10)%10 + "" + (digit)%10; } |
64 | //{ return "" + digit/100 + "" + (digit/10)%10 + "" + (digit)%10; } |
65 | 65 | ||
66 | 66 | ||
67 | 67 | ||
68 | int heading_offset=0; |
68 | int heading_offset=0; |
69 | int act_wp; |
69 | int act_wp; |
70 | 70 | ||
71 | 71 | ||
72 | 72 | ||
73 | //#if bluetooth=="on" |
73 | //#if bluetooth=="on" |
74 | private BTSearcher bt_scanner; |
74 | private BTSearcher bt_scanner; |
75 | //#endif |
75 | //#endif |
76 | 76 | ||
77 | public org.ligi.ufo.MKCommunicator mk=null; |
77 | public org.ligi.ufo.MKCommunicator mk=null; |
78 | // private MKStatistics mk_stat=null; |
78 | // private MKStatistics mk_stat=null; |
79 | private MKParamsEditor params_editor=null; |
79 | private MKParamsEditor params_editor=null; |
80 | public DUBwiseDebug debug=null; |
80 | public DUBwiseDebug debug=null; |
81 | public DUBwiseHelper helper=null; |
81 | public DUBwiseHelper helper=null; |
82 | 82 | ||
83 | 83 | ||
84 | //#if voice_mode!="no_voice" |
84 | //#if voice_mode!="no_voice" |
85 | private MKStatusVoice status_voice; |
85 | private MKStatusVoice status_voice; |
86 | //#endif |
86 | //#endif |
87 | 87 | ||
88 | 88 | ||
89 | private DUBwise root; |
89 | private DUBwise root; |
90 | public DUBwiseSettings settings; |
90 | public DUBwiseSettings settings; |
91 | // public UFOProber mk.ufo_prober; |
91 | // public UFOProber mk.ufo_prober; |
92 | 92 | ||
93 | private Image bg_img; |
93 | private Image bg_img; |
94 | private Image lcd_img; |
94 | private Image lcd_img; |
95 | private Image symbols_img; |
95 | private Image symbols_img; |
96 | private Image err_img; |
96 | private Image err_img; |
97 | 97 | ||
98 | 98 | ||
99 | int max_lines; |
99 | int max_lines; |
100 | 100 | ||
101 | 101 | ||
102 | public byte act_motor=0; |
102 | public byte act_motor=0; |
103 | public byte act_motor_increase=0; |
103 | public byte act_motor_increase=0; |
104 | public boolean motor_test_sel_all=false; |
104 | public boolean motor_test_sel_all=false; |
105 | 105 | ||
106 | 106 | ||
107 | /* Graph Vars */ |
107 | /* Graph Vars */ |
108 | public final static int GRAPH_COUNT=4; |
108 | public final static int GRAPH_COUNT=4; |
109 | public final static int[] graph_colors={0x156315,0xCC1315,0xf8ef02,0x19194d}; |
109 | public final static int[] graph_colors={0x156315,0xCC1315,0xf8ef02,0x19194d}; |
110 | public int[] graph_sources={0,1,2,3}; |
110 | public int[] graph_sources={0,1,2,3}; |
111 | public String[] graph_names={"nick int","roll int","nick acc","roll acc"}; |
111 | public String[] graph_names={"nick int","roll int","nick acc","roll acc"}; |
112 | public int[][] graph_data; |
112 | public int[][] graph_data; |
113 | 113 | ||
114 | public int lcd_char_width=0; |
114 | public int lcd_char_width=0; |
115 | public int lcd_char_height=0; |
115 | public int lcd_char_height=0; |
116 | 116 | ||
117 | public int frame_pos=0; |
117 | public int frame_pos=0; |
118 | 118 | ||
119 | // public byte mk.user_intent=USER_INTENT_NONE; |
119 | // public byte mk.user_intent=USER_INTENT_NONE; |
120 | 120 | ||
121 | int line_scaler=20; |
121 | int line_scaler=20; |
122 | 122 | ||
123 | int rawdebug_cursor_y=0; |
123 | int rawdebug_cursor_y=0; |
124 | int rawdebug_off_y=0; |
124 | int rawdebug_off_y=0; |
125 | 125 | ||
126 | public int line_middle_y; |
126 | public int line_middle_y; |
127 | 127 | ||
128 | boolean quit=false; |
128 | boolean quit=false; |
129 | 129 | ||
130 | int bg_offset=0; |
130 | int bg_offset=0; |
131 | 131 | ||
132 | // variable to hold the current state |
132 | // variable to hold the current state |
133 | public byte state=-1; |
133 | public byte state=-1; |
134 | 134 | ||
135 | int local_max=-1; |
135 | int local_max=-1; |
136 | 136 | ||
137 | int y_off=0; |
137 | int y_off=0; |
138 | int spacer=0; |
138 | int spacer=0; |
139 | int spacer1=0; |
139 | int spacer1=0; |
140 | 140 | ||
141 | int[] motor_test = {0,0,0,0}; |
141 | int[] motor_test = {0,0,0,0}; |
142 | 142 | ||
143 | 143 | ||
144 | String[] menu_items; |
144 | String[] menu_items; |
145 | byte[] menu_actions; |
145 | byte[] menu_actions; |
146 | int act_menu_select=0; |
146 | int act_menu_select=0; |
147 | 147 | ||
148 | String[] lcd_lines =null; |
148 | String[] lcd_lines =null; |
149 | 149 | ||
150 | 150 | ||
151 | public void setup_menu(String[] items , byte[] actions) |
151 | public void setup_menu(String[] items , byte[] actions) |
152 | { |
152 | { |
153 | menu_items=items; |
153 | menu_items=items; |
154 | menu_actions=actions; |
154 | menu_actions=actions; |
155 | lcd_lines=new String[menu_items.length]; |
155 | lcd_lines=new String[menu_items.length]; |
156 | } |
156 | } |
157 | 157 | ||
158 | public void paint_menu(Graphics g) |
158 | public void paint_menu(Graphics g) |
159 | { |
159 | { |
160 | for ( int i=0;i<menu_items.length;i++) |
160 | for ( int i=0;i<menu_items.length;i++) |
161 | { |
161 | { |
162 | if ((frame_pos%3)!=0) |
162 | if ((frame_pos%3)!=0) |
163 | { |
163 | { |
164 | lcd_lines[i]=(act_menu_select==i?">":" ") + menu_items[i]; |
164 | lcd_lines[i]=(act_menu_select==i?">":" ") + menu_items[i]; |
165 | for ( int ii=0;ii<(18-menu_items[i].length());ii++) |
165 | for ( int ii=0;ii<(18-menu_items[i].length());ii++) |
166 | lcd_lines[i]+=" "; |
166 | lcd_lines[i]+=" "; |
167 | if (act_menu_select==i) |
167 | if (act_menu_select==i) |
168 | lcd_lines[i]+="<"; |
168 | lcd_lines[i]+="<"; |
169 | } |
169 | } |
170 | else |
170 | else |
171 | lcd_lines[i]=" " + menu_items[i]; |
171 | lcd_lines[i]=" " + menu_items[i]; |
172 | 172 | ||
173 | 173 | ||
174 | } |
174 | } |
175 | paint_lcd(g,true); |
175 | paint_lcd(g,true); |
176 | } |
176 | } |
177 | 177 | ||
178 | public void menu_keypress(int keyCode) |
178 | public void menu_keypress(int keyCode) |
179 | { |
179 | { |
180 | debug.log("Menu with KeyCode:"+keyCode); |
180 | debug.log("Menu with KeyCode:"+keyCode); |
181 | switch (getGameAction (keyCode)) |
181 | switch (getGameAction (keyCode)) |
182 | { |
182 | { |
183 | case UP: |
183 | case UP: |
184 | if (act_menu_select!=0) act_menu_select--; |
184 | if (act_menu_select!=0) act_menu_select--; |
185 | else |
185 | else |
186 | act_menu_select=menu_items.length-1; |
186 | act_menu_select=menu_items.length-1; |
187 | break; |
187 | break; |
188 | 188 | ||
189 | case DOWN: |
189 | case DOWN: |
190 | if (act_menu_select<(menu_items.length-1)) act_menu_select++; |
190 | if (act_menu_select<(menu_items.length-1)) act_menu_select++; |
191 | else act_menu_select=0; |
191 | else act_menu_select=0; |
192 | break; |
192 | break; |
193 | 193 | ||
194 | } |
194 | } |
195 | 195 | ||
196 | } |
196 | } |
197 | 197 | ||
198 | public boolean cam_condition() |
198 | public boolean cam_condition() |
199 | { |
199 | { |
200 | return (mk.stick_data.stick[5]>100); |
200 | return (mk.stick_data.stick[5]>100); |
201 | } |
201 | } |
202 | 202 | ||
203 | // int lcd_top=25; |
203 | // int lcd_top=25; |
204 | 204 | ||
205 | public void paint_lcd(Graphics g,boolean bottomup) |
205 | public void paint_lcd(Graphics g,boolean bottomup) |
206 | { |
206 | { |
207 | 207 | ||
208 | int y; |
208 | int y; |
209 | 209 | ||
210 | int lcd_top= (state==STATEID_EDIT_PARAMS?0:25); |
210 | int lcd_top= (state==STATEID_EDIT_PARAMS?0:25); |
211 | max_lines=(canvas_height-lcd_top)/lcd_char_height; |
211 | max_lines=(canvas_height-lcd_top)/lcd_char_height; |
212 | 212 | ||
213 | int spacer_left_right=(canvas_width-(20*(lcd_img.getWidth()/222)))/2; |
213 | int spacer_left_right=(canvas_width-(20*(lcd_img.getWidth()/222)))/2; |
214 | // for(int i=0;i<lcd_lines.length;i++) |
214 | // for(int i=0;i<lcd_lines.length;i++) |
215 | 215 | ||
216 | int display_lines=(lcd_lines.length>max_lines?max_lines:lcd_lines.length); |
216 | int display_lines=(lcd_lines.length>max_lines?max_lines:lcd_lines.length); |
217 | 217 | ||
218 | 218 | ||
219 | int lcd_off= (state==STATEID_EDIT_PARAMS?params_editor.act_y:act_menu_select)-display_lines+1; |
219 | int lcd_off= (state==STATEID_EDIT_PARAMS?params_editor.act_y:act_menu_select)-display_lines+1; |
220 | if ( lcd_off<0) lcd_off=0; |
220 | if ( lcd_off<0) lcd_off=0; |
221 | 221 | ||
222 | for(int i=0;i<display_lines;i++) |
222 | for(int i=0;i<display_lines;i++) |
223 | for (int pos=0;pos<20;pos++) |
223 | for (int pos=0;pos<20;pos++) |
224 | { |
224 | { |
225 | if (bottomup) |
225 | if (bottomup) |
226 | y=canvas_height-(display_lines-i)*lcd_char_height; |
226 | y=canvas_height-(display_lines-i)*lcd_char_height; |
227 | else |
227 | else |
228 | y=i*lcd_char_height; |
228 | y=i*lcd_char_height; |
229 | g.setClip((lcd_img.getWidth()/222)*pos+spacer_left_right,y,(lcd_img.getWidth()/222),lcd_img.getHeight()); |
229 | g.setClip((lcd_img.getWidth()/222)*pos+spacer_left_right,y,(lcd_img.getWidth()/222),lcd_img.getHeight()); |
230 | g.drawImage(lcd_img,spacer_left_right+(lcd_img.getWidth()/222)*pos-((pos<lcd_lines[i+lcd_off].length()?lcd_lines[i+lcd_off].charAt(pos):' ')-' ')*(lcd_img.getWidth()/222),y,g.TOP | g.LEFT); |
230 | g.drawImage(lcd_img,spacer_left_right+(lcd_img.getWidth()/222)*pos-((pos<lcd_lines[i+lcd_off].length()?lcd_lines[i+lcd_off].charAt(pos):' ')-' ')*(lcd_img.getWidth()/222),y,g.TOP | g.LEFT); |
231 | 231 | ||
232 | } |
232 | } |
233 | } |
233 | } |
234 | 234 | ||
235 | public void load_images() |
235 | public void load_images() |
236 | { |
236 | { |
237 | try |
237 | try |
238 | { |
238 | { |
239 | bg_img=null; |
239 | bg_img=null; |
240 | lcd_img=null; |
240 | lcd_img=null; |
241 | 241 | ||
242 | // load all needed images |
242 | // load all needed images |
243 | switch (settings.act_skin) |
243 | switch (settings.act_skin) |
244 | { |
244 | { |
245 | case SKINID_DARK: |
245 | case SKINID_DARK: |
246 | lcd_img=Image.createImage("/lcd_green.png"); |
246 | lcd_img=Image.createImage("/lcd_green.png"); |
247 | if (settings.do_scrollbg) bg_img=Image.createImage("/starfield.jpg"); break; |
247 | if (settings.do_scrollbg) bg_img=Image.createImage("/starfield.jpg"); break; |
248 | 248 | ||
249 | case SKINID_LIGHT: |
249 | case SKINID_LIGHT: |
250 | lcd_img=Image.createImage("/lcd_blue.png"); |
250 | lcd_img=Image.createImage("/lcd_blue.png"); |
251 | if (settings.do_scrollbg) bg_img=Image.createImage("/clouds.jpg"); |
251 | if (settings.do_scrollbg) bg_img=Image.createImage("/clouds.jpg"); |
252 | break; |
252 | break; |
253 | } |
253 | } |
254 | 254 | ||
255 | 255 | ||
256 | // bt_img=Image.createImage("/bt.png"); |
256 | // bt_img=Image.createImage("/bt.png"); |
257 | symbols_img=Image.createImage("/symbols.png"); |
257 | symbols_img=Image.createImage("/symbols.png"); |
258 | // load_img=Image.createImage("/load.png"); |
258 | // load_img=Image.createImage("/load.png"); |
259 | 259 | ||
260 | lcd_char_width=lcd_img.getWidth()/222; |
260 | lcd_char_width=lcd_img.getWidth()/222; |
261 | lcd_char_height=lcd_img.getHeight(); |
261 | lcd_char_height=lcd_img.getHeight(); |
262 | 262 | ||
263 | 263 | ||
264 | 264 | ||
265 | if (bg_img!=null) |
265 | if (bg_img!=null) |
266 | graph_data=new int[GRAPH_COUNT][bg_img.getWidth()]; |
266 | graph_data=new int[GRAPH_COUNT][bg_img.getWidth()]; |
267 | else |
267 | else |
268 | graph_data=new int[GRAPH_COUNT][this.getWidth()*2]; |
268 | graph_data=new int[GRAPH_COUNT][this.getWidth()*2]; |
269 | 269 | ||
270 | for (int c=0;c<graph_data[0].length;c++) |
270 | for (int c=0;c<graph_data[0].length;c++) |
271 | for (int d=0;d<GRAPH_COUNT;d++) |
271 | for (int d=0;d<GRAPH_COUNT;d++) |
272 | graph_data[d][c]=-1; |
272 | graph_data[d][c]=-1; |
273 | /* |
273 | /* |
274 | nick_line_pos_data=new int[graph_data[0].length]; |
274 | nick_line_pos_data=new int[graph_data[0].length]; |
275 | roll_line_pos_data=new int[graph_data[0].length]; |
275 | roll_line_pos_data=new int[graph_data[0].length]; |
276 | accnick_line_pos_data=new int[graph_data[0].length]; |
276 | accnick_line_pos_data=new int[graph_data[0].length]; |
277 | accroll_line_pos_data=new int[graph_data[0].length]; |
277 | accroll_line_pos_data=new int[graph_data[0].length]; |
278 | |
278 | |
279 | for (int c=0;c<graph_data[0].length;c++) |
279 | for (int c=0;c<graph_data[0].length;c++) |
280 | { |
280 | { |
281 | nick_line_pos_data[c]=-1; |
281 | nick_line_pos_data[c]=-1; |
282 | roll_line_pos_data[c]=-1; |
282 | roll_line_pos_data[c]=-1; |
283 | accnick_line_pos_data[c]=-1; |
283 | accnick_line_pos_data[c]=-1; |
284 | accroll_line_pos_data[c]=-1; |
284 | accroll_line_pos_data[c]=-1; |
285 | } |
285 | } |
286 | */ |
286 | */ |
287 | try { |
287 | try { |
288 | err_img=null; |
288 | err_img=null; |
289 | if (settings.do_scrollbg) err_img=Image.createImage("/preflight.jpg"); |
289 | if (settings.do_scrollbg) err_img=Image.createImage("/preflight.jpg"); |
290 | } |
290 | } |
291 | catch (Exception e) { } |
291 | catch (Exception e) { } |
292 | 292 | ||
293 | } |
293 | } |
294 | 294 | ||
295 | catch (Exception e) |
295 | catch (Exception e) |
296 | { |
296 | { |
297 | debug.err(e.toString()); |
297 | debug.err(e.toString()); |
298 | } |
298 | } |
299 | 299 | ||
300 | } |
300 | } |
301 | 301 | ||
302 | public DUBwiseCanvas(DUBwise _root) |
302 | public DUBwiseCanvas(DUBwise _root) |
303 | { |
303 | { |
304 | - | ||
305 | // mk = new MKCommunicator(root); |
- | |
306 | 304 | ||
307 | //#if fileapi=="on" |
- | |
308 | // file |
305 | //#if fileapi=="on" |
309 | file_list= new String[MAX_FILELIST_LENGTH]; |
306 | file_list= new String[MAX_FILELIST_LENGTH]; |
310 | act_path_arr=new String[MAX_PATH_DEPTH]; |
- | |
311 | // end file |
307 | act_path_arr=new String[MAX_PATH_DEPTH]; |
312 | //#endif |
308 | //#endif |
313 | 309 | ||
314 | root=_root; |
310 | root=_root; |
315 | 311 | ||
316 | mk = new org.ligi.ufo.MKCommunicator(); |
312 | mk = new org.ligi.ufo.MKCommunicator(); |
317 | helper = new DUBwiseHelper(); |
313 | helper = new DUBwiseHelper(); |
318 | settings = new DUBwiseSettings(); |
314 | settings = new DUBwiseSettings(); |
319 | debug = new DUBwiseDebug(this); |
315 | debug = new DUBwiseDebug(this); |
320 | 316 | ||
321 | //#if bluetooth=="on" |
317 | //#if bluetooth=="on" |
322 | bt_scanner = new BTSearcher(); |
318 | bt_scanner = new BTSearcher(); |
323 | //#endif |
319 | //#endif |
324 | 320 | ||
325 | params_editor = new MKParamsEditor(this); |
321 | params_editor = new MKParamsEditor(this); |
326 | // mk.ufo_prober = new UFOProber(); |
- | |
327 | - | ||
328 | // mk = new MKCommunicator(root); |
- | |
329 | // mk_stat = new MKStatistics(mk); |
- | |
330 | - | ||
331 | - | ||
332 | 322 | ||
333 | //#if voice_mode!="no_voice" |
323 | //#if voice_mode!="no_voice" |
334 | status_voice=new MKStatusVoice(mk,this); |
324 | status_voice=new MKStatusVoice(mk,this); |
335 | //#endif |
325 | //#endif |
336 | - | ||
337 | 326 | ||
338 | 327 | ||
339 | load_images(); |
328 | load_images(); |
340 | 329 | ||
341 | if (settings.connection_url!="") |
330 | if (settings.connection_url!="") |
342 | connect_mk(settings.connection_url,settings.connection_name); |
331 | connect_mk(settings.connection_url,settings.connection_name); |
343 | 332 | ||
- | 333 | mk.gps_position.act_speed_format=settings.speed_format; |
|
344 | chg_state(STATEID_MAINMENU); |
334 | mk.gps_position.act_gps_format= settings.gps_format; |
- | 335 | ||
345 | 336 | ||
346 | 337 | chg_state(STATEID_MAINMENU); |
|
347 | 338 | ||
348 | new Thread(this).start(); |
339 | new Thread(this).start(); |
349 | 340 | ||
350 | } |
341 | } |
351 | 342 | ||
352 | 343 | ||
353 | 344 | ||
354 | 345 | ||
355 | /****************************** Thread ******************/ |
346 | /****************************** Thread ******************/ |
356 | // ticking runnable Section |
347 | // ticking runnable Section |
357 | public void run() |
348 | public void run() |
358 | { |
349 | { |
359 | 350 | ||
360 | 351 | ||
361 | while(true) |
352 | while(true) |
362 | { |
353 | { |
363 | try { |
354 | try { |
364 | 355 | ||
365 | 356 | ||
366 | repaint(); |
357 | repaint(); |
367 | serviceRepaints(); |
358 | serviceRepaints(); |
368 | 359 | ||
369 | System.gc(); |
360 | System.gc(); |
370 | long loopStartTime = System.currentTimeMillis(); |
361 | long loopStartTime = System.currentTimeMillis(); |
371 | long sleeptime=0; |
362 | long sleeptime=0; |
372 | // ticked thing |
363 | // ticked thing |
373 | 364 | ||
374 | frame_pos++; |
365 | frame_pos++; |
375 | 366 | ||
376 | if (mk.ufo_prober.change_notify) |
367 | if (mk.ufo_prober.change_notify) |
377 | { |
368 | { |
378 | mk.ufo_prober.change_notify=false; |
369 | mk.ufo_prober.change_notify=false; |
379 | if (mk.ufo_prober.is_incompatible()) |
370 | if (mk.ufo_prober.is_incompatible()) |
380 | { |
371 | { |
381 | mk.error_str="incompatible Device"; |
372 | mk.error_str="incompatible Device"; |
382 | chg_state(STATEID_NC_ERRORS); |
373 | chg_state(STATEID_NC_ERRORS); |
383 | } |
374 | } |
384 | else |
375 | else |
385 | if (state==STATEID_MAINMENU) |
376 | if (state==STATEID_MAINMENU) |
386 | chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content ) |
377 | chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content ) |
387 | } |
378 | } |
388 | 379 | ||
389 | 380 | ||
390 | switch(state) |
381 | switch(state) |
391 | { |
382 | { |
392 | case STATEID_CAMMODE: |
383 | case STATEID_CAMMODE: |
393 | 384 | ||
394 | try |
385 | try |
395 | { |
386 | { |
396 | if(cam_condition()) |
387 | if(cam_condition()) |
397 | { |
388 | { |
398 | cam_img=null; |
389 | cam_img=null; |
399 | debug.log("get snap\n"); |
390 | debug.log("get snap\n"); |
400 | cam_raw = mVideoControl.getSnapshot(null); |
391 | cam_raw = mVideoControl.getSnapshot(null); |
401 | 392 | ||
402 | try { Thread.sleep(4000); } |
393 | try { Thread.sleep(4000); } |
403 | catch (Exception e) |
394 | catch (Exception e) |
404 | { |
395 | { |
405 | debug.log("Problem Sleeping "); |
396 | debug.log("Problem Sleeping "); |
406 | 397 | ||
407 | } |
398 | } |
408 | } |
399 | } |
409 | else |
400 | else |
410 | { |
401 | { |
411 | if (cam_img==null) |
402 | if (cam_img==null) |
412 | cam_img = Image.createImage(cam_raw, 0, cam_raw.length); |
403 | cam_img = Image.createImage(cam_raw, 0, cam_raw.length); |
413 | } |
404 | } |
414 | } |
405 | } |
415 | catch ( Exception e) |
406 | catch ( Exception e) |
416 | { |
407 | { |
417 | debug.log(e.toString()); |
408 | debug.log(e.toString()); |
418 | } |
409 | } |
419 | break; |
410 | break; |
420 | case STATEID_KEYCONTROL: |
411 | case STATEID_KEYCONTROL: |
421 | mk.send_keys(keycontrol_bitfield); |
412 | mk.send_keys(keycontrol_bitfield); |
422 | break; |
413 | break; |
423 | 414 | ||
424 | case STATEID_NC_ERRORS: |
415 | case STATEID_NC_ERRORS: |
425 | lcd_lines[0]=""+mk.error_str; |
416 | lcd_lines[0]=""+mk.error_str; |
426 | break; |
417 | break; |
427 | 418 | ||
428 | case STATEID_READ_PARAMS: |
419 | case STATEID_READ_PARAMS: |
429 | if (mk.watchdog.act_paramset==5) |
420 | if (mk.watchdog.act_paramset==5) |
430 | chg_state(STATEID_SELECT_PARAMSET); |
421 | chg_state(STATEID_SELECT_PARAMSET); |
431 | else |
422 | else |
432 | { |
423 | { |
433 | lcd_lines[0]="Reading Settings "; |
424 | lcd_lines[0]="Reading Settings "; |
434 | lcd_lines[1]=mk.watchdog.act_paramset+"/5 |"+ (mk.watchdog.act_paramset>0?"#":"_") + (mk.watchdog.act_paramset>1?"#":"_") + (mk.watchdog.act_paramset>2?"#":"_")+ (mk.watchdog.act_paramset>3?"#":"_")+ (mk.watchdog.act_paramset>4?"#":"_") + "| "; |
425 | lcd_lines[1]=mk.watchdog.act_paramset+"/5 |"+ (mk.watchdog.act_paramset>0?"#":"_") + (mk.watchdog.act_paramset>1?"#":"_") + (mk.watchdog.act_paramset>2?"#":"_")+ (mk.watchdog.act_paramset>3?"#":"_")+ (mk.watchdog.act_paramset>4?"#":"_") + "| "; |
435 | 426 | ||
436 | if (mk.params.found_incompatible) |
427 | if (mk.params.found_incompatible) |
437 | { |
428 | { |
438 | mk.error_str="incompatible params"; |
429 | mk.error_str="incompatible params"; |
439 | chg_state(STATEID_NC_ERRORS); |
430 | chg_state(STATEID_NC_ERRORS); |
440 | } |
431 | } |
441 | 432 | ||
442 | } |
433 | } |
443 | break; |
434 | break; |
444 | - | ||
445 | 435 | ||
446 | - | ||
447 | - | ||
448 | 436 | ||
449 | case STATEID_MOTORTEST: |
437 | case STATEID_MOTORTEST: |
450 | 438 | ||
451 | if (motor_test_sel_all) |
439 | if (motor_test_sel_all) |
452 | for (int m=0;m<4;m++) |
440 | for (int m=0;m<4;m++) |
453 | { |
441 | { |
454 | motor_test[m]+=act_motor_increase; |
442 | motor_test[m]+=act_motor_increase; |
455 | if (motor_test[m]<0)motor_test[m]=0; |
443 | if (motor_test[m]<0)motor_test[m]=0; |
456 | if (motor_test[m]>255)motor_test[m]=255; |
444 | if (motor_test[m]>255)motor_test[m]=255; |
457 | } |
445 | } |
458 | else |
446 | else |
459 | { |
447 | { |
460 | motor_test[act_motor]+=act_motor_increase; |
448 | motor_test[act_motor]+=act_motor_increase; |
461 | if (motor_test[act_motor]<0) motor_test[act_motor]=0; |
449 | if (motor_test[act_motor]<0) motor_test[act_motor]=0; |
462 | if (motor_test[act_motor]>255) motor_test[act_motor]=255; |
450 | if (motor_test[act_motor]>255) motor_test[act_motor]=255; |
463 | } |
451 | } |
464 | 452 | ||
465 | mk.motor_test(motor_test); |
453 | mk.motor_test(motor_test); |
466 | break; |
454 | break; |
467 | 455 | ||
468 | case STATEID_IPINPUT: |
456 | case STATEID_IPINPUT: |
469 | if (ipinput4proxy) |
457 | if (ipinput4proxy) |
470 | act_edit_ip=settings.act_proxy_ip; |
458 | act_edit_ip=settings.act_proxy_ip; |
471 | else |
459 | else |
472 | act_edit_ip=settings.act_conn_ip; |
460 | act_edit_ip=settings.act_conn_ip; |
473 | 461 | ||
474 | lcd_lines[1]=helper.ip_str(act_edit_ip,true); |
462 | lcd_lines[1]=helper.ip_str(act_edit_ip,true); |
475 | 463 | ||
476 | 464 | ||
477 | lcd_lines[2]=""; |
465 | lcd_lines[2]=""; |
478 | for(int foo=0;foo<20;foo++) |
466 | for(int foo=0;foo<20;foo++) |
479 | { |
467 | { |
480 | if (foo==ipinput_pos) |
468 | if (foo==ipinput_pos) |
481 | lcd_lines[2]+="^"; |
469 | lcd_lines[2]+="^"; |
482 | else |
470 | else |
483 | lcd_lines[2]+=" "; |
471 | lcd_lines[2]+=" "; |
484 | } |
472 | } |
485 | break; |
473 | break; |
486 | 474 | ||
487 | case STATEID_MAINMENU: |
475 | case STATEID_MAINMENU: |
488 | 476 | ||
489 | break; |
477 | break; |
490 | 478 | ||
491 | //#if bluetooth=="on" |
479 | //#if bluetooth=="on" |
492 | case STATEID_SCANNING: |
480 | case STATEID_SCANNING: |
493 | /*intro_str_delay--; |
- | |
494 | if (intro_str_delay<0) |
- | |
495 | { |
481 | |
496 | intro_str_delay=1; |
- | |
497 | if (intro_str_pos>intro_str.length()) |
- | |
498 | intro_str_pos=0; |
- | |
499 | lcd_lines[3]=intro_str.substring(intro_str_pos, (((intro_str_pos+20)>intro_str.length())?intro_str.length():intro_str_pos+20)); |
482 | lcd_lines[1]="Bluetooth Devices " + idle_seq[(((frame_pos/5)%idle_seq.length))]; |
500 | intro_str_pos++; |
- | |
501 | } |
- | |
502 | */ |
- | |
503 | lcd_lines[2]="found " + bt_scanner.remote_device_count; |
483 | lcd_lines[2]="found " + bt_scanner.remote_device_count; |
504 | 484 | ||
505 | if (!bt_scanner.searching) |
485 | if (!bt_scanner.searching) |
506 | chg_state(STATEID_DEVICESELECT); |
486 | chg_state(STATEID_DEVICESELECT); |
507 | - | ||
508 | 487 | ||
509 | break; |
488 | break; |
510 | //#endif |
489 | //#endif |
511 | 490 | ||
512 | 491 | ||
513 | } |
492 | } |
514 | 493 | ||
515 | if (quit) |
494 | if (quit) |
516 | { |
495 | { |
- | 496 | settings.speed_format=mk.gps_position.act_speed_format; |
|
- | 497 | settings.gps_format=mk.gps_position.act_gps_format; |
|
517 | settings.save(); |
498 | settings.save(); |
518 | root.quit(); |
499 | root.quit(); |
519 | } |
500 | } |
520 | 501 | ||
521 | try { |
502 | try { |
522 | //rescan=false; |
503 | //rescan=false; |
523 | bg_offset--; |
504 | bg_offset--; |
524 | if (bg_offset==-graph_data[0].length) |
505 | if (bg_offset==-graph_data[0].length) |
525 | bg_offset=0; |
506 | bg_offset=0; |
526 | //#if devicecontrol=="on" |
507 | //#if devicecontrol=="on" |
527 | if (settings.keep_lighton) com.nokia.mid.ui.DeviceControl.setLights(0,100); |
508 | if (settings.keep_lighton) com.nokia.mid.ui.DeviceControl.setLights(0,100); |
528 | //#endif |
509 | //#endif |
529 | } |
510 | } |
530 | catch (Exception e) { } |
511 | catch (Exception e) { } |
531 | 512 | ||
532 | 513 | ||
533 | sleeptime=1000/ 15 - (int) (System.currentTimeMillis()- loopStartTime); |
514 | sleeptime=1000/ 15 - (int) (System.currentTimeMillis()- loopStartTime); |
534 | 515 | ||
535 | if (sleeptime<0) |
516 | if (sleeptime<0) |
536 | sleeptime=100; // everyone has fi sleep |
517 | sleeptime=100; // everyone has fi sleep |
537 | 518 | ||
538 | try { Thread.sleep(sleeptime); } |
519 | try { Thread.sleep(sleeptime); } |
539 | catch (Exception e) |
520 | catch (Exception e) |
540 | { |
521 | { |
541 | debug.log("Problem Sleeping "); |
522 | debug.log("Problem Sleeping "); |
542 | } |
523 | } |
543 | 524 | ||
544 | } |
525 | } |
545 | catch (Exception e) |
526 | catch (Exception e) |
546 | { |
527 | { |
547 | debug.log("E!:"+e.getMessage()); |
528 | debug.log("E!:"+e.getMessage()); |
548 | 529 | ||
549 | } |
530 | } |
550 | } |
531 | } |
551 | } |
532 | } |
552 | 533 | ||
553 | 534 | ||
554 | 535 | ||
555 | boolean firstrun=true; |
536 | boolean firstrun=true; |
556 | 537 | ||
557 | public int skin_bg_color() |
538 | public int skin_bg_color() |
558 | { |
539 | { |
559 | 540 | ||
560 | switch (settings.act_skin) |
541 | switch (settings.act_skin) |
561 | { |
542 | { |
562 | case SKINID_DARK: |
543 | case SKINID_DARK: |
563 | return 0x000000; |
544 | return 0x000000; |
564 | 545 | ||
565 | default: |
546 | default: |
566 | case SKINID_LIGHT: |
547 | case SKINID_LIGHT: |
567 | return 0xFFFFFF; |
548 | return 0xFFFFFF; |
568 | } |
549 | } |
569 | } |
550 | } |
570 | 551 | ||
571 | 552 | ||
572 | public int skin_fg_color() |
553 | public int skin_fg_color() |
573 | { |
554 | { |
574 | 555 | ||
575 | switch (settings.act_skin) |
556 | switch (settings.act_skin) |
576 | { |
557 | { |
577 | case SKINID_DARK: |
558 | case SKINID_DARK: |
578 | return 0xFFFFFF; |
559 | return 0xFFFFFF; |
579 | 560 | ||
580 | default: |
561 | default: |
581 | case SKINID_LIGHT: |
562 | case SKINID_LIGHT: |
582 | return 0x000000; |
563 | return 0x000000; |
583 | } |
564 | } |
584 | } |
565 | } |
585 | 566 | ||
586 | // drawing section |
567 | // drawing section |
587 | public void paint(Graphics g) { |
568 | public void paint(Graphics g) { |
588 | 569 | ||
589 | canvas_width=this.getWidth(); |
570 | canvas_width=this.getWidth(); |
590 | canvas_height=this.getHeight(); |
571 | canvas_height=this.getHeight(); |
591 | 572 | ||
592 | if (debug.showing) |
573 | if (debug.showing) |
593 | { |
574 | { |
594 | debug.paint(g); |
575 | debug.paint(g); |
595 | return; |
576 | return; |
596 | } |
577 | } |
597 | 578 | ||
598 | 579 | ||
599 | if (firstrun) |
580 | if (firstrun) |
600 | { |
581 | { |
601 | if (settings.fullscreen) setFullScreenMode(settings.fullscreen); |
582 | if (settings.fullscreen) setFullScreenMode(settings.fullscreen); |
602 | firstrun=false; |
583 | firstrun=false; |
603 | } |
584 | } |
604 | y_off=0; |
585 | y_off=0; |
605 | 586 | ||
606 | 587 | ||
607 | 588 | ||
608 | try { |
589 | try { |
609 | 590 | ||
610 | if (mk!=null) |
591 | if (mk!=null) |
611 | { |
592 | { |
612 | line_middle_y=canvas_height/2; |
593 | line_middle_y=canvas_height/2; |
613 | if (local_max<Math.abs(mk.debug_data.nick_int())) |
594 | if (local_max<Math.abs(mk.debug_data.nick_int())) |
614 | local_max=Math.abs(mk.debug_data.nick_int()); |
595 | local_max=Math.abs(mk.debug_data.nick_int()); |
615 | if (local_max<Math.abs(mk.debug_data.roll_int())) |
596 | if (local_max<Math.abs(mk.debug_data.roll_int())) |
616 | local_max=Math.abs(mk.debug_data.roll_int()); |
597 | local_max=Math.abs(mk.debug_data.roll_int()); |
617 | if (local_max<Math.abs(mk.debug_data.accnick())) |
598 | if (local_max<Math.abs(mk.debug_data.accnick())) |
618 | local_max=Math.abs(mk.debug_data.accnick()); |
599 | local_max=Math.abs(mk.debug_data.accnick()); |
619 | if (local_max<Math.abs(mk.debug_data.accroll())) |
600 | if (local_max<Math.abs(mk.debug_data.accroll())) |
620 | local_max=Math.abs(mk.debug_data.accroll()); |
601 | local_max=Math.abs(mk.debug_data.accroll()); |
621 | line_scaler= local_max/(canvas_height/2)+1; |
602 | line_scaler= local_max/(canvas_height/2)+1; |
622 | } |
603 | } |
623 | 604 | ||
624 | 605 | ||
625 | Font f1 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM); |
606 | Font f1 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM); |
626 | Font f2 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL); |
607 | Font f2 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL); |
627 | 608 | ||
628 | spacer=(f1.getHeight()); |
609 | spacer=(f1.getHeight()); |
629 | spacer1=(f2.getHeight()); |
610 | spacer1=(f2.getHeight()); |
630 | 611 | ||
631 | //default Font |
612 | //default Font |
632 | g.setFont(f1); |
613 | g.setFont(f1); |
633 | 614 | ||
634 | 615 | ||
635 | //draw background |
616 | //draw background |
636 | if ((!settings.do_scrollbg) || (state==STATEID_EDIT_PARAMS)) |
617 | if ((!settings.do_scrollbg) || (state==STATEID_EDIT_PARAMS)) |
637 | { |
618 | { |
638 | g.setColor(0xdedfff); |
619 | g.setColor(0xdedfff); |
639 | g.fillRect(0,0,canvas_width,symbols_img.getHeight()); |
620 | g.fillRect(0,0,canvas_width,symbols_img.getHeight()); |
640 | 621 | ||
641 | g.setColor(skin_bg_color()); |
622 | g.setColor(skin_bg_color()); |
642 | g.fillRect(0,symbols_img.getHeight(),canvas_width,canvas_height-symbols_img.getHeight()); |
623 | g.fillRect(0,symbols_img.getHeight(),canvas_width,canvas_height-symbols_img.getHeight()); |
643 | 624 | ||
644 | 625 | ||
645 | } |
626 | } |
646 | else |
627 | else |
647 | { |
628 | { |
648 | g.setColor(0xFFFFFF); |
629 | g.setColor(0xFFFFFF); |
649 | g.fillRect(0,0,canvas_width,canvas_height); |
630 | g.fillRect(0,0,canvas_width,canvas_height); |
650 | g.drawImage(bg_img,bg_offset,0, g.TOP | g.LEFT); |
631 | g.drawImage(bg_img,bg_offset,0, g.TOP | g.LEFT); |
651 | 632 | ||
652 | if (bg_offset+bg_img.getWidth()<canvas_width) |
633 | if (bg_offset+bg_img.getWidth()<canvas_width) |
653 | g.drawImage(bg_img,bg_offset+bg_img.getWidth(),0, g.TOP | g.LEFT); |
634 | g.drawImage(bg_img,bg_offset+bg_img.getWidth(),0, g.TOP | g.LEFT); |
654 | } |
635 | } |
655 | 636 | ||
656 | 637 | ||
657 | //int bar=0; |
638 | //int bar=0; |
658 | // for ( int bar=0;bar<3;bar++) |
639 | // for ( int bar=0;bar<3;bar++) |
659 | if (settings.do_scrollbg) |
640 | if (settings.do_scrollbg) |
660 | for ( int bar=0;bar<canvas_width/(symbols_img.getWidth()/10)+1;bar++) |
641 | for ( int bar=0;bar<canvas_width/(symbols_img.getWidth()/10)+1;bar++) |
661 | { |
642 | { |
662 | g.setClip(bar*(symbols_img.getWidth()/10),0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
643 | g.setClip(bar*(symbols_img.getWidth()/10),0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
663 | g.drawImage(symbols_img,bar*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
644 | g.drawImage(symbols_img,bar*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
664 | } |
645 | } |
665 | 646 | ||
666 | int symbol_left=0; |
647 | int symbol_left=0; |
667 | 648 | ||
668 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
649 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
669 | if ((mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk())) |
650 | if ((mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk())) |
670 | { |
651 | { |
671 | 652 | ||
672 | if (((mk.stats.bytes_in>>3)&1)==1) |
653 | if (((mk.stats.bytes_in>>3)&1)==1) |
673 | g.drawImage(symbols_img,(-2)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
654 | g.drawImage(symbols_img,(-2)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
674 | else |
655 | else |
675 | g.drawImage(symbols_img,(-3)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
656 | g.drawImage(symbols_img,(-3)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
676 | 657 | ||
677 | 658 | ||
678 | int symbol_spacer=5; |
659 | int symbol_spacer=5; |
679 | symbol_left+=symbol_spacer+(symbols_img.getWidth()/10); |
660 | symbol_left+=symbol_spacer+(symbols_img.getWidth()/10); |
680 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
661 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
681 | 662 | ||
682 | g.drawImage(symbols_img,symbol_left+(-4)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
663 | g.drawImage(symbols_img,symbol_left+(-4)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
683 | g.setClip(0,0,canvas_width,canvas_height); |
664 | g.setClip(0,0,canvas_width,canvas_height); |
684 | g.setColor(0x03035a); |
665 | g.setColor(0x03035a); |
685 | 666 | ||
686 | symbol_left+=2+(symbols_img.getWidth()/10); |
667 | symbol_left+=2+(symbols_img.getWidth()/10); |
687 | g.drawString("" + (mk.UBatt()/10) + "," +(mk.UBatt()%10)+"V" , symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
668 | g.drawString("" + (mk.UBatt()/10) + "," +(mk.UBatt()%10)+"V" , symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
688 | 669 | ||
689 | 670 | ||
690 | symbol_left+= g.getFont().stringWidth("88,8V");//; |
671 | symbol_left+= g.getFont().stringWidth("88,8V");//; |
691 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight()); |
672 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight()); |
692 | g.drawImage(symbols_img,(-6)*(symbols_img.getWidth()/10) + symbol_left,0, g.TOP | g.LEFT); |
673 | g.drawImage(symbols_img,(-6)*(symbols_img.getWidth()/10) + symbol_left,0, g.TOP | g.LEFT); |
693 | 674 | ||
694 | g.setClip(0,0,canvas_width,canvas_height); |
675 | g.setClip(0,0,canvas_width,canvas_height); |
695 | 676 | ||
696 | symbol_left+=2+(symbols_img.getWidth()/10); |
677 | symbol_left+=2+(symbols_img.getWidth()/10); |
697 | g.drawString(""+mk.SenderOkay() ,symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
678 | g.drawString(""+mk.SenderOkay() ,symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
698 | 679 | ||
699 | 680 | ||
700 | symbol_left+= g.getFont().stringWidth("8")+symbol_spacer; //,0,(symbols_img.getWidth()/10)+2; |
681 | symbol_left+= g.getFont().stringWidth("8")+symbol_spacer; //,0,(symbols_img.getWidth()/10)+2; |
701 | 682 | ||
702 | 683 | ||
703 | 684 | ||
704 | 685 | ||
705 | if (mk.ufo_prober.is_navi()) |
686 | if (mk.ufo_prober.is_navi()) |
706 | { |
687 | { |
707 | 688 | ||
708 | 689 | ||
709 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight()); |
690 | g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight()); |
710 | g.drawImage(symbols_img,(-5)*(symbols_img.getWidth()/10) + symbol_left,0, g.TOP | g.LEFT); |
691 | g.drawImage(symbols_img,(-5)*(symbols_img.getWidth()/10) + symbol_left,0, g.TOP | g.LEFT); |
711 | g.setClip(0,0,canvas_width,canvas_height); |
692 | g.setClip(0,0,canvas_width,canvas_height); |
712 | symbol_left+=2+(symbols_img.getWidth()/10); |
693 | symbol_left+=2+(symbols_img.getWidth()/10); |
713 | g.drawString(""+mk.gps_position.SatsInUse ,symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
694 | g.drawString(""+mk.gps_position.SatsInUse ,symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
714 | 695 | ||
715 | } |
696 | } |
716 | 697 | ||
717 | } |
698 | } |
718 | 699 | ||
719 | else |
700 | else |
720 | g.drawImage(symbols_img,(-1)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
701 | g.drawImage(symbols_img,(-1)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
721 | 702 | ||
722 | // if (mk.connected) |
703 | // if (mk.connected) |
723 | 704 | ||
724 | 705 | ||
725 | // unclip |
706 | // unclip |
726 | g.setClip(0,0,canvas_width,canvas_height); |
707 | g.setClip(0,0,canvas_width,canvas_height); |
727 | 708 | ||
728 | y_off+=symbols_img.getHeight(); |
709 | y_off+=symbols_img.getHeight(); |
729 | g.setColor(skin_fg_color()); |
710 | g.setColor(skin_fg_color()); |
730 | 711 | ||
731 | switch(state) |
712 | switch(state) |
732 | { |
713 | { |
733 | 714 | ||
734 | 715 | ||
735 | case STATEID_DATABUFF: |
716 | case STATEID_DATABUFF: |
736 | g.setFont(f2); |
717 | g.setFont(f2); |
737 | 718 | ||
738 | y_off=canvas_height-spacer1; |
719 | y_off=canvas_height-spacer1; |
739 | 720 | ||
740 | for (int pos_y=0;pos_y<(((canvas_height-spacer1)/spacer1));pos_y++) |
721 | for (int pos_y=0;pos_y<(((canvas_height-spacer1)/spacer1));pos_y++) |
741 | { |
722 | { |
742 | 723 | ||
743 | g.drawString(mk.get_buff(pos_y) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
724 | g.drawString(mk.get_buff(pos_y) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
744 | y_off-=spacer1; |
725 | y_off-=spacer1; |
745 | } |
726 | } |
746 | break; |
727 | break; |
747 | case STATEID_NC_ERRORS: |
728 | case STATEID_NC_ERRORS: |
748 | if (settings.do_scrollbg) |
729 | if (settings.do_scrollbg) |
749 | { |
730 | { |
750 | int err_img_left=(canvas_width-err_img.getWidth()/2)/2; |
731 | int err_img_left=(canvas_width-err_img.getWidth()/2)/2; |
751 | int err_img_top=(canvas_height-err_img.getHeight())/2; |
732 | int err_img_top=(canvas_height-err_img.getHeight())/2; |
752 | g.setClip(err_img_left,err_img_top,err_img.getWidth()/2,err_img.getHeight()); |
733 | g.setClip(err_img_left,err_img_top,err_img.getWidth()/2,err_img.getHeight()); |
753 | g.drawImage(err_img,err_img_left-err_img.getWidth()/2,err_img_top, g.TOP | g.LEFT); |
734 | g.drawImage(err_img,err_img_left-err_img.getWidth()/2,err_img_top, g.TOP | g.LEFT); |
754 | } |
735 | } |
755 | paint_lcd(g,true); |
736 | paint_lcd(g,true); |
756 | 737 | ||
757 | break; |
738 | break; |
758 | 739 | ||
759 | case STATEID_GPSVIEW: |
740 | case STATEID_GPSVIEW: |
760 | 741 | ||
761 | g.setFont(f2); |
742 | g.setFont(f2); |
762 | 743 | ||
763 | g.setStrokeStyle(Graphics.SOLID); |
744 | g.setStrokeStyle(Graphics.SOLID); |
764 | g.setColor(0x0000ff); |
745 | g.setColor(0x0000ff); |
765 | 746 | ||
766 | 747 | ||
767 | // g.fillArc(0, 0, canvas_width, canvas_width, 0,45); |
748 | // g.fillArc(0, 0, canvas_width, canvas_width, 0,45); |
768 | 749 | ||
769 | /* |
750 | /* |
770 | int start_angle=(360+mk.gps_position.angle2wp(act_wp) - ((360+mk.debug_data.analog[26]-heading_offset)%360))%360; |
751 | int start_angle=(360+mk.gps_position.angle2wp(act_wp) - ((360+mk.debug_data.analog[26]-heading_offset)%360))%360; |
771 | // start_angle=0; |
752 | // start_angle=0; |
772 | start_angle=(360-start_angle +90 -(45/2))%360; |
753 | start_angle=(360-start_angle +90 -(45/2))%360; |
773 | 754 | ||
774 | g.fillArc(0, 0, canvas_width, canvas_width, start_angle,45); |
755 | g.fillArc(0, 0, canvas_width, canvas_width, start_angle,45); |
775 | */ |
756 | */ |
776 | // g.drawArc(1, 1, canvas_width-2, canvas_width-2, start_angle,45); |
757 | // g.drawArc(1, 1, canvas_width-2, canvas_width-2, start_angle,45); |
777 | // g.drawArc(2, 2, canvas_width-4, canvas_width-4, start_angle ,45); |
758 | // g.drawArc(2, 2, canvas_width-4, canvas_width-4, start_angle ,45); |
778 | 759 | ||
779 | 760 | ||
780 | g.setColor(skin_fg_color()); |
761 | g.setColor(skin_fg_color()); |
781 | 762 | ||
782 | g.drawString("Used Sats: " + mk.gps_position.SatsInUse + " | Packages: " + mk.stats.navi_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
763 | g.drawString("Used Sats: " + mk.gps_position.SatsInUse + " | Packages: " + mk.stats.navi_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
783 | y_off+=spacer1; |
764 | y_off+=spacer1; |
784 | 765 | ||
785 | g.drawString("Lat: " + mk.gps_position.Latitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
766 | g.drawString("Lat: " + mk.gps_position.Latitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
786 | y_off+=spacer1; |
767 | y_off+=spacer1; |
787 | 768 | ||
788 | g.drawString("Long: " + mk.gps_position.Longitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
769 | g.drawString("Long: " + mk.gps_position.Longitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
789 | y_off+=spacer1; |
770 | y_off+=spacer1; |
790 | 771 | ||
791 | g.drawString("Altitude: " + mk.gps_position.Altitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
772 | g.drawString("Altitude: " + mk.gps_position.Altitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
792 | y_off+=spacer1; |
773 | y_off+=spacer1; |
- | 774 | ||
- | 775 | g.drawString("GrSpeed: " + mk.gps_position.GroundSpeed_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
|
- | 776 | y_off+=spacer1; |
|
- | 777 | ||
- | 778 | g.drawString("Heading: " + mk.gps_position.Heading ,0,y_off,Graphics.TOP | Graphics.LEFT); |
|
- | 779 | y_off+=spacer1; |
|
- | 780 | ||
- | 781 | g.drawString("CompasHeading: " + mk.gps_position.CompasHeading ,0,y_off,Graphics.TOP | Graphics.LEFT); |
|
- | 782 | y_off+=spacer1; |
|
793 | 783 | ||
794 | 784 | ||
795 | g.drawString("Target-Lat: " + mk.gps_position.TargetLatitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
785 | g.drawString("Target-Lat: " + mk.gps_position.TargetLatitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
796 | y_off+=spacer1; |
786 | y_off+=spacer1; |
797 | g.drawString("Target-Long: " + mk.gps_position.TargetLongitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
787 | g.drawString("Target-Long: " + mk.gps_position.TargetLongitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
798 | y_off+=spacer1; |
788 | y_off+=spacer1; |
799 | 789 | ||
800 | g.drawString("Target-Alt: " + mk.gps_position.TargetAltitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
790 | g.drawString("Target-Alt: " + mk.gps_position.TargetAltitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
801 | y_off+=spacer1; |
791 | y_off+=spacer1; |
802 | 792 | ||
803 | 793 | ||
804 | g.drawString("Home-Lat: " + mk.gps_position.HomeLatitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
794 | g.drawString("Home-Lat: " + mk.gps_position.HomeLatitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
805 | y_off+=spacer1; |
795 | y_off+=spacer1; |
806 | 796 | ||
807 | g.drawString("Home-Long: " + mk.gps_position.HomeLongitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
797 | g.drawString("Home-Long: " + mk.gps_position.HomeLongitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
808 | y_off+=spacer1; |
798 | y_off+=spacer1; |
809 | 799 | ||
810 | g.drawString("Home-Alt: " + mk.gps_position.HomeAltitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
800 | g.drawString("Home-Alt: " + mk.gps_position.HomeAltitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
811 | 801 | ||
812 | y_off+=spacer1; |
802 | y_off+=spacer1; |
813 | g.drawString("Distance : " + mk.gps_position.Distance2Target ,0,y_off,Graphics.TOP | Graphics.LEFT); |
803 | g.drawString("Distance : " + mk.gps_position.Distance2Target ,0,y_off,Graphics.TOP | Graphics.LEFT); |
814 | y_off+=spacer1; |
804 | y_off+=spacer1; |
815 | g.drawString("Angle: " + mk.gps_position.Angle2Target ,0,y_off,Graphics.TOP | Graphics.LEFT); |
805 | g.drawString("Angle: " + mk.gps_position.Angle2Target ,0,y_off,Graphics.TOP | Graphics.LEFT); |
816 | y_off+=spacer1; |
806 | y_off+=spacer1; |
817 | 807 | ||
818 | g.drawString("WayPoints: " + mk.gps_position.WayPointNumber + "/" + mk.gps_position.WayPointIndex ,0,y_off,Graphics.TOP | Graphics.LEFT); |
808 | g.drawString("WayPoints: " + mk.gps_position.WayPointNumber + "/" + mk.gps_position.WayPointIndex ,0,y_off,Graphics.TOP | Graphics.LEFT); |
819 | y_off+=spacer; |
809 | y_off+=spacer; |
820 | 810 | ||
821 | 811 | ||
822 | 812 | ||
823 | /* |
813 | /* |
824 | g.drawString("" + mk.gps_position.NameWP[act_wp] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
814 | g.drawString("" + mk.gps_position.NameWP[act_wp] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
825 | y_off+=spacer; |
815 | y_off+=spacer; |
826 | 816 | ||
827 | g.drawString("Lat: " + mk.gps_position.WP_Latitude_str(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
817 | g.drawString("Lat: " + mk.gps_position.WP_Latitude_str(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
828 | y_off+=spacer; |
818 | y_off+=spacer; |
829 | 819 | ||
830 | g.drawString("Long: " + mk.gps_position.WP_Longitude_str(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
820 | g.drawString("Long: " + mk.gps_position.WP_Longitude_str(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
831 | y_off+=spacer; |
821 | y_off+=spacer; |
832 | 822 | ||
833 | 823 | ||
834 | g.drawString("Distance: " + mk.gps_position.distance2wp(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
824 | g.drawString("Distance: " + mk.gps_position.distance2wp(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
835 | y_off+=spacer; |
825 | y_off+=spacer; |
836 | 826 | ||
837 | g.drawString("Angle: " + mk.gps_position.angle2wp(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
827 | g.drawString("Angle: " + mk.gps_position.angle2wp(act_wp) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
838 | y_off+=spacer; |
828 | y_off+=spacer; |
839 | 829 | ||
840 | g.drawString("Compas Heading: " + (360+mk.debug_data.analog[26]-heading_offset)%360) + "(" +mk.debug_data.analog[26] +")" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
830 | g.drawString("Compas Heading: " + (360+mk.debug_data.analog[26]-heading_offset)%360) + "(" +mk.debug_data.analog[26] +")" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
841 | y_off+=spacer; |
831 | y_off+=spacer; |
842 | */ |
832 | */ |
843 | 833 | ||
844 | 834 | ||
845 | break; |
835 | break; |
846 | 836 | ||
847 | case STATEID_FLASHING: |
837 | case STATEID_FLASHING: |
848 | int msg_pos=0; |
838 | int msg_pos=0; |
849 | while (mk.flash_msgs[msg_pos]!=null) |
839 | while (mk.flash_msgs[msg_pos]!=null) |
850 | { |
840 | { |
851 | g.drawString(mk.flash_msgs[msg_pos] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
841 | g.drawString(mk.flash_msgs[msg_pos] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
852 | y_off+=spacer; |
842 | y_off+=spacer; |
853 | msg_pos++; |
843 | msg_pos++; |
854 | } |
844 | } |
855 | break; |
845 | break; |
856 | 846 | ||
857 | case STATEID_CAMMODE: |
847 | case STATEID_CAMMODE: |
858 | 848 | ||
859 | if (cam_img!=null) |
849 | if (cam_img!=null) |
860 | g.drawImage(cam_img,0,0,g.TOP | g.LEFT); |
850 | g.drawImage(cam_img,0,0,g.TOP | g.LEFT); |
861 | g.drawString("condition: " + cam_condition() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
851 | g.drawString("condition: " + cam_condition() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
862 | y_off+=spacer; |
852 | y_off+=spacer; |
863 | g.drawString("width " + cam_img.getWidth(),0,y_off,Graphics.TOP | Graphics.LEFT); |
853 | g.drawString("width " + cam_img.getWidth(),0,y_off,Graphics.TOP | Graphics.LEFT); |
864 | y_off+=spacer; |
854 | y_off+=spacer; |
865 | g.drawString("height " + cam_img.getHeight(),0,y_off,Graphics.TOP | Graphics.LEFT); |
855 | g.drawString("height " + cam_img.getHeight(),0,y_off,Graphics.TOP | Graphics.LEFT); |
866 | y_off+=spacer; |
856 | y_off+=spacer; |
867 | break; |
857 | break; |
868 | 858 | ||
869 | case STATEID_STICKVIEW: |
859 | case STATEID_STICKVIEW: |
870 | 860 | ||
871 | for(int tmp_y=0;tmp_y<10;tmp_y++) |
861 | for(int tmp_y=0;tmp_y<10;tmp_y++) |
872 | { |
862 | { |
873 | g.drawString(""+tmp_y+"(" + mk.params.stick_names[tmp_y] + ")=>"+mk.stick_data.stick[tmp_y],0,y_off,Graphics.TOP | Graphics.LEFT); |
863 | g.drawString(""+tmp_y+"(" + mk.params.stick_names[tmp_y] + ")=>"+mk.stick_data.stick[tmp_y],0,y_off,Graphics.TOP | Graphics.LEFT); |
874 | y_off+=spacer; |
864 | y_off+=spacer; |
875 | } |
865 | } |
876 | break; |
866 | break; |
877 | 867 | ||
878 | case STATEID_KEYCONTROL: |
868 | case STATEID_KEYCONTROL: |
879 | 869 | ||
880 | 870 | ||
881 | y_off+=spacer; |
871 | y_off+=spacer; |
882 | g.drawString("UP&DOWN => nick",0,y_off,Graphics.TOP | Graphics.LEFT); |
872 | g.drawString("UP&DOWN => nick",0,y_off,Graphics.TOP | Graphics.LEFT); |
883 | y_off+=spacer; |
873 | y_off+=spacer; |
884 | g.drawString("LEFT&RIGHT => roll",0,y_off,Graphics.TOP | Graphics.LEFT); |
874 | g.drawString("LEFT&RIGHT => roll",0,y_off,Graphics.TOP | Graphics.LEFT); |
885 | y_off+=spacer; |
875 | y_off+=spacer; |
886 | g.drawString("1&4 => altitude",0,y_off,Graphics.TOP | Graphics.LEFT); |
876 | g.drawString("1&4 => altitude",0,y_off,Graphics.TOP | Graphics.LEFT); |
887 | 877 | ||
888 | y_off+=spacer; |
878 | y_off+=spacer; |
889 | g.drawString("2&3 => gier",0,y_off,Graphics.TOP | Graphics.LEFT); |
879 | g.drawString("2&3 => gier",0,y_off,Graphics.TOP | Graphics.LEFT); |
890 | 880 | ||
891 | y_off+=spacer; |
881 | y_off+=spacer; |
892 | g.drawString("Press # and * at once",0,y_off,Graphics.TOP | Graphics.LEFT); |
882 | g.drawString("Press # and * at once",0,y_off,Graphics.TOP | Graphics.LEFT); |
893 | y_off+=spacer; |
883 | y_off+=spacer; |
894 | g.drawString("to quit KeyControl",0,y_off,Graphics.TOP | Graphics.LEFT); |
884 | g.drawString("to quit KeyControl",0,y_off,Graphics.TOP | Graphics.LEFT); |
895 | y_off+=spacer; |
885 | y_off+=spacer; |
896 | g.drawString("bf1:"+ keycontrol_bitfield[0] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
886 | g.drawString("bf1:"+ keycontrol_bitfield[0] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
897 | g.drawString("bf2:"+ keycontrol_bitfield[1] ,canvas_width/2,y_off,Graphics.TOP | Graphics.LEFT); |
887 | g.drawString("bf2:"+ keycontrol_bitfield[1] ,canvas_width/2,y_off,Graphics.TOP | Graphics.LEFT); |
898 | 888 | ||
899 | break; |
889 | break; |
900 | 890 | ||
901 | case STATEID_MOTORTEST: |
891 | case STATEID_MOTORTEST: |
902 | for (int bar=0;bar<4;bar++) |
892 | for (int bar=0;bar<4;bar++) |
903 | 893 | ||
904 | { |
894 | { |
905 | g.setColor(((bar==act_motor)|motor_test_sel_all)?0x44CC44:0x4444DD); |
895 | g.setColor(((bar==act_motor)|motor_test_sel_all)?0x44CC44:0x4444DD); |
906 | g.fillRect(canvas_width/(8*2)+bar*2*canvas_width/8,y_off+10,canvas_width/8,y_off+20+motor_test[bar]); |
896 | g.fillRect(canvas_width/(8*2)+bar*2*canvas_width/8,y_off+10,canvas_width/8,y_off+20+motor_test[bar]); |
907 | g.setColor(0x000000); |
897 | g.setColor(0x000000); |
908 | g.drawString(""+motor_test[bar] ,canvas_width/8+bar*2*canvas_width/8,y_off+10,Graphics.TOP | Graphics.HCENTER); |
898 | g.drawString(""+motor_test[bar] ,canvas_width/8+bar*2*canvas_width/8,y_off+10,Graphics.TOP | Graphics.HCENTER); |
909 | g.drawString(""+mk.debug_data.motor_val(bar) ,canvas_width/8+bar*2*canvas_width/8,y_off+25,Graphics.TOP | Graphics.HCENTER); |
899 | g.drawString(""+mk.debug_data.motor_val(bar) ,canvas_width/8+bar*2*canvas_width/8,y_off+25,Graphics.TOP | Graphics.HCENTER); |
910 | } |
900 | } |
911 | break; |
901 | break; |
912 | 902 | ||
913 | case STATEID_EDIT_PARAMS: |
903 | case STATEID_EDIT_PARAMS: |
914 | params_editor.paint(g); |
904 | params_editor.paint(g); |
915 | break; |
905 | break; |
916 | 906 | ||
917 | case STATEID_SELECT_COMPORT: |
907 | case STATEID_SELECT_COMPORT: |
918 | g.drawString("ports: " + System.getProperty("microedition.commports"),0,y_off,Graphics.TOP | Graphics.LEFT); |
908 | g.drawString("ports: " + System.getProperty("microedition.commports"),0,y_off,Graphics.TOP | Graphics.LEFT); |
919 | y_off+=spacer; |
909 | y_off+=spacer; |
920 | paint_menu(g); |
910 | paint_menu(g); |
921 | break; |
911 | break; |
922 | 912 | ||
923 | //#if fileapi=="on" |
913 | //#if fileapi=="on" |
924 | case STATEID_FILEOPEN: |
914 | case STATEID_FILEOPEN: |
925 | y_off+=spacer; |
915 | y_off+=spacer; |
926 | g.drawString("act_path" + act_path() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
916 | g.drawString("act_path" + act_path() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
927 | paint_menu(g); |
917 | paint_menu(g); |
928 | break; |
918 | break; |
929 | //#endif |
919 | //#endif |
930 | case STATEID_ABOUT: |
920 | case STATEID_ABOUT: |
931 | case STATEID_IPINPUT: |
921 | case STATEID_IPINPUT: |
932 | paint_lcd(g,true); |
922 | paint_lcd(g,true); |
933 | break; |
923 | break; |
934 | 924 | ||
935 | case STATEID_READ_PARAMS: |
925 | case STATEID_READ_PARAMS: |
936 | paint_lcd(g,true); |
926 | paint_lcd(g,true); |
937 | break; |
927 | break; |
938 | 928 | ||
939 | 929 | ||
940 | //#if bluetooth=="on" |
930 | //#if bluetooth=="on" |
941 | case STATEID_SCANNING: |
931 | case STATEID_SCANNING: |
942 | paint_lcd(g,true); |
932 | paint_lcd(g,true); |
943 | break; |
933 | break; |
944 | //#endif |
934 | //#endif |
945 | case STATEID_RAWDEBUG: |
935 | case STATEID_RAWDEBUG: |
946 | g.setFont(f2); |
936 | g.setFont(f2); |
947 | rawdebug_off_y=0; |
937 | rawdebug_off_y=0; |
948 | if ((rawdebug_cursor_y+3)*spacer1>canvas_height) |
938 | if ((rawdebug_cursor_y+3)*spacer1>canvas_height) |
949 | rawdebug_off_y=((rawdebug_cursor_y+3)*spacer1-canvas_height)/spacer1; |
939 | rawdebug_off_y=((rawdebug_cursor_y+3)*spacer1-canvas_height)/spacer1; |
950 | for (int i=0;i<(canvas_height/spacer1)-1;i++) |
940 | for (int i=0;i<(canvas_height/spacer1)-1;i++) |
951 | { |
941 | { |
952 | if (i+rawdebug_off_y==rawdebug_cursor_y) |
942 | if (i+rawdebug_off_y==rawdebug_cursor_y) |
953 | { |
943 | { |
954 | g.setColor(0x0000CC); |
944 | g.setColor(0x0000CC); |
955 | g.fillRect(0,y_off,canvas_width,spacer1); |
945 | g.fillRect(0,y_off,canvas_width,spacer1); |
956 | 946 | ||
957 | g.setColor(skin_fg_color()); |
947 | g.setColor(skin_fg_color()); |
958 | 948 | ||
959 | 949 | ||
960 | } |
950 | } |
961 | if (i+rawdebug_off_y<32) //todo better style |
951 | if (i+rawdebug_off_y<32) //todo better style |
962 | g.drawString(mk.debug_data.names[i+rawdebug_off_y] + mk.debug_data.analog[i+rawdebug_off_y] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
952 | g.drawString(mk.debug_data.names[i+rawdebug_off_y] + mk.debug_data.analog[i+rawdebug_off_y] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
963 | 953 | ||
964 | y_off+=spacer1; |
954 | y_off+=spacer1; |
965 | 955 | ||
966 | } |
956 | } |
967 | 957 | ||
968 | 958 | ||
969 | 959 | ||
970 | break; |
960 | break; |
971 | 961 | ||
972 | 962 | ||
973 | case STATEID_CONN_DETAILS: |
963 | case STATEID_CONN_DETAILS: |
974 | g.setFont(f1); |
964 | g.setFont(f1); |
975 | g.drawString("Connection::",0,y_off,Graphics.TOP | Graphics.LEFT); |
965 | g.drawString("Connection::",0,y_off,Graphics.TOP | Graphics.LEFT); |
976 | y_off+=spacer; |
966 | y_off+=spacer; |
977 | g.setFont(f2); |
967 | g.setFont(f2); |
978 | 968 | ||
979 | g.drawString(" URL:" + mk.mk_url,0,y_off,Graphics.TOP | Graphics.LEFT); |
969 | g.drawString(" URL:" + mk.mk_url,0,y_off,Graphics.TOP | Graphics.LEFT); |
980 | y_off+=spacer1; |
970 | y_off+=spacer1; |
981 | 971 | ||
982 | g.drawString(" Name:" + mk.name,0,y_off,Graphics.TOP | Graphics.LEFT); |
972 | g.drawString(" Name:" + mk.name,0,y_off,Graphics.TOP | Graphics.LEFT); |
983 | y_off+=spacer1; |
973 | y_off+=spacer1; |
984 | 974 | ||
985 | g.drawString(" "+mk.ufo_prober.extended_name()+ " (" + (mk.connected?("open"+((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s"):"closed")+"):",0,y_off,Graphics.TOP | Graphics.LEFT); |
975 | g.drawString(" "+mk.ufo_prober.extended_name()+ " (" + (mk.connected?("open"+((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s"):"closed")+"):",0,y_off,Graphics.TOP | Graphics.LEFT); |
986 | y_off+=spacer1; |
976 | y_off+=spacer1; |
987 | g.drawString(" Version:" + mk.version.str ,0,y_off,Graphics.TOP | Graphics.LEFT); |
977 | g.drawString(" Version:" + mk.version.str ,0,y_off,Graphics.TOP | Graphics.LEFT); |
988 | y_off+=spacer1; |
978 | y_off+=spacer1; |
989 | g.drawString(" Slave-Addr:" + mk.slave_addr,0,y_off,Graphics.TOP | Graphics.LEFT); |
979 | g.drawString(" Slave-Addr:" + mk.slave_addr,0,y_off,Graphics.TOP | Graphics.LEFT); |
990 | 980 | ||
991 | paint_menu(g); |
981 | paint_menu(g); |
992 | 982 | ||
993 | break; |
983 | break; |
994 | 984 | ||
995 | case STATEID_TRAFFIC: |
985 | case STATEID_TRAFFIC: |
996 | 986 | ||
997 | g.setFont(f1); |
987 | g.setFont(f1); |
998 | g.drawString("Packet Traffic (over "+mk.conn_time_in_s()+"s):",0,y_off,Graphics.TOP | Graphics.LEFT); |
988 | g.drawString("Packet Traffic (over "+mk.conn_time_in_s()+"s):",0,y_off,Graphics.TOP | Graphics.LEFT); |
999 | y_off+=spacer; |
989 | y_off+=spacer; |
1000 | g.setFont(f2); |
990 | g.setFont(f2); |
1001 | g.drawString( ">>in:"+mk.stats.bytes_in+ " bytes => " + mk.stats.bytes_in/mk.conn_time_in_s() + " bytes/s",0,y_off,Graphics.TOP | Graphics.LEFT); |
991 | g.drawString( ">>in:"+mk.stats.bytes_in+ " bytes => " + mk.stats.bytes_in/mk.conn_time_in_s() + " bytes/s",0,y_off,Graphics.TOP | Graphics.LEFT); |
1002 | y_off+=spacer1; |
992 | y_off+=spacer1; |
1003 | 993 | ||
1004 | 994 | ||
1005 | 995 | ||
1006 | 996 | ||
1007 | g.drawString( " debug:"+mk.stats.debug_data_count+ " LCD:" + mk.stats.lcd_data_count + " vers:" + mk.stats.version_data_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
997 | g.drawString( " debug:"+mk.stats.debug_data_count+ " LCD:" + mk.stats.lcd_data_count + " vers:" + mk.stats.version_data_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
1008 | y_off+=spacer1; |
998 | y_off+=spacer1; |
1009 | g.drawString( " other:"+mk.stats.other_data_count+" params:"+mk.stats.params_data_count + " GPS:"+mk.stats.navi_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
999 | g.drawString( " other:"+mk.stats.other_data_count+" params:"+mk.stats.params_data_count + " GPS:"+mk.stats.navi_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1010 | y_off+=spacer1; |
1000 | y_off+=spacer1; |
1011 | g.drawString( " debug_names:" + mk.stats.debug_names_count + " angles:" + mk.stats.angle_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1001 | g.drawString( " debug_names:" + mk.stats.debug_names_count + " angles:" + mk.stats.angle_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1012 | 1002 | ||
1013 | 1003 | ||
1014 | y_off+=spacer1+3; |
1004 | y_off+=spacer1+3; |
1015 | g.drawString( "<<out:"+mk.stats.bytes_out + " bytes =>" + mk.stats.bytes_out/mk.conn_time_in_s() + "bytes/s", 0,y_off,Graphics.TOP | Graphics.LEFT); |
1005 | g.drawString( "<<out:"+mk.stats.bytes_out + " bytes =>" + mk.stats.bytes_out/mk.conn_time_in_s() + "bytes/s", 0,y_off,Graphics.TOP | Graphics.LEFT); |
1016 | y_off+=spacer1; |
1006 | y_off+=spacer1; |
1017 | g.drawString( " LCD:" + mk.stats.lcd_data_request_count + " vers:" + mk.stats.version_data_request_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
1007 | g.drawString( " LCD:" + mk.stats.lcd_data_request_count + " vers:" + mk.stats.version_data_request_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
1018 | y_off+=spacer1; |
1008 | y_off+=spacer1; |
1019 | g.drawString( " params:"+mk.stats.params_data_request_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1009 | g.drawString( " params:"+mk.stats.params_data_request_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1020 | y_off+=spacer1; |
1010 | y_off+=spacer1; |
1021 | 1011 | ||
1022 | paint_menu(g); |
1012 | paint_menu(g); |
1023 | break; |
1013 | break; |
1024 | 1014 | ||
1025 | case STATEID_PROXY: |
1015 | case STATEID_PROXY: |
1026 | g.setFont(f1); |
1016 | g.setFont(f1); |
1027 | g.drawString("Host:",0,y_off,Graphics.TOP | Graphics.LEFT); |
1017 | g.drawString("Host:",0,y_off,Graphics.TOP | Graphics.LEFT); |
1028 | y_off+=spacer; |
1018 | y_off+=spacer; |
1029 | g.setFont(f2); |
1019 | g.setFont(f2); |
1030 | g.drawString(" " + mk.proxy.url + "("+((mk.proxy.connected)?"open":"closed") +")",0,y_off,Graphics.TOP | Graphics.LEFT); |
1020 | g.drawString(" " + mk.proxy.url + "("+((mk.proxy.connected)?"open":"closed") +")",0,y_off,Graphics.TOP | Graphics.LEFT); |
1031 | y_off+=spacer1; |
1021 | y_off+=spacer1; |
1032 | 1022 | ||
1033 | 1023 | ||
1034 | 1024 | ||
1035 | break; |
1025 | break; |
1036 | - | ||
- | 1026 | ||
- | 1027 | // falltru wanted |
|
- | 1028 | case STATEID_SELECT_SPEED_FORMAT: |
|
1037 | 1029 | case STATEID_SELECT_GPS_FORMAT: |
|
1038 | case STATEID_MAINMENU: |
1030 | case STATEID_MAINMENU: |
1039 | 1031 | ||
1040 | case STATEID_SETTINGSMENU: |
1032 | case STATEID_SETTINGSMENU: |
1041 | // falltru wanted |
- | |
- | 1033 | ||
1042 | case STATEID_SELECT_PARAMSET: |
1034 | case STATEID_SELECT_PARAMSET: |
1043 | case STATEID_HANDLE_PARAMS: |
1035 | case STATEID_HANDLE_PARAMS: |
1044 | 1036 | ||
1045 | case STATEID_DEVICESELECT: |
1037 | case STATEID_DEVICESELECT: |
1046 | 1038 | ||
1047 | paint_menu(g); |
1039 | paint_menu(g); |
1048 | break; |
1040 | break; |
1049 | 1041 | ||
1050 | 1042 | ||
1051 | case STATEID_GRAPH: |
1043 | case STATEID_GRAPH: |
1052 | 1044 | ||
1053 | g.setClip(0,0,canvas_width,canvas_height); |
1045 | g.setClip(0,0,canvas_width,canvas_height); |
1054 | 1046 | ||
1055 | g.setStrokeStyle(Graphics.DOTTED); |
1047 | g.setStrokeStyle(Graphics.DOTTED); |
1056 | g.setColor(0xe1dddd); |
1048 | g.setColor(0xe1dddd); |
1057 | 1049 | ||
1058 | for (int d=0;d<GRAPH_COUNT;d++) |
1050 | for (int d=0;d<GRAPH_COUNT;d++) |
1059 | { |
1051 | { |
1060 | g.setColor(graph_colors[d]); |
1052 | g.setColor(graph_colors[d]); |
1061 | g.fillRect(0,y_off +spacer1/2-2 ,20,4); |
1053 | g.fillRect(0,y_off +spacer1/2-2 ,20,4); |
1062 | g.setColor(skin_fg_color()); |
1054 | g.setColor(skin_fg_color()); |
1063 | g.drawString(graph_names[d],23,y_off,Graphics.TOP | Graphics.LEFT); |
1055 | g.drawString(graph_names[d],23,y_off,Graphics.TOP | Graphics.LEFT); |
1064 | y_off+=spacer1; |
1056 | y_off+=spacer1; |
1065 | 1057 | ||
1066 | } |
1058 | } |
1067 | 1059 | ||
1068 | /* |
1060 | /* |
1069 | g.drawString("scale:"+scale + "line scaler" + line_scaler,0,y_off,Graphics.TOP | Graphics.LEFT); |
1061 | g.drawString("scale:"+scale + "line scaler" + line_scaler,0,y_off,Graphics.TOP | Graphics.LEFT); |
1070 | 1062 | ||
1071 | 1063 | ||
1072 | int jump=0; |
1064 | int jump=0; |
1073 | g.drawLine(0,line_middle_y,canvas_width,line_middle_y); |
1065 | g.drawLine(0,line_middle_y,canvas_width,line_middle_y); |
1074 | 1066 | ||
1075 | while (jump<canvas_height/2) |
1067 | while (jump<canvas_height/2) |
1076 | { |
1068 | { |
1077 | g.drawLine(0,line_middle_y - jump/line_scaler,canvas_width,line_middle_y - jump/line_scaler); |
1069 | g.drawLine(0,line_middle_y - jump/line_scaler,canvas_width,line_middle_y - jump/line_scaler); |
1078 | g.drawLine(0,line_middle_y + jump/line_scaler,canvas_width,line_middle_y + jump/line_scaler); |
1070 | g.drawLine(0,line_middle_y + jump/line_scaler,canvas_width,line_middle_y + jump/line_scaler); |
1079 | jump+=scale; |
1071 | jump+=scale; |
1080 | } |
1072 | } |
1081 | */ |
1073 | */ |
1082 | 1074 | ||
1083 | 1075 | ||
1084 | 1076 | ||
1085 | for (int gr=0;gr<GRAPH_COUNT;gr++) |
1077 | for (int gr=0;gr<GRAPH_COUNT;gr++) |
1086 | { |
1078 | { |
1087 | 1079 | ||
1088 | g.setColor(graph_colors[gr]); |
1080 | g.setColor(graph_colors[gr]); |
1089 | try { |
1081 | try { |
1090 | graph_data[gr][-bg_offset]=mk.debug_data.analog[graph_sources[gr]]; |
1082 | graph_data[gr][-bg_offset]=mk.debug_data.analog[graph_sources[gr]]; |
1091 | } |
1083 | } |
1092 | catch (Exception e) |
1084 | catch (Exception e) |
1093 | { |
1085 | { |
1094 | debug.log("E!:" + e.getMessage()); |
1086 | debug.log("E!:" + e.getMessage()); |
1095 | 1087 | ||
1096 | } |
1088 | } |
1097 | 1089 | ||
1098 | 1090 | ||
1099 | 1091 | ||
1100 | for ( int x=0;x<canvas_width;x++) |
1092 | for ( int x=0;x<canvas_width;x++) |
1101 | { |
1093 | { |
1102 | int p= (((-bg_offset+x-canvas_width-5))); |
1094 | int p= (((-bg_offset+x-canvas_width-5))); |
1103 | if (p<1) |
1095 | if (p<1) |
1104 | p+=graph_data[0].length; |
1096 | p+=graph_data[0].length; |
1105 | p%=(graph_data[0].length-1); |
1097 | p%=(graph_data[0].length-1); |
1106 | 1098 | ||
1107 | draw_graph_part(g,x,graph_data[gr][p]/line_scaler,graph_data[gr][p+1]/line_scaler); |
1099 | draw_graph_part(g,x,graph_data[gr][p]/line_scaler,graph_data[gr][p+1]/line_scaler); |
1108 | 1100 | ||
1109 | } |
1101 | } |
1110 | } |
1102 | } |
1111 | 1103 | ||
1112 | break; |
1104 | break; |
1113 | 1105 | ||
1114 | case STATEID_FLIGHTVIEW: |
1106 | case STATEID_FLIGHTVIEW: |
1115 | /* |
1107 | /* |
1116 | g.setClip(canvas_width/2-load_img.getWidth()/6+1,canvas_height/2-load_img.getHeight()/8+1, load_img.getWidth()/4,load_img.getHeight()/3);; |
1108 | g.setClip(canvas_width/2-load_img.getWidth()/6+1,canvas_height/2-load_img.getHeight()/8+1, load_img.getWidth()/4,load_img.getHeight()/3);; |
1117 | if (( mk.LCD.init_state!=-1)||(mk.LCD.act_mk_page!=mk.LCD.act_user_page)) g.drawImage(load_img,canvas_width/2-load_img.getWidth()/8 - ((((frame_pos/3)%12)%4)*(load_img.getWidth()/4)) ,canvas_height/2-load_img.getHeight()/6- ((((frame_pos/3)%12)/4)*(load_img.getHeight()/3)), g.TOP | g.LEFT); |
1109 | if (( mk.LCD.init_state!=-1)||(mk.LCD.act_mk_page!=mk.LCD.act_user_page)) g.drawImage(load_img,canvas_width/2-load_img.getWidth()/8 - ((((frame_pos/3)%12)%4)*(load_img.getWidth()/4)) ,canvas_height/2-load_img.getHeight()/6- ((((frame_pos/3)%12)/4)*(load_img.getHeight()/3)), g.TOP | g.LEFT); |
1118 | 1110 | ||
1119 | */ |
1111 | */ |
1120 | /* |
1112 | /* |
1121 | // !!TODO!! check exactly which version those Datas where introduced |
1113 | // !!TODO!! check exactly which version those Datas where introduced |
1122 | if (mk.version.compare(0,60)==mk.version.VERSION_PREVIOUS) |
1114 | if (mk.version.compare(0,60)==mk.version.VERSION_PREVIOUS) |
1123 | { |
1115 | { |
1124 | g.drawString("Voltage: " + (mk.debug_data.UBatt()/10) + "," +(mk.debug_data.UBatt()%10)+"V" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1116 | g.drawString("Voltage: " + (mk.debug_data.UBatt()/10) + "," +(mk.debug_data.UBatt()%10)+"V" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1125 | g.drawString("Sender: " + mk.debug_data.SenderOkay(),canvas_width/2,y_off,Graphics.TOP | Graphics.LEFT); |
1117 | g.drawString("Sender: " + mk.debug_data.SenderOkay(),canvas_width/2,y_off,Graphics.TOP | Graphics.LEFT); |
1126 | y_off+=spacer; |
1118 | y_off+=spacer; |
1127 | } |
1119 | } |
1128 | 1120 | ||
1129 | g.drawString(mk.version.str+"(d"+mk.debug_data_count+ "l" + mk.lcd_data_count+ "v" + mk.version_data_count+"o"+mk.other_data_count+"p"+mk.params_data_count+")",0,y_off,Graphics.TOP | Graphics.LEFT); |
1121 | g.drawString(mk.version.str+"(d"+mk.debug_data_count+ "l" + mk.lcd_data_count+ "v" + mk.version_data_count+"o"+mk.other_data_count+"p"+mk.params_data_count+")",0,y_off,Graphics.TOP | Graphics.LEFT); |
1130 | 1122 | ||
1131 | y_off+=spacer; |
1123 | y_off+=spacer; |
1132 | 1124 | ||
1133 | g.drawString("n:"+mk.debug_data.nick_int() + " r:"+mk.debug_data.roll_int() + " an:"+mk.debug_data.accnick() + " ar:"+mk.debug_data.accroll() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1125 | g.drawString("n:"+mk.debug_data.nick_int() + " r:"+mk.debug_data.roll_int() + " an:"+mk.debug_data.accnick() + " ar:"+mk.debug_data.accroll() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1134 | y_off+=spacer; |
1126 | y_off+=spacer; |
1135 | |
1127 | |
1136 | |
1128 | |
1137 | g.drawString("m1:"+mk.debug_data.motor_val(0) + " m2:"+mk.debug_data.motor_val(1)+" m3:"+mk.debug_data.motor_val(2) + " m4:"+mk.debug_data.motor_val(3) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1129 | g.drawString("m1:"+mk.debug_data.motor_val(0) + " m2:"+mk.debug_data.motor_val(1)+" m3:"+mk.debug_data.motor_val(2) + " m4:"+mk.debug_data.motor_val(3) ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1138 | y_off+=spacer; |
1130 | y_off+=spacer; |
1139 | |
1131 | |
1140 | if (mk.connected) |
1132 | if (mk.connected) |
1141 | { |
1133 | { |
1142 | g.drawString("time conn:" +((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1134 | g.drawString("time conn:" +((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1143 | y_off+=spacer; |
1135 | y_off+=spacer; |
1144 | g.drawString("time motor>15:" +(mk_stat.motor_on_time/1000) +"s" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1136 | g.drawString("time motor>15:" +(mk_stat.motor_on_time/1000) +"s" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1145 | y_off+=spacer; |
1137 | y_off+=spacer; |
1146 | g.drawString("time motor=15:" +(mk_stat.motor_stand_time/1000) +"s" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1138 | g.drawString("time motor=15:" +(mk_stat.motor_stand_time/1000) +"s" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1147 | y_off+=spacer; |
1139 | y_off+=spacer; |
1148 | g.drawString("lcd:" + mk.LCD.act_mk_page + "/" + mk.LCD.pages + " ( wanted: " + mk.LCD.act_user_page + "state:" + mk.LCD.init_state +")" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1140 | g.drawString("lcd:" + mk.LCD.act_mk_page + "/" + mk.LCD.pages + " ( wanted: " + mk.LCD.act_user_page + "state:" + mk.LCD.init_state +")" ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1149 | 1141 | ||
1150 | y_off+=spacer; |
1142 | y_off+=spacer; |
1151 | g.drawString("lcd-key:" + mk.LCD.act_key ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1143 | g.drawString("lcd-key:" + mk.LCD.act_key ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1152 | 1144 | ||
1153 | } |
1145 | } |
1154 | */ |
1146 | */ |
1155 | 1147 | ||
1156 | int spacer_left_right=(canvas_width-(20*(lcd_img.getWidth()/222)))/2; |
1148 | int spacer_left_right=(canvas_width-(20*(lcd_img.getWidth()/222)))/2; |
1157 | 1149 | ||
1158 | y_off=canvas_height-4*lcd_img.getHeight(); |
1150 | y_off=canvas_height-4*lcd_img.getHeight(); |
1159 | 1151 | ||
1160 | for ( int foo=0;foo<4;foo++) |
1152 | for ( int foo=0;foo<4;foo++) |
1161 | { |
1153 | { |
1162 | for (int x=0;x<20;x++) |
1154 | for (int x=0;x<20;x++) |
1163 | { |
1155 | { |
1164 | g.setClip(spacer_left_right+(lcd_img.getWidth()/222)*x,y_off,(lcd_img.getWidth()/222),lcd_img.getHeight()); |
1156 | g.setClip(spacer_left_right+(lcd_img.getWidth()/222)*x,y_off,(lcd_img.getWidth()/222),lcd_img.getHeight()); |
1165 | g.drawImage(lcd_img,spacer_left_right+(lcd_img.getWidth()/222)*x-(mk.LCD.get_act_page()[foo].charAt(x)-' ')*(lcd_img.getWidth()/222),y_off, g.TOP | g.LEFT); |
1157 | g.drawImage(lcd_img,spacer_left_right+(lcd_img.getWidth()/222)*x-(mk.LCD.get_act_page()[foo].charAt(x)-' ')*(lcd_img.getWidth()/222),y_off, g.TOP | g.LEFT); |
1166 | 1158 | ||
1167 | } |
1159 | } |
1168 | y_off+=lcd_img.getHeight(); |
1160 | y_off+=lcd_img.getHeight(); |
1169 | } |
1161 | } |
1170 | 1162 | ||
1171 | g.setClip(0,0,canvas_width,canvas_height); |
1163 | g.setClip(0,0,canvas_width,canvas_height); |
1172 | 1164 | ||
1173 | } |
1165 | } |
1174 | 1166 | ||
1175 | 1167 | ||
1176 | 1168 | ||
1177 | } catch (Exception e) {} |
1169 | } catch (Exception e) {} |
1178 | 1170 | ||
1179 | } |
1171 | } |
1180 | Player mPlayer; |
1172 | Player mPlayer; |
1181 | VideoControl mVideoControl; |
1173 | VideoControl mVideoControl; |
1182 | Image cam_img; |
1174 | Image cam_img; |
1183 | int cam_img_seq=0; |
1175 | int cam_img_seq=0; |
1184 | byte[] cam_raw; |
1176 | byte[] cam_raw; |
1185 | 1177 | ||
1186 | private void connect_mk(String url,String name) |
1178 | private void connect_mk(String url,String name) |
1187 | { |
1179 | { |
1188 | // mk.ufo_prober.bluetooth_probe(url); |
1180 | // mk.ufo_prober.bluetooth_probe(url); |
1189 | settings.connection_url=url; |
1181 | settings.connection_url=url; |
1190 | settings.connection_name=name; |
1182 | settings.connection_name=name; |
1191 | mk.connect_to(url,name); |
1183 | mk.connect_to(url,name); |
1192 | } |
1184 | } |
1193 | 1185 | ||
1194 | public void draw_graph_part(Graphics g,int x,int y1,int y2) |
1186 | public void draw_graph_part(Graphics g,int x,int y1,int y2) |
1195 | { |
1187 | { |
1196 | if ( canvas_width>200) |
1188 | if ( canvas_width>200) |
1197 | { |
1189 | { |
1198 | g.fillRect(x,line_middle_y-y1,1,1 ); |
1190 | g.fillRect(x,line_middle_y-y1,1,1 ); |
1199 | if (y1>y2) |
1191 | if (y1>y2) |
1200 | g.fillRect(x,line_middle_y-y1,1,y1-y2); |
1192 | g.fillRect(x,line_middle_y-y1,1,y1-y2); |
1201 | else |
1193 | else |
1202 | g.fillRect(x,line_middle_y-y2,1,y2-y1); |
1194 | g.fillRect(x,line_middle_y-y2,1,y2-y1); |
1203 | 1195 | ||
1204 | } |
1196 | } |
1205 | else |
1197 | else |
1206 | { |
1198 | { |
1207 | g.fillRect(x,line_middle_y-y1,1,1 ); |
1199 | g.fillRect(x,line_middle_y-y1,1,1 ); |
1208 | if (y1>y2) |
1200 | if (y1>y2) |
1209 | g.fillRect(x,line_middle_y-y1,1,y1-y2); |
1201 | g.fillRect(x,line_middle_y-y1,1,y1-y2); |
1210 | else |
1202 | else |
1211 | g.fillRect(x,line_middle_y-y2,1,y2-y1); |
1203 | g.fillRect(x,line_middle_y-y2,1,y2-y1); |
1212 | } |
1204 | } |
1213 | 1205 | ||
1214 | } |
1206 | } |
1215 | 1207 | ||
1216 | 1208 | ||
1217 | /*********************************************** input Section **********************************************/ |
1209 | /*********************************************** input Section **********************************************/ |
1218 | 1210 | ||
1219 | 1211 | ||
1220 | 1212 | ||
1221 | // public final String intro_str=" Digital Ufo Broadcasting with intelligent service equipment by Marcus -LiGi- Bueschleb ; Big Up Holger&Ingo for the MikroKopter Project (http://www.mikrokopter.de) "; |
1213 | // public final String intro_str=" Digital Ufo Broadcasting with intelligent service equipment by Marcus -LiGi- Bueschleb ; Big Up Holger&Ingo for the MikroKopter Project (http://www.mikrokopter.de) "; |
1222 | 1214 | ||
1223 | // int intro_str_pos=0; |
1215 | // int intro_str_pos=0; |
1224 | // int intro_str_delay=3; |
1216 | // int intro_str_delay=3; |
1225 | boolean init_bootloader=false; |
1217 | boolean init_bootloader=false; |
1226 | 1218 | ||
1227 | public void chg_state(byte next_state) |
1219 | public void chg_state(byte next_state) |
1228 | { |
1220 | { |
1229 | if (next_state!=state)act_menu_select=0; |
1221 | if (next_state!=state)act_menu_select=0; |
1230 | // prepare next state |
1222 | // prepare next state |
1231 | switch(next_state) |
1223 | switch(next_state) |
1232 | { |
1224 | { |
1233 | 1225 | ||
1234 | case STATEID_FLIGHTVIEW: |
1226 | case STATEID_FLIGHTVIEW: |
1235 | mk.user_intent=USER_INTENT_LCD; |
1227 | mk.user_intent=USER_INTENT_LCD; |
1236 | break; |
1228 | break; |
1237 | case STATEID_FLASHING: |
1229 | case STATEID_FLASHING: |
1238 | mk.bootloader_intension_flash=true; |
1230 | mk.bootloader_intension_flash=true; |
1239 | init_bootloader=true; |
1231 | init_bootloader=true; |
1240 | break; |
1232 | break; |
1241 | 1233 | ||
1242 | //#if fileapi=="on" |
1234 | //#if fileapi=="on" |
1243 | case STATEID_FILEOPEN: |
1235 | case STATEID_FILEOPEN: |
1244 | if (act_path_depth==0) |
1236 | if (act_path_depth==0) |
1245 | { |
1237 | { |
1246 | Enumeration drives = FileSystemRegistry.listRoots(); |
1238 | Enumeration drives = FileSystemRegistry.listRoots(); |
1247 | int tmp_i=0; |
1239 | int tmp_i=0; |
1248 | while(drives.hasMoreElements()) |
1240 | while(drives.hasMoreElements()) |
1249 | { |
1241 | { |
1250 | file_list[tmp_i]= (String) drives.nextElement(); |
1242 | file_list[tmp_i]= (String) drives.nextElement(); |
1251 | tmp_i++; |
1243 | tmp_i++; |
1252 | 1244 | ||
1253 | if (MAX_FILELIST_LENGTH<tmp_i) |
1245 | if (MAX_FILELIST_LENGTH<tmp_i) |
1254 | break; |
1246 | break; |
1255 | } |
1247 | } |
1256 | menu_items=new String[tmp_i]; |
1248 | menu_items=new String[tmp_i]; |
1257 | lcd_lines=new String[tmp_i]; |
1249 | lcd_lines=new String[tmp_i]; |
1258 | file_list_length=tmp_i; |
1250 | file_list_length=tmp_i; |
1259 | 1251 | ||
1260 | for(tmp_i=0;tmp_i<file_list_length;tmp_i++) |
1252 | for(tmp_i=0;tmp_i<file_list_length;tmp_i++) |
1261 | menu_items[tmp_i]=file_list[tmp_i]; |
1253 | menu_items[tmp_i]=file_list[tmp_i]; |
1262 | 1254 | ||
1263 | } |
1255 | } |
1264 | else |
1256 | else |
1265 | { |
1257 | { |
1266 | 1258 | ||
1267 | try { |
1259 | try { |
1268 | FileConnection fc = (FileConnection) Connector.open("file:///"+act_path()); |
1260 | FileConnection fc = (FileConnection) Connector.open("file:///"+act_path()); |
1269 | Enumeration filelist = fc.list("*", true); |
1261 | Enumeration filelist = fc.list("*", true); |
1270 | int tmp_i=0; |
1262 | int tmp_i=0; |
1271 | while(filelist.hasMoreElements()) { |
1263 | while(filelist.hasMoreElements()) { |
1272 | file_list[tmp_i] = (String) filelist.nextElement(); |
1264 | file_list[tmp_i] = (String) filelist.nextElement(); |
1273 | tmp_i++; |
1265 | tmp_i++; |
1274 | /* fc = (FileConnection) |
1266 | /* fc = (FileConnection) |
1275 | Connector.open("file:///CFCard/" + fileName); |
1267 | Connector.open("file:///CFCard/" + fileName); |
1276 | if(fc.isDirectory()) { |
1268 | if(fc.isDirectory()) { |
1277 | System.out.println("\tDirectory Name: " + fileName); |
1269 | System.out.println("\tDirectory Name: " + fileName); |
1278 | } else { |
1270 | } else { |
1279 | System.out.println |
1271 | System.out.println |
1280 | ("\tFile Name: " + fileName + |
1272 | ("\tFile Name: " + fileName + |
1281 | "\tSize: "+fc.fileSize()); |
1273 | "\tSize: "+fc.fileSize()); |
1282 | }*/ |
1274 | }*/ |
1283 | 1275 | ||
1284 | } |
1276 | } |
1285 | 1277 | ||
1286 | menu_items=new String[tmp_i+1]; |
1278 | menu_items=new String[tmp_i+1]; |
1287 | lcd_lines=new String[tmp_i+1]; |
1279 | lcd_lines=new String[tmp_i+1]; |
1288 | file_list_length=tmp_i+1; |
1280 | file_list_length=tmp_i+1; |
1289 | 1281 | ||
1290 | menu_items[0]=".."; |
1282 | menu_items[0]=".."; |
1291 | for(tmp_i=1;tmp_i<file_list_length;tmp_i++) |
1283 | for(tmp_i=1;tmp_i<file_list_length;tmp_i++) |
1292 | menu_items[tmp_i]=file_list[tmp_i-1]; |
1284 | menu_items[tmp_i]=file_list[tmp_i-1]; |
1293 | 1285 | ||
1294 | 1286 | ||
1295 | fc.close(); |
1287 | fc.close(); |
1296 | } catch (IOException ioe) { |
1288 | } catch (IOException ioe) { |
1297 | System.out.println(ioe.getMessage()); |
1289 | System.out.println(ioe.getMessage()); |
1298 | } |
1290 | } |
1299 | } |
1291 | } |
1300 | 1292 | ||
1301 | 1293 | ||
1302 | break; |
1294 | break; |
1303 | //#endif |
1295 | //#endif |
1304 | 1296 | ||
1305 | case STATEID_STICKVIEW: |
1297 | case STATEID_STICKVIEW: |
1306 | mk.user_intent=USER_INTENT_RCDATA; |
1298 | mk.user_intent=USER_INTENT_RCDATA; |
1307 | break; |
1299 | break; |
1308 | case STATEID_SELECT_COMPORT: |
1300 | case STATEID_SELECT_COMPORT: |
1309 | menu_items=new String[6]; |
1301 | menu_items=new String[6]; |
1310 | lcd_lines=new String[6]; |
1302 | lcd_lines=new String[6]; |
1311 | 1303 | ||
1312 | menu_items[0]="com0"; |
1304 | menu_items[0]="com0"; |
1313 | menu_items[1]="com1"; |
1305 | menu_items[1]="com1"; |
1314 | menu_items[2]="com2"; |
1306 | menu_items[2]="com2"; |
1315 | menu_items[3]="com3"; |
1307 | menu_items[3]="com3"; |
1316 | menu_items[4]="com4"; |
1308 | menu_items[4]="com4"; |
1317 | 1309 | ||
1318 | menu_items[5]="back"; |
1310 | menu_items[5]="back"; |
1319 | break; |
1311 | break; |
1320 | 1312 | ||
1321 | 1313 | ||
1322 | case STATEID_NC_ERRORS: |
1314 | case STATEID_NC_ERRORS: |
1323 | lcd_lines=new String[1]; |
1315 | lcd_lines=new String[1]; |
1324 | lcd_lines[0]=""+mk.error_str; |
1316 | lcd_lines[0]=""+mk.error_str; |
1325 | break; |
1317 | break; |
1326 | 1318 | ||
1327 | case STATEID_ABOUT: |
1319 | case STATEID_ABOUT: |
1328 | lcd_lines=credits; |
1320 | lcd_lines=credits; |
1329 | act_menu_select=max_lines-1; |
1321 | act_menu_select=max_lines-1; |
1330 | break; |
1322 | break; |
1331 | case STATEID_CONN_DETAILS: |
1323 | case STATEID_CONN_DETAILS: |
1332 | setup_menu(conn_details_menu_items,conn_details_menu_actions); |
1324 | setup_menu(conn_details_menu_items,conn_details_menu_actions); |
1333 | break; |
1325 | break; |
- | 1326 | ||
- | 1327 | case STATEID_SELECT_GPS_FORMAT: |
|
- | 1328 | setup_menu(set_gps_format_menu_items,set_gps_format_menu_actions); |
|
- | 1329 | ||
- | 1330 | break; |
|
- | 1331 | ||
- | 1332 | ||
- | 1333 | case STATEID_SELECT_SPEED_FORMAT: |
|
- | 1334 | setup_menu(set_speed_format_menu_items,set_speed_format_menu_actions); |
|
- | 1335 | ||
- | 1336 | break; |
|
1334 | 1337 | ||
1335 | case STATEID_TRAFFIC: |
1338 | case STATEID_TRAFFIC: |
1336 | setup_menu(onlyback_menu_items,back_to_conndetails_actions); |
1339 | setup_menu(onlyback_menu_items,back_to_conndetails_actions); |
1337 | /* |
1340 | /* |
1338 | menu_items=new String[1]; |
1341 | menu_items=new String[1]; |
1339 | lcd_lines=new String[1]; |
1342 | lcd_lines=new String[1]; |
1340 | menu_items[0]="back"; |
1343 | menu_items[0]="back"; |
1341 | */ |
1344 | */ |
1342 | break; |
1345 | break; |
1343 | case STATEID_CAMMODE: |
1346 | case STATEID_CAMMODE: |
1344 | 1347 | ||
1345 | if (mVideoControl==null) |
1348 | if (mVideoControl==null) |
1346 | try |
1349 | try |
1347 | { |
1350 | { |
1348 | debug.log("creating player\n"); |
1351 | debug.log("creating player\n"); |
1349 | mPlayer = Manager.createPlayer("capture://video?encoding=png&width=2048&height=1536"); |
1352 | mPlayer = Manager.createPlayer("capture://video?encoding=png&width=2048&height=1536"); |
1350 | 1353 | ||
1351 | debug.log("realizing player\n"); |
1354 | debug.log("realizing player\n"); |
1352 | mPlayer.realize(); |
1355 | mPlayer.realize(); |
1353 | 1356 | ||
1354 | debug.log("get_videocontrol\n"); |
1357 | debug.log("get_videocontrol\n"); |
1355 | 1358 | ||
1356 | mVideoControl = (VideoControl)mPlayer.getControl("VideoControl"); |
1359 | mVideoControl = (VideoControl)mPlayer.getControl("VideoControl"); |
1357 | 1360 | ||
1358 | debug.log("switching Canvas\n"); |
1361 | debug.log("switching Canvas\n"); |
1359 | mVideoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this); |
1362 | mVideoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this); |
1360 | 1363 | ||
1361 | debug.log("get snap\n"); |
1364 | debug.log("get snap\n"); |
1362 | byte[] raw = mVideoControl.getSnapshot(null); |
1365 | byte[] raw = mVideoControl.getSnapshot(null); |
1363 | 1366 | ||
1364 | } |
1367 | } |
1365 | catch ( Exception e) |
1368 | catch ( Exception e) |
1366 | { |
1369 | { |
1367 | debug.log(e.toString()); |
1370 | debug.log(e.toString()); |
1368 | } |
1371 | } |
1369 | 1372 | ||
1370 | 1373 | ||
1371 | break; |
1374 | break; |
1372 | case STATEID_KEYCONTROL: |
1375 | case STATEID_KEYCONTROL: |
1373 | keycontrol_exit=0; |
1376 | keycontrol_exit=0; |
1374 | break; |
1377 | break; |
1375 | 1378 | ||
1376 | case STATEID_READ_PARAMS: |
1379 | case STATEID_READ_PARAMS: |
1377 | mk.user_intent=USER_INTENT_PARAMS; |
1380 | mk.user_intent=USER_INTENT_PARAMS; |
1378 | lcd_lines=new String[2]; |
1381 | lcd_lines=new String[2]; |
1379 | lcd_lines[0]="Reading Settings "; |
1382 | lcd_lines[0]="Reading Settings "; |
1380 | lcd_lines[1]=mk.watchdog.act_paramset+"/5 |"+ (mk.watchdog.act_paramset>0?"#":"_") + (mk.watchdog.act_paramset>1?"#":"_") + (mk.watchdog.act_paramset>2?"#":"_")+ (mk.watchdog.act_paramset>3?"#":"_")+ (mk.watchdog.act_paramset>4?"#":"_") + "| "; |
1383 | lcd_lines[1]=mk.watchdog.act_paramset+"/5 |"+ (mk.watchdog.act_paramset>0?"#":"_") + (mk.watchdog.act_paramset>1?"#":"_") + (mk.watchdog.act_paramset>2?"#":"_")+ (mk.watchdog.act_paramset>3?"#":"_")+ (mk.watchdog.act_paramset>4?"#":"_") + "| "; |
1381 | 1384 | ||
1382 | break; |
1385 | break; |
1383 | 1386 | ||
1384 | case STATEID_IPINPUT: |
1387 | case STATEID_IPINPUT: |
1385 | 1388 | ||
1386 | lcd_lines=new String[3]; |
1389 | lcd_lines=new String[3]; |
1387 | lcd_lines[0]="Address (IP:Port): "; |
1390 | lcd_lines[0]="Address (IP:Port): "; |
1388 | break; |
1391 | break; |
1389 | 1392 | ||
1390 | //#if bluetooth=="on" |
1393 | //#if bluetooth=="on" |
1391 | case STATEID_SCANNING: |
1394 | case STATEID_SCANNING: |
1392 | lcd_lines=new String[3]; |
1395 | lcd_lines=new String[3]; |
1393 | lcd_lines[0]="Searching for"; |
1396 | lcd_lines[0]="Searching for"; |
1394 | lcd_lines[1]="Bluetooth Devices"; |
1397 | lcd_lines[1]="Bluetooth Devices"; |
1395 | lcd_lines[2]="found"; |
1398 | lcd_lines[2]="found"; |
1396 | 1399 | ||
1397 | mk.close_connections(true); |
1400 | mk.close_connections(true); |
1398 | bt_scanner.search(); |
1401 | bt_scanner.search(); |
1399 | break; |
1402 | break; |
1400 | //#endif |
1403 | //#endif |
1401 | 1404 | ||
1402 | case STATEID_HANDLE_PARAMS: |
1405 | case STATEID_HANDLE_PARAMS: |
1403 | menu_items=handle_params_menu_items; |
1406 | menu_items=handle_params_menu_items; |
1404 | menu_actions=handle_params_menu_actions; |
1407 | menu_actions=handle_params_menu_actions; |
1405 | lcd_lines=new String[menu_items.length]; |
1408 | lcd_lines=new String[menu_items.length]; |
1406 | 1409 | ||
1407 | break; |
1410 | break; |
1408 | 1411 | ||
1409 | case STATEID_SELECT_PARAMSET: |
1412 | case STATEID_SELECT_PARAMSET: |
1410 | menu_items=new String[5]; |
1413 | menu_items=new String[5]; |
1411 | for (int i=0;i<5;i++) |
1414 | for (int i=0;i<5;i++) |
1412 | menu_items[i]=mk.params.names[i] + ((i==mk.params.active_paramset)?"*":""); |
1415 | menu_items[i]=mk.params.names[i] + ((i==mk.params.active_paramset)?"*":""); |
1413 | 1416 | ||
1414 | lcd_lines=new String[5]; |
1417 | lcd_lines=new String[5]; |
1415 | break; |
1418 | break; |
1416 | 1419 | ||
1417 | //#if bluetooth=="on" |
1420 | //#if bluetooth=="on" |
1418 | case STATEID_DEVICESELECT: |
1421 | case STATEID_DEVICESELECT: |
1419 | 1422 | ||
1420 | menu_items=new String[bt_scanner.remote_device_count+2]; |
1423 | menu_items=new String[bt_scanner.remote_device_count+2]; |
1421 | lcd_lines=new String[bt_scanner.remote_device_count+2]; |
1424 | lcd_lines=new String[bt_scanner.remote_device_count+2]; |
1422 | 1425 | ||
1423 | for (int i=0;i<bt_scanner.remote_device_count;i++) |
1426 | for (int i=0;i<bt_scanner.remote_device_count;i++) |
1424 | menu_items[i]=bt_scanner.remote_device_name[i]; |
1427 | menu_items[i]=bt_scanner.remote_device_name[i]; |
1425 | menu_items[bt_scanner.remote_device_count]="scan again"; |
1428 | menu_items[bt_scanner.remote_device_count]="scan again"; |
1426 | menu_items[bt_scanner.remote_device_count+1]="cancel"; |
1429 | menu_items[bt_scanner.remote_device_count+1]="cancel"; |
1427 | 1430 | ||
1428 | break; |
1431 | break; |
1429 | //#endif |
1432 | //#endif |
1430 | 1433 | ||
1431 | case STATEID_MAINMENU: |
1434 | case STATEID_MAINMENU: |
1432 | if (mk.ufo_prober.is_navi()) |
1435 | if (mk.ufo_prober.is_navi()) |
1433 | setup_menu(main_menu_items_navi,main_menu_actions_navi); |
1436 | setup_menu(main_menu_items_navi,main_menu_actions_navi); |
1434 | else if (mk.ufo_prober.is_mk()) |
1437 | else if (mk.ufo_prober.is_mk()) |
1435 | setup_menu(main_menu_items_mk,main_menu_actions_mk); |
1438 | setup_menu(main_menu_items_mk,main_menu_actions_mk); |
1436 | else if (mk.ufo_prober.is_mk3mag()) |
1439 | else if (mk.ufo_prober.is_mk3mag()) |
1437 | setup_menu(main_menu_items_mk3mag,main_menu_actions_mk3mag); |
1440 | setup_menu(main_menu_items_mk3mag,main_menu_actions_mk3mag); |
1438 | else if (mk.ufo_prober.is_incompatible()) |
1441 | else if (mk.ufo_prober.is_incompatible()) |
1439 | setup_menu(main_menu_items_incompatible,main_menu_actions_incompatible); |
1442 | setup_menu(main_menu_items_incompatible,main_menu_actions_incompatible); |
1440 | else // no connection |
1443 | else // no connection |
1441 | setup_menu(main_menu_items_no_connection,main_menu_actions_no_connection); |
1444 | setup_menu(main_menu_items_no_connection,main_menu_actions_no_connection); |
1442 | break; |
1445 | break; |
1443 | 1446 | ||
1444 | case STATEID_SETTINGSMENU: |
1447 | case STATEID_SETTINGSMENU: |
1445 | 1448 | ||
1446 | menu_items=new String[settings_menu_items.length]; |
1449 | menu_items=new String[settings_menu_items.length]; |
1447 | for(int cnt=0;cnt<settings_menu_items.length;cnt++) |
1450 | for(int cnt=0;cnt<settings_menu_items.length;cnt++) |
1448 | menu_items[cnt]=settings_menu_items[cnt]; |
1451 | menu_items[cnt]=settings_menu_items[cnt]; |
1449 | 1452 | ||
1450 | menu_items[0]+=(settings.act_skin==SKINID_DARK)?"Dark":"Light"; |
1453 | menu_items[0]+=(settings.act_skin==SKINID_DARK)?"Dark":"Light"; |
1451 | menu_items[1]+=(!settings.do_sound)?"Off":"On"; |
1454 | menu_items[1]+=(!settings.do_sound)?"Off":"On"; |
1452 | menu_items[2]+=(!settings.do_vibra)?"Off":"On"; |
1455 | menu_items[2]+=(!settings.do_vibra)?"Off":"On"; |
1453 | menu_items[3]+=(!settings.do_scrollbg)?"Off":"On"; |
1456 | menu_items[3]+=(!settings.do_scrollbg)?"Off":"On"; |
1454 | menu_items[4]+=(!settings.fullscreen)?"Off":"On"; |
1457 | menu_items[4]+=(!settings.fullscreen)?"Off":"On"; |
- | 1458 | menu_items[5]+=(mk.gps_position.act_gps_format==0)?" Decimal":" MinSec"; |
|
- | 1459 | menu_items[6]+=(mk.gps_position.act_speed_format==0)?" KM/H":((mk.gps_position.act_speed_format==1)?" MP/H":"CM/S"); |
|
1455 | 1460 | ||
1456 | //#if devicecontrol=="on" |
1461 | //#if devicecontrol=="on" |
1457 | menu_items[5]+=(!settings.keep_lighton)?"Off":"On"; |
1462 | menu_items[7]+=(!settings.keep_lighton)?"Off":"On"; |
1458 | //#endif |
1463 | //#endif |
1459 | menu_actions=settings_menu_actions; |
1464 | menu_actions=settings_menu_actions; |
1460 | lcd_lines=new String[menu_items.length]; |
1465 | lcd_lines=new String[menu_items.length]; |
1461 | break; |
1466 | break; |
1462 | 1467 | ||
1463 | case STATEID_RAWDEBUG: |
1468 | case STATEID_RAWDEBUG: |
1464 | mk.user_intent=USER_INTENT_RAWDEBUG; |
1469 | mk.user_intent=USER_INTENT_RAWDEBUG; |
1465 | break; |
1470 | break; |
1466 | 1471 | ||
1467 | 1472 | ||
1468 | case STATEID_GRAPH: |
1473 | case STATEID_GRAPH: |
1469 | mk.user_intent=USER_INTENT_GRAPH; |
1474 | mk.user_intent=USER_INTENT_GRAPH; |
1470 | break; |
1475 | break; |
1471 | 1476 | ||
1472 | } |
1477 | } |
1473 | mk.watchdog.resend_timeout=0; |
1478 | mk.watchdog.resend_timeout=0; |
1474 | 1479 | ||
1475 | // switch state |
1480 | // switch state |
1476 | state=next_state; |
1481 | state=next_state; |
1477 | } // void chg_state |
1482 | } // void chg_state |
1478 | 1483 | ||
1479 | 1484 | ||
1480 | public void keyReleased(int keyCode) |
1485 | public void keyReleased(int keyCode) |
1481 | { |
1486 | { |
1482 | 1487 | ||
1483 | switch(state) |
1488 | switch(state) |
1484 | { |
1489 | { |
1485 | case STATEID_MOTORTEST: |
1490 | case STATEID_MOTORTEST: |
1486 | act_motor_increase=0; |
1491 | act_motor_increase=0; |
1487 | break; |
1492 | break; |
1488 | 1493 | ||
1489 | case STATEID_KEYCONTROL: |
1494 | case STATEID_KEYCONTROL: |
1490 | if (keyCode==KEY_POUND) |
1495 | if (keyCode==KEY_POUND) |
1491 | keycontrol_exit &= 255^1; |
1496 | keycontrol_exit &= 255^1; |
1492 | else |
1497 | else |
1493 | if (keyCode==KEY_STAR) |
1498 | if (keyCode==KEY_STAR) |
1494 | keycontrol_exit &= 255^2; |
1499 | keycontrol_exit &= 255^2; |
1495 | else |
1500 | else |
1496 | if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8)) |
1501 | if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8)) |
1497 | keycontrol_bitfield[0]&=255^( 1<<(keyCode-this.KEY_NUM0)); |
1502 | keycontrol_bitfield[0]&=255^( 1<<(keyCode-this.KEY_NUM0)); |
1498 | else |
1503 | else |
1499 | if ((keyCode >= this.KEY_NUM8) && (keyCode <= this.KEY_NUM9)) |
1504 | if ((keyCode >= this.KEY_NUM8) && (keyCode <= this.KEY_NUM9)) |
1500 | keycontrol_bitfield[1]&=255^( 1<<(keyCode-this.KEY_NUM8)); |
1505 | keycontrol_bitfield[1]&=255^( 1<<(keyCode-this.KEY_NUM8)); |
1501 | else |
1506 | else |
1502 | switch (getGameAction (keyCode)) |
1507 | switch (getGameAction (keyCode)) |
1503 | { |
1508 | { |
1504 | case UP: |
1509 | case UP: |
1505 | keycontrol_bitfield[1]&=255^4; |
1510 | keycontrol_bitfield[1]&=255^4; |
1506 | break; |
1511 | break; |
1507 | 1512 | ||
1508 | case DOWN: |
1513 | case DOWN: |
1509 | keycontrol_bitfield[1]&=255^8; |
1514 | keycontrol_bitfield[1]&=255^8; |
1510 | break; |
1515 | break; |
1511 | 1516 | ||
1512 | 1517 | ||
1513 | case LEFT: |
1518 | case LEFT: |
1514 | keycontrol_bitfield[1]&=255^16; |
1519 | keycontrol_bitfield[1]&=255^16; |
1515 | break; |
1520 | break; |
1516 | 1521 | ||
1517 | case RIGHT: |
1522 | case RIGHT: |
1518 | keycontrol_bitfield[1]&=255^32; |
1523 | keycontrol_bitfield[1]&=255^32; |
1519 | break; |
1524 | break; |
1520 | 1525 | ||
1521 | case FIRE: |
1526 | case FIRE: |
1522 | keycontrol_bitfield[1]&=255^64; |
1527 | keycontrol_bitfield[1]&=255^64; |
1523 | break; |
1528 | break; |
1524 | 1529 | ||
1525 | 1530 | ||
1526 | } |
1531 | } |
1527 | mk.send_keys(keycontrol_bitfield); |
1532 | mk.send_keys(keycontrol_bitfield); |
1528 | break; |
1533 | break; |
1529 | } |
1534 | } |
1530 | 1535 | ||
1531 | } |
1536 | } |
1532 | 1537 | ||
1533 | 1538 | ||
1534 | byte keycontrol_exit=0; |
1539 | byte keycontrol_exit=0; |
1535 | 1540 | ||
1536 | public final static int[] keycontrol_bitfield={0,0}; |
1541 | public final static int[] keycontrol_bitfield={0,0}; |
1537 | 1542 | ||
1538 | 1543 | ||
1539 | public void pointerPressed (int pointer_x, int pointer_y) |
1544 | public void pointerPressed (int pointer_x, int pointer_y) |
1540 | { |
1545 | { |
1541 | if (pointer_y<lcd_img.getHeight()) |
1546 | if (pointer_y<lcd_img.getHeight()) |
1542 | keyPressed(KEY_STAR); |
1547 | keyPressed(KEY_STAR); |
1543 | else |
1548 | else |
1544 | switch(state) |
1549 | switch(state) |
1545 | { |
1550 | { |
1546 | case STATEID_CONN_DETAILS: |
1551 | case STATEID_CONN_DETAILS: |
1547 | case STATEID_SETTINGSMENU: |
1552 | case STATEID_SETTINGSMENU: |
1548 | case STATEID_FILEOPEN: |
1553 | case STATEID_FILEOPEN: |
1549 | case STATEID_TRAFFIC: |
1554 | case STATEID_TRAFFIC: |
1550 | case STATEID_SELECT_COMPORT: |
1555 | case STATEID_SELECT_COMPORT: |
1551 | case STATEID_MAINMENU: |
1556 | case STATEID_MAINMENU: |
1552 | case STATEID_SELECT_PARAMSET: |
1557 | case STATEID_SELECT_PARAMSET: |
1553 | case STATEID_DEVICESELECT: |
1558 | case STATEID_DEVICESELECT: |
1554 | 1559 | ||
1555 | if (pointer_y>canvas_height-lcd_img.getHeight()*menu_items.length) |
1560 | if (pointer_y>canvas_height-lcd_img.getHeight()*menu_items.length) |
1556 | { |
1561 | { |
1557 | act_menu_select=(pointer_y-(canvas_height-lcd_img.getHeight()*menu_items.length))/lcd_img.getHeight(); |
1562 | act_menu_select=(pointer_y-(canvas_height-lcd_img.getHeight()*menu_items.length))/lcd_img.getHeight(); |
1558 | keyPressed(getKeyCode(FIRE)); |
1563 | keyPressed(getKeyCode(FIRE)); |
1559 | } |
1564 | } |
1560 | break; |
1565 | break; |
1561 | } |
1566 | } |
1562 | } |
1567 | } |
1563 | 1568 | ||
1564 | public void keyPressed(int keyCode) |
1569 | public void keyPressed(int keyCode) |
1565 | { |
1570 | { |
1566 | debug.log("KeyCode:"+keyCode); |
1571 | debug.log("KeyCode:"+keyCode); |
1567 | // key-actions common in all states |
1572 | // key-actions common in all states |
1568 | debug.process_key(keyCode); |
1573 | debug.process_key(keyCode); |
1569 | 1574 | ||
1570 | /* |
1575 | /* |
1571 | if ((keyCode==KEY_NUM9)) |
1576 | if ((keyCode==KEY_NUM9)) |
1572 | { chg_state(STATEID_FLASHING); } |
1577 | { chg_state(STATEID_FLASHING); } |
1573 | */ |
1578 | */ |
1574 | 1579 | ||
1575 | 1580 | ||
1576 | 1581 | ||
1577 | 1582 | ||
1578 | if ((keyCode==KEY_STAR) || (keyCode==113)) |
1583 | if ((keyCode==KEY_STAR) || (keyCode==113)) |
1579 | { |
1584 | { |
1580 | if (state==STATEID_EDIT_PARAMS) |
1585 | if (state==STATEID_EDIT_PARAMS) |
1581 | { |
1586 | { |
1582 | chg_state(STATEID_HANDLE_PARAMS); |
1587 | chg_state(STATEID_HANDLE_PARAMS); |
1583 | return; |
1588 | return; |
1584 | } |
1589 | } |
1585 | else |
1590 | else |
1586 | if (state!=STATEID_KEYCONTROL) |
1591 | if (state!=STATEID_KEYCONTROL) |
1587 | { |
1592 | { |
1588 | chg_state(STATEID_MAINMENU); |
1593 | chg_state(STATEID_MAINMENU); |
1589 | return; |
1594 | return; |
1590 | } |
1595 | } |
1591 | 1596 | ||
1592 | } |
1597 | } |
1593 | if ((keyCode==KEY_POUND)&&(state!=STATEID_KEYCONTROL)) |
1598 | if ((keyCode==KEY_POUND)&&(state!=STATEID_KEYCONTROL)) |
1594 | { |
1599 | { |
1595 | settings.fullscreen=!settings.fullscreen; |
1600 | settings.fullscreen=!settings.fullscreen; |
1596 | setFullScreenMode(settings.fullscreen); |
1601 | setFullScreenMode(settings.fullscreen); |
1597 | return; |
1602 | return; |
1598 | } |
1603 | } |
1599 | 1604 | ||
1600 | // key actions per state |
1605 | // key actions per state |
1601 | switch(state) |
1606 | switch(state) |
1602 | { |
1607 | { |
1603 | 1608 | ||
1604 | case STATEID_NC_ERRORS: |
1609 | case STATEID_NC_ERRORS: |
1605 | chg_state(STATEID_MAINMENU); |
1610 | chg_state(STATEID_MAINMENU); |
1606 | break; |
1611 | break; |
1607 | case STATEID_IPINPUT: |
1612 | case STATEID_IPINPUT: |
1608 | if ((keyCode>=KEY_NUM0)&&(keyCode<=KEY_NUM9)) |
1613 | if ((keyCode>=KEY_NUM0)&&(keyCode<=KEY_NUM9)) |
1609 | { |
1614 | { |
1610 | act_edit_ip[ipinput_pos/4]=helper.mod_decimal(act_edit_ip[ipinput_pos/4],(ipinput_pos<15?2:3)-(ipinput_pos%4),0,(keyCode-KEY_NUM0),9); |
1615 | act_edit_ip[ipinput_pos/4]=helper.mod_decimal(act_edit_ip[ipinput_pos/4],(ipinput_pos<15?2:3)-(ipinput_pos%4),0,(keyCode-KEY_NUM0),9); |
1611 | 1616 | ||
1612 | if(ipinput_pos<19) ipinput_pos++; |
1617 | if(ipinput_pos<19) ipinput_pos++; |
1613 | if ((ipinput_pos<18)&&(((ipinput_pos+1)%4)==0))ipinput_pos++; |
1618 | if ((ipinput_pos<18)&&(((ipinput_pos+1)%4)==0))ipinput_pos++; |
1614 | } |
1619 | } |
1615 | else |
1620 | else |
1616 | switch (getGameAction (keyCode)) |
1621 | switch (getGameAction (keyCode)) |
1617 | { |
1622 | { |
1618 | case LEFT: |
1623 | case LEFT: |
1619 | if(ipinput_pos>0) ipinput_pos--; |
1624 | if(ipinput_pos>0) ipinput_pos--; |
1620 | if (((ipinput_pos+1)%4)==0)ipinput_pos--; |
1625 | if (((ipinput_pos+1)%4)==0)ipinput_pos--; |
1621 | break; |
1626 | break; |
1622 | 1627 | ||
1623 | case RIGHT: |
1628 | case RIGHT: |
1624 | if(ipinput_pos<19) ipinput_pos++; |
1629 | if(ipinput_pos<19) ipinput_pos++; |
1625 | if(ipinput_pos<18)if (((ipinput_pos+1)%4)==0)ipinput_pos++; |
1630 | if(ipinput_pos<18)if (((ipinput_pos+1)%4)==0)ipinput_pos++; |
1626 | break; |
1631 | break; |
1627 | 1632 | ||
1628 | case UP: |
1633 | case UP: |
1629 | act_edit_ip[ipinput_pos/4]=helper.mod_decimal(act_edit_ip[ipinput_pos/4],(ipinput_pos<15?2:3)-(ipinput_pos%4),1,-1,9); |
1634 | act_edit_ip[ipinput_pos/4]=helper.mod_decimal(act_edit_ip[ipinput_pos/4],(ipinput_pos<15?2:3)-(ipinput_pos%4),1,-1,9); |
1630 | 1635 | ||
1631 | break; |
1636 | break; |
1632 | 1637 | ||
1633 | case DOWN: |
1638 | case DOWN: |
1634 | act_edit_ip[ipinput_pos/4]=helper.mod_decimal(act_edit_ip[ipinput_pos/4],(ipinput_pos<15?2:3)-(ipinput_pos%4),-1,-1,9); |
1639 | act_edit_ip[ipinput_pos/4]=helper.mod_decimal(act_edit_ip[ipinput_pos/4],(ipinput_pos<15?2:3)-(ipinput_pos%4),-1,-1,9); |
1635 | 1640 | ||
1636 | 1641 | ||
1637 | case FIRE: |
1642 | case FIRE: |
1638 | if (ipinput4proxy) |
1643 | if (ipinput4proxy) |
1639 | { |
1644 | { |
1640 | settings.act_proxy_ip=act_edit_ip; |
1645 | settings.act_proxy_ip=act_edit_ip; |
1641 | mk.do_proxy("socket://"+helper.ip_str(settings.act_proxy_ip,false)); |
1646 | mk.do_proxy("socket://"+helper.ip_str(settings.act_proxy_ip,false)); |
1642 | chg_state(STATEID_PROXY); |
1647 | chg_state(STATEID_PROXY); |
1643 | } |
1648 | } |
1644 | else |
1649 | else |
1645 | { |
1650 | { |
1646 | settings.act_conn_ip=act_edit_ip; |
1651 | settings.act_conn_ip=act_edit_ip; |
1647 | connect_mk("socket://"+helper.ip_str(settings.act_conn_ip,false),"TCP/IP Connection"); |
1652 | connect_mk("socket://"+helper.ip_str(settings.act_conn_ip,false),"TCP/IP Connection"); |
1648 | chg_state(STATEID_CONN_DETAILS); |
1653 | chg_state(STATEID_CONN_DETAILS); |
1649 | } |
1654 | } |
1650 | 1655 | ||
1651 | break; |
1656 | break; |
1652 | 1657 | ||
1653 | } |
1658 | } |
1654 | break; |
1659 | break; |
1655 | 1660 | ||
1656 | case STATEID_GPSVIEW: |
1661 | case STATEID_GPSVIEW: |
1657 | if (keyCode == this.KEY_NUM0) |
1662 | if (keyCode == this.KEY_NUM0) |
1658 | mk.set_gps_target(mk.gps_position.Latitude,mk.gps_position.Longitude); |
1663 | mk.set_gps_target(mk.gps_position.Latitude,mk.gps_position.Longitude); |
1659 | 1664 | ||
1660 | 1665 | ||
1661 | 1666 | ||
1662 | if (keyCode == this.KEY_NUM1) |
1667 | if (keyCode == this.KEY_NUM1) |
1663 | mk.gps_position.push_wp(); |
1668 | mk.gps_position.push_wp(); |
1664 | if (keyCode == this.KEY_NUM2) |
1669 | if (keyCode == this.KEY_NUM2) |
1665 | chg_state(STATEID_FILEOPEN); |
1670 | chg_state(STATEID_FILEOPEN); |
1666 | if (keyCode == this.KEY_NUM3) |
1671 | if (keyCode == this.KEY_NUM3) |
1667 | mk.set_gps_target(mk.gps_position.LatWP[act_wp],mk.gps_position.LongWP[act_wp]); |
1672 | mk.set_gps_target(mk.gps_position.LatWP[act_wp],mk.gps_position.LongWP[act_wp]); |
1668 | - | ||
1669 | if (keyCode == this.KEY_NUM4) |
- | |
1670 | mk.gps_position.next_gps_format(); |
1673 | |
1671 | 1674 | ||
1672 | if (keyCode == this.KEY_NUM5) |
1675 | if (keyCode == this.KEY_NUM5) |
1673 | heading_offset= mk.debug_data.analog[26]; |
1676 | heading_offset= mk.debug_data.analog[26]; |
1674 | 1677 | ||
1675 | switch (getGameAction (keyCode)) |
1678 | switch (getGameAction (keyCode)) |
1676 | { |
1679 | { |
1677 | case UP: |
1680 | case UP: |
1678 | if (act_wp!=0) act_wp--; |
1681 | if (act_wp!=0) act_wp--; |
1679 | break; |
1682 | break; |
1680 | 1683 | ||
1681 | case DOWN: |
1684 | case DOWN: |
1682 | if (act_wp<mk.gps_position.last_wp) act_wp++; |
1685 | if (act_wp<mk.gps_position.last_wp) act_wp++; |
1683 | 1686 | ||
1684 | break; |
1687 | break; |
1685 | 1688 | ||
1686 | 1689 | ||
1687 | } |
1690 | } |
1688 | 1691 | ||
1689 | 1692 | ||
1690 | break; |
1693 | break; |
1691 | 1694 | ||
1692 | case STATEID_ABOUT: |
1695 | case STATEID_ABOUT: |
1693 | 1696 | ||
1694 | switch (getGameAction (keyCode)) |
1697 | switch (getGameAction (keyCode)) |
1695 | { |
1698 | { |
1696 | case UP: |
1699 | case UP: |
1697 | if (act_menu_select>=max_lines) |
1700 | if (act_menu_select>=max_lines) |
1698 | act_menu_select--; |
1701 | act_menu_select--; |
1699 | break; |
1702 | break; |
1700 | 1703 | ||
1701 | case DOWN: |
1704 | case DOWN: |
1702 | if (act_menu_select<lcd_lines.length-1) |
1705 | if (act_menu_select<lcd_lines.length-1) |
1703 | act_menu_select++; |
1706 | act_menu_select++; |
1704 | 1707 | ||
1705 | break; |
1708 | break; |
1706 | 1709 | ||
1707 | 1710 | ||
1708 | } |
1711 | } |
1709 | 1712 | ||
1710 | 1713 | ||
1711 | break; |
1714 | break; |
1712 | 1715 | ||
1713 | 1716 | ||
1714 | case STATEID_RAWDEBUG: |
1717 | case STATEID_RAWDEBUG: |
1715 | 1718 | ||
1716 | switch (getGameAction (keyCode)) |
1719 | switch (getGameAction (keyCode)) |
1717 | { |
1720 | { |
1718 | case UP: |
1721 | case UP: |
1719 | if (rawdebug_cursor_y==0) |
1722 | if (rawdebug_cursor_y==0) |
1720 | rawdebug_cursor_y=31; |
1723 | rawdebug_cursor_y=31; |
1721 | else |
1724 | else |
1722 | rawdebug_cursor_y--; |
1725 | rawdebug_cursor_y--; |
1723 | break; |
1726 | break; |
1724 | 1727 | ||
1725 | case DOWN: |
1728 | case DOWN: |
1726 | if (rawdebug_cursor_y==31) |
1729 | if (rawdebug_cursor_y==31) |
1727 | rawdebug_cursor_y=0; |
1730 | rawdebug_cursor_y=0; |
1728 | else |
1731 | else |
1729 | rawdebug_cursor_y++; |
1732 | rawdebug_cursor_y++; |
1730 | break; |
1733 | break; |
1731 | 1734 | ||
1732 | 1735 | ||
1733 | } |
1736 | } |
1734 | break; |
1737 | break; |
1735 | case STATEID_KEYCONTROL: |
1738 | case STATEID_KEYCONTROL: |
1736 | if (keyCode==KEY_POUND) |
1739 | if (keyCode==KEY_POUND) |
1737 | keycontrol_exit |= 1; |
1740 | keycontrol_exit |= 1; |
1738 | else |
1741 | else |
1739 | if (keyCode==KEY_STAR) |
1742 | if (keyCode==KEY_STAR) |
1740 | keycontrol_exit |= 2; |
1743 | keycontrol_exit |= 2; |
1741 | else |
1744 | else |
1742 | if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8)) |
1745 | if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8)) |
1743 | keycontrol_bitfield[0]|=1<<(keyCode-this.KEY_NUM0); |
1746 | keycontrol_bitfield[0]|=1<<(keyCode-this.KEY_NUM0); |
1744 | else |
1747 | else |
1745 | if ((keyCode >= this.KEY_NUM8) && (keyCode <= this.KEY_NUM9)) |
1748 | if ((keyCode >= this.KEY_NUM8) && (keyCode <= this.KEY_NUM9)) |
1746 | keycontrol_bitfield[1]|=1<<(keyCode-this.KEY_NUM8); |
1749 | keycontrol_bitfield[1]|=1<<(keyCode-this.KEY_NUM8); |
1747 | 1750 | ||
1748 | else |
1751 | else |
1749 | switch (getGameAction (keyCode)) |
1752 | switch (getGameAction (keyCode)) |
1750 | { |
1753 | { |
1751 | case UP: |
1754 | case UP: |
1752 | keycontrol_bitfield[1]|=4; |
1755 | keycontrol_bitfield[1]|=4; |
1753 | break; |
1756 | break; |
1754 | 1757 | ||
1755 | case DOWN: |
1758 | case DOWN: |
1756 | keycontrol_bitfield[1]|=8; |
1759 | keycontrol_bitfield[1]|=8; |
1757 | break; |
1760 | break; |
1758 | 1761 | ||
1759 | 1762 | ||
1760 | case LEFT: |
1763 | case LEFT: |
1761 | keycontrol_bitfield[1]|=16; |
1764 | keycontrol_bitfield[1]|=16; |
1762 | break; |
1765 | break; |
1763 | 1766 | ||
1764 | case RIGHT: |
1767 | case RIGHT: |
1765 | keycontrol_bitfield[1]|=32; |
1768 | keycontrol_bitfield[1]|=32; |
1766 | break; |
1769 | break; |
1767 | 1770 | ||
1768 | case FIRE: |
1771 | case FIRE: |
1769 | keycontrol_bitfield[1]|=64; |
1772 | keycontrol_bitfield[1]|=64; |
1770 | break; |
1773 | break; |
1771 | 1774 | ||
1772 | } |
1775 | } |
1773 | if (keycontrol_exit==3) |
1776 | if (keycontrol_exit==3) |
1774 | chg_state(STATEID_MAINMENU); |
1777 | chg_state(STATEID_MAINMENU); |
1775 | else |
1778 | else |
1776 | mk.send_keys(keycontrol_bitfield); |
1779 | mk.send_keys(keycontrol_bitfield); |
1777 | break; |
1780 | break; |
1778 | 1781 | ||
1779 | 1782 | ||
1780 | case STATEID_MOTORTEST: |
1783 | case STATEID_MOTORTEST: |
1781 | switch (getGameAction (keyCode)) |
1784 | switch (getGameAction (keyCode)) |
1782 | { |
1785 | { |
1783 | case UP: |
1786 | case UP: |
1784 | act_motor_increase=-1; |
1787 | act_motor_increase=-1; |
1785 | break; |
1788 | break; |
1786 | 1789 | ||
1787 | case DOWN: |
1790 | case DOWN: |
1788 | act_motor_increase=1; |
1791 | act_motor_increase=1; |
1789 | break; |
1792 | break; |
1790 | 1793 | ||
1791 | case FIRE: |
1794 | case FIRE: |
1792 | motor_test_sel_all=!motor_test_sel_all; |
1795 | motor_test_sel_all=!motor_test_sel_all; |
1793 | break; |
1796 | break; |
1794 | 1797 | ||
1795 | case LEFT: |
1798 | case LEFT: |
1796 | act_motor--; |
1799 | act_motor--; |
1797 | if (act_motor<0) {act_motor=0; chg_state(STATEID_MAINMENU); } |
1800 | if (act_motor<0) {act_motor=0; chg_state(STATEID_MAINMENU); } |
1798 | break; |
1801 | break; |
1799 | 1802 | ||
1800 | case RIGHT: |
1803 | case RIGHT: |
1801 | act_motor++; |
1804 | act_motor++; |
1802 | act_motor%=4; |
1805 | act_motor%=4; |
1803 | break; |
1806 | break; |
1804 | } |
1807 | } |
1805 | 1808 | ||
1806 | break; |
1809 | break; |
1807 | 1810 | ||
1808 | case STATEID_SELECT_COMPORT: |
1811 | case STATEID_SELECT_COMPORT: |
1809 | if ( getGameAction (keyCode)==FIRE ) |
1812 | if ( getGameAction (keyCode)==FIRE ) |
1810 | { |
1813 | { |
1811 | 1814 | ||
1812 | if (act_menu_select<menu_items.length) |
1815 | if (act_menu_select<menu_items.length) |
1813 | connect_mk("comm:com"+act_menu_select+";baudrate=57600","com"+act_menu_select); |
1816 | connect_mk("comm:com"+act_menu_select+";baudrate=57600","com"+act_menu_select); |
1814 | 1817 | ||
1815 | chg_state(STATEID_CONN_DETAILS); |
1818 | chg_state(STATEID_CONN_DETAILS); |
1816 | } |
1819 | } |
1817 | else |
1820 | else |
1818 | menu_keypress(keyCode); |
1821 | menu_keypress(keyCode); |
1819 | break; |
1822 | break; |
1820 | 1823 | ||
1821 | /* |
1824 | /* |
1822 | case STATEID_HANDLsE_PARAMS: |
1825 | case STATEID_HANDLsE_PARAMS: |
1823 | |
1826 | |
1824 | menu_keypress(keyCode); |
1827 | menu_keypress(keyCode); |
1825 | break; |
1828 | break; |
1826 | */ |
1829 | */ |
1827 | /* |
1830 | /* |
1828 | case STATEID_TRAFFIC: |
1831 | case STATEID_TRAFFIC: |
1829 | if ( getGameAction (keyCode)==FIRE ) |
1832 | if ( getGameAction (keyCode)==FIRE ) |
1830 | chg_state(STATEID_CONN_DETAILS); |
1833 | chg_state(STATEID_CONN_DETAILS); |
1831 | else |
1834 | else |
1832 | menu_keypress(keyCode); |
1835 | menu_keypress(keyCode); |
1833 | break; |
1836 | break; |
1834 | */ |
1837 | */ |
1835 | //#if fileapi=="on" |
1838 | //#if fileapi=="on" |
1836 | case STATEID_FILEOPEN: |
1839 | case STATEID_FILEOPEN: |
1837 | if ( getGameAction (keyCode)==FIRE ) |
1840 | if ( getGameAction (keyCode)==FIRE ) |
1838 | { |
1841 | { |
1839 | if ((act_menu_select==0)&&(act_path_depth!=0)) |
1842 | if ((act_menu_select==0)&&(act_path_depth!=0)) |
1840 | { |
1843 | { |
1841 | act_path_depth--; |
1844 | act_path_depth--; |
1842 | //act_path=act_path.substring(0,act_path.substring(0,act_path.length()-2).indexOf('/') ); |
1845 | //act_path=act_path.substring(0,act_path.substring(0,act_path.length()-2).indexOf('/') ); |
1843 | 1846 | ||
1844 | //act_path=last_path; |
1847 | //act_path=last_path; |
1845 | } |
1848 | } |
1846 | else |
1849 | else |
1847 | { |
1850 | { |
1848 | //last_path=act_path; |
1851 | //last_path=act_path; |
1849 | if (act_path_depth==0) |
1852 | if (act_path_depth==0) |
1850 | act_path_arr[act_path_depth++]=file_list[act_menu_select]; |
1853 | act_path_arr[act_path_depth++]=file_list[act_menu_select]; |
1851 | else |
1854 | else |
1852 | act_path_arr[act_path_depth++]=file_list[act_menu_select-1]; |
1855 | act_path_arr[act_path_depth++]=file_list[act_menu_select-1]; |
1853 | } |
1856 | } |
1854 | act_menu_select=0; |
1857 | act_menu_select=0; |
1855 | chg_state(STATEID_FILEOPEN); |
1858 | chg_state(STATEID_FILEOPEN); |
1856 | 1859 | ||
1857 | } |
1860 | } |
1858 | else |
1861 | else |
1859 | menu_keypress(keyCode); |
1862 | menu_keypress(keyCode); |
1860 | break; |
1863 | break; |
1861 | 1864 | ||
1862 | //#endif |
1865 | //#endif |
1863 | 1866 | ||
1864 | 1867 | ||
1865 | // handle menue |
1868 | // handle menue |
- | 1869 | case STATEID_SELECT_SPEED_FORMAT: |
|
- | 1870 | case STATEID_SELECT_GPS_FORMAT: |
|
1866 | case STATEID_TRAFFIC: |
1871 | case STATEID_TRAFFIC: |
1867 | case STATEID_CONN_DETAILS: |
1872 | case STATEID_CONN_DETAILS: |
1868 | case STATEID_HANDLE_PARAMS: |
1873 | case STATEID_HANDLE_PARAMS: |
1869 | case STATEID_SETTINGSMENU: |
1874 | case STATEID_SETTINGSMENU: |
1870 | case STATEID_MAINMENU: |
1875 | case STATEID_MAINMENU: |
1871 | 1876 | ||
1872 | if ( getGameAction (keyCode)==FIRE ) |
1877 | if ( getGameAction (keyCode)==FIRE ) |
1873 | { |
1878 | { |
1874 | switch(menu_actions[act_menu_select]) |
1879 | switch(menu_actions[act_menu_select]) |
1875 | { |
1880 | { |
- | 1881 | ||
- | 1882 | ||
- | 1883 | case ACTIONID_SET_SPEED_FORMAT_CMS: |
|
- | 1884 | mk.gps_position.act_speed_format=SPEED_FORMAT_CMS; |
|
- | 1885 | chg_state(STATEID_SETTINGSMENU); |
|
- | 1886 | break; |
|
- | 1887 | ||
- | 1888 | case ACTIONID_SET_SPEED_FORMAT_MPH: |
|
- | 1889 | mk.gps_position.act_speed_format=SPEED_FORMAT_MPH; |
|
- | 1890 | chg_state(STATEID_SETTINGSMENU); |
|
- | 1891 | break; |
|
- | 1892 | ||
- | 1893 | case ACTIONID_SET_SPEED_FORMAT_KMH: |
|
- | 1894 | mk.gps_position.act_speed_format=SPEED_FORMAT_KMH; |
|
- | 1895 | chg_state(STATEID_SETTINGSMENU); |
|
- | 1896 | break; |
|
- | 1897 | ||
- | 1898 | case ACTIONID_SELECT_SPEED_FORMAT: |
|
- | 1899 | chg_state(STATEID_SELECT_SPEED_FORMAT); |
|
- | 1900 | break; |
|
- | 1901 | ||
- | 1902 | ||
- | 1903 | case ACTIONID_SET_GPS_FORMAT_DECIMAL: |
|
- | 1904 | mk.gps_position.act_gps_format=GPS_FORMAT_DECIMAL; |
|
- | 1905 | chg_state(STATEID_SETTINGSMENU); |
|
- | 1906 | break; |
|
- | 1907 | ||
- | 1908 | case ACTIONID_SET_GPS_FORMAT_MINSEC: |
|
- | 1909 | mk.gps_position.act_gps_format=GPS_FORMAT_MINSEC; |
|
- | 1910 | chg_state(STATEID_SETTINGSMENU); |
|
- | 1911 | break; |
|
- | 1912 | ||
- | 1913 | ||
- | 1914 | case ACTIONID_SELECT_GPS_FORMAT: |
|
- | 1915 | chg_state(STATEID_SELECT_GPS_FORMAT); |
|
- | 1916 | break; |
|
1876 | 1917 | ||
1877 | case ACTIONID_BACK_TO_CONNDETAILS: |
1918 | case ACTIONID_BACK_TO_CONNDETAILS: |
1878 | chg_state(STATEID_CONN_DETAILS); |
1919 | chg_state(STATEID_CONN_DETAILS); |
1879 | break; |
1920 | break; |
1880 | 1921 | ||
1881 | case ACTIONID_RESET_PARAMS: |
1922 | case ACTIONID_RESET_PARAMS: |
1882 | state=STATEID_FLASHING; |
1923 | state=STATEID_FLASHING; |
1883 | mk.bootloader_intension_flash=false; |
1924 | mk.bootloader_intension_flash=false; |
1884 | init_bootloader=true; |
1925 | init_bootloader=true; |
1885 | break; |
1926 | break; |
1886 | 1927 | ||
1887 | case ACTIONID_FLASH: |
1928 | case ACTIONID_FLASH: |
1888 | 1929 | ||
1889 | chg_state(STATEID_FLASHING); |
1930 | chg_state(STATEID_FLASHING); |
1890 | 1931 | ||
1891 | //chg_state(STATEID_FLASHING); |
1932 | //chg_state(STATEID_FLASHING); |
1892 | break; |
1933 | break; |
1893 | 1934 | ||
1894 | case ACTIONID_DATABUFF: |
1935 | case ACTIONID_DATABUFF: |
1895 | chg_state(STATEID_DATABUFF); |
1936 | chg_state(STATEID_DATABUFF); |
1896 | break; |
1937 | break; |
1897 | 1938 | ||
1898 | case ACTIONID_NC_ERRORS: |
1939 | case ACTIONID_NC_ERRORS: |
1899 | chg_state(STATEID_NC_ERRORS); |
1940 | chg_state(STATEID_NC_ERRORS); |
1900 | break; |
1941 | break; |
1901 | 1942 | ||
1902 | case ACTIONID_ABOUT: |
1943 | case ACTIONID_ABOUT: |
1903 | chg_state(STATEID_ABOUT); |
1944 | chg_state(STATEID_ABOUT); |
1904 | break; |
1945 | break; |
1905 | 1946 | ||
1906 | case ACTIONID_CONN_DETAILS: |
1947 | case ACTIONID_CONN_DETAILS: |
1907 | chg_state(STATEID_CONN_DETAILS); |
1948 | chg_state(STATEID_CONN_DETAILS); |
1908 | break; |
1949 | break; |
1909 | 1950 | ||
1910 | case ACTIONID_QUIT: |
1951 | case ACTIONID_QUIT: |
1911 | quit=true; |
1952 | quit=true; |
1912 | break; |
1953 | break; |
1913 | 1954 | ||
1914 | case ACTIONID_SWITCH_NC: |
1955 | case ACTIONID_SWITCH_NC: |
1915 | mk.switch_to_navi(); |
1956 | mk.switch_to_navi(); |
1916 | break; |
1957 | break; |
1917 | 1958 | ||
1918 | case ACTIONID_SWITCH_FC: |
1959 | case ACTIONID_SWITCH_FC: |
1919 | mk.switch_to_fc(); |
1960 | mk.switch_to_fc(); |
1920 | break; |
1961 | break; |
1921 | 1962 | ||
1922 | case ACTIONID_SWITCH_MK3MAG: |
1963 | case ACTIONID_SWITCH_MK3MAG: |
1923 | mk.switch_to_mk3mag(); |
1964 | mk.switch_to_mk3mag(); |
1924 | break; |
1965 | break; |
1925 | 1966 | ||
1926 | case ACTIONID_GRAPH: |
1967 | case ACTIONID_GRAPH: |
1927 | chg_state(STATEID_GRAPH); |
1968 | chg_state(STATEID_GRAPH); |
1928 | break; |
1969 | break; |
1929 | 1970 | ||
1930 | case ACTIONID_KEYCONTROL: |
1971 | case ACTIONID_KEYCONTROL: |
1931 | chg_state(STATEID_KEYCONTROL); |
1972 | chg_state(STATEID_KEYCONTROL); |
1932 | break; |
1973 | break; |
1933 | 1974 | ||
1934 | case ACTIONID_LCD : |
1975 | case ACTIONID_LCD : |
1935 | chg_state(STATEID_FLIGHTVIEW); |
1976 | chg_state(STATEID_FLIGHTVIEW); |
1936 | break; |
1977 | break; |
1937 | 1978 | ||
1938 | 1979 | ||
1939 | case ACTIONID_PROXY: |
1980 | case ACTIONID_PROXY: |
1940 | 1981 | ||
1941 | chg_state(STATEID_IPINPUT); |
1982 | chg_state(STATEID_IPINPUT); |
1942 | break; |
1983 | break; |
1943 | 1984 | ||
1944 | case ACTIONID_DEVICESELECT: |
1985 | case ACTIONID_DEVICESELECT: |
1945 | chg_state(STATEID_SCANNING); |
1986 | chg_state(STATEID_SCANNING); |
1946 | break; |
1987 | break; |
1947 | 1988 | ||
1948 | case ACTIONID_RAWDEBUG: |
1989 | case ACTIONID_RAWDEBUG: |
1949 | chg_state(STATEID_RAWDEBUG); |
1990 | chg_state(STATEID_RAWDEBUG); |
1950 | break; |
1991 | break; |
1951 | 1992 | ||
1952 | case ACTIONID_SETTINGS: |
1993 | case ACTIONID_SETTINGS: |
1953 | chg_state(STATEID_SETTINGSMENU); |
1994 | chg_state(STATEID_SETTINGSMENU); |
1954 | break; |
1995 | break; |
1955 | 1996 | ||
1956 | case ACTIONID_RCDATA: |
1997 | case ACTIONID_RCDATA: |
1957 | chg_state(STATEID_STICKVIEW); |
1998 | chg_state(STATEID_STICKVIEW); |
1958 | break; |
1999 | break; |
1959 | 2000 | ||
1960 | case ACTIONID_CAM: |
2001 | case ACTIONID_CAM: |
1961 | chg_state(STATEID_CAMMODE); |
2002 | chg_state(STATEID_CAMMODE); |
1962 | break; |
2003 | break; |
1963 | 2004 | ||
1964 | case ACTIONID_GPSDATA: |
2005 | case ACTIONID_GPSDATA: |
1965 | chg_state(STATEID_GPSVIEW); |
2006 | chg_state(STATEID_GPSVIEW); |
1966 | break; |
2007 | break; |
1967 | 2008 | ||
1968 | 2009 | ||
1969 | case ACTIONID_MOTORTEST : |
2010 | case ACTIONID_MOTORTEST : |
1970 | chg_state(STATEID_MOTORTEST); |
2011 | chg_state(STATEID_MOTORTEST); |
1971 | break; |
2012 | break; |
1972 | 2013 | ||
1973 | 2014 | ||
1974 | case ACTIONID_EDIT_PARAMS: |
2015 | case ACTIONID_EDIT_PARAMS: |
1975 | if (mk.watchdog.act_paramset<5) |
2016 | if (mk.watchdog.act_paramset<5) |
1976 | chg_state(STATEID_READ_PARAMS); |
2017 | chg_state(STATEID_READ_PARAMS); |
1977 | else |
2018 | else |
1978 | chg_state(STATEID_SELECT_PARAMSET); |
2019 | chg_state(STATEID_SELECT_PARAMSET); |
1979 | 2020 | ||
1980 | break; |
2021 | break; |
1981 | 2022 | ||
1982 | case ACTIONID_CHANGESKIN: |
2023 | case ACTIONID_CHANGESKIN: |
1983 | settings.act_skin++; |
2024 | settings.act_skin++; |
1984 | settings.act_skin=(byte)(settings.act_skin%2); |
2025 | settings.act_skin=(byte)(settings.act_skin%2); |
1985 | load_images(); |
2026 | load_images(); |
1986 | chg_state(STATEID_SETTINGSMENU); |
2027 | chg_state(STATEID_SETTINGSMENU); |
1987 | break; |
2028 | break; |
1988 | case ACTIONID_SOUNDTOGGLE: |
2029 | case ACTIONID_SOUNDTOGGLE: |
1989 | settings.do_sound=!settings.do_sound; |
2030 | settings.do_sound=!settings.do_sound; |
1990 | chg_state(STATEID_SETTINGSMENU); |
2031 | chg_state(STATEID_SETTINGSMENU); |
1991 | break; |
2032 | break; |
1992 | case ACTIONID_VIBRATOGGLE: |
2033 | case ACTIONID_VIBRATOGGLE: |
1993 | settings.do_vibra=!settings.do_vibra; |
2034 | settings.do_vibra=!settings.do_vibra; |
1994 | chg_state(STATEID_SETTINGSMENU); |
2035 | chg_state(STATEID_SETTINGSMENU); |
1995 | break; |
2036 | break; |
1996 | 2037 | ||
1997 | case ACTIONID_GRAPHTOGGLE: |
2038 | case ACTIONID_GRAPHTOGGLE: |
1998 | settings.do_scrollbg=!settings.do_scrollbg; |
2039 | settings.do_scrollbg=!settings.do_scrollbg; |
1999 | load_images(); |
2040 | load_images(); |
2000 | chg_state(STATEID_SETTINGSMENU); |
2041 | chg_state(STATEID_SETTINGSMENU); |
2001 | break; |
2042 | break; |
2002 | 2043 | ||
2003 | 2044 | ||
2004 | case ACTIONID_FULLSCREENTOGGLE: |
2045 | case ACTIONID_FULLSCREENTOGGLE: |
2005 | settings.fullscreen=!settings.fullscreen; |
2046 | settings.fullscreen=!settings.fullscreen; |
2006 | setFullScreenMode(settings.fullscreen); |
2047 | setFullScreenMode(settings.fullscreen); |
2007 | chg_state(STATEID_SETTINGSMENU); |
2048 | chg_state(STATEID_SETTINGSMENU); |
2008 | break; |
2049 | break; |
2009 | 2050 | ||
2010 | //#if devicecontrol=="on" |
2051 | //#if devicecontrol=="on" |
2011 | case ACTIONID_LIGHTTOGGLE: |
2052 | case ACTIONID_LIGHTTOGGLE: |
2012 | settings.keep_lighton =!settings.keep_lighton; |
2053 | settings.keep_lighton =!settings.keep_lighton; |
2013 | chg_state(STATEID_SETTINGSMENU); |
2054 | chg_state(STATEID_SETTINGSMENU); |
2014 | break; |
2055 | break; |
2015 | //#endif |
2056 | //#endif |
2016 | 2057 | ||
2017 | 2058 | ||
2018 | case ACTIONID_WRITE_PARAMS: |
2059 | case ACTIONID_WRITE_PARAMS: |
2019 | mk.write_params(); |
2060 | mk.write_params(); |
2020 | chg_state(STATEID_MAINMENU); |
2061 | chg_state(STATEID_MAINMENU); |
2021 | break; |
2062 | break; |
2022 | 2063 | ||
2023 | case ACTIONID_UNDO_PARAMS: |
2064 | case ACTIONID_UNDO_PARAMS: |
2024 | mk.params.use_backup(); |
2065 | mk.params.use_backup(); |
2025 | chg_state(STATEID_MAINMENU); |
2066 | chg_state(STATEID_MAINMENU); |
2026 | break; |
2067 | break; |
2027 | 2068 | ||
2028 | case ACTIONID_MAINMENU: |
2069 | case ACTIONID_MAINMENU: |
2029 | chg_state(STATEID_MAINMENU); |
2070 | chg_state(STATEID_MAINMENU); |
2030 | break; |
2071 | break; |
2031 | 2072 | ||
2032 | case ACTIONID_DEBUG: |
2073 | case ACTIONID_DEBUG: |
2033 | debug.showing=true; |
2074 | debug.showing=true; |
2034 | break; |
2075 | break; |
2035 | 2076 | ||
2036 | 2077 | ||
2037 | 2078 | ||
2038 | 2079 | ||
2039 | case ACTIONID_TRAFFIC: |
2080 | case ACTIONID_TRAFFIC: |
2040 | chg_state(STATEID_TRAFFIC); |
2081 | chg_state(STATEID_TRAFFIC); |
2041 | break; |
2082 | break; |
2042 | 2083 | ||
2043 | case ACTIONID_CONNECT_TCP: |
2084 | case ACTIONID_CONNECT_TCP: |
2044 | ipinput4proxy=false; |
2085 | ipinput4proxy=false; |
2045 | chg_state(STATEID_IPINPUT); |
2086 | chg_state(STATEID_IPINPUT); |
2046 | break; |
2087 | break; |
2047 | 2088 | ||
2048 | case ACTIONID_SCAN_BT: |
2089 | case ACTIONID_SCAN_BT: |
2049 | chg_state(STATEID_SCANNING); |
2090 | chg_state(STATEID_SCANNING); |
2050 | break; |
2091 | break; |
2051 | 2092 | ||
2052 | case ACTIONID_SELECT_COM: |
2093 | case ACTIONID_SELECT_COM: |
2053 | chg_state(STATEID_SELECT_COMPORT); |
2094 | chg_state(STATEID_SELECT_COMPORT); |
2054 | break; |
2095 | break; |
2055 | 2096 | ||
2056 | case ACTIONID_PROXY_INPUT: |
2097 | case ACTIONID_PROXY_INPUT: |
2057 | ipinput4proxy=true; |
2098 | ipinput4proxy=true; |
2058 | chg_state(STATEID_IPINPUT); |
2099 | chg_state(STATEID_IPINPUT); |
2059 | break; |
2100 | break; |
2060 | 2101 | ||
2061 | } |
2102 | } |
2062 | 2103 | ||
2063 | } |
2104 | } |
2064 | 2105 | ||
2065 | else menu_keypress(keyCode); |
2106 | else menu_keypress(keyCode); |
2066 | 2107 | ||
2067 | break; |
2108 | break; |
2068 | 2109 | ||
2069 | case STATEID_SELECT_PARAMSET: |
2110 | case STATEID_SELECT_PARAMSET: |
2070 | if ( getGameAction (keyCode)==FIRE ) |
2111 | if ( getGameAction (keyCode)==FIRE ) |
2071 | { |
2112 | { |
2072 | if ( mk.params.field[act_menu_select]!=null) |
2113 | if ( mk.params.field[act_menu_select]!=null) |
2073 | { |
2114 | { |
2074 | mk.params.act_paramset=act_menu_select; |
2115 | mk.params.act_paramset=act_menu_select; |
2075 | chg_state(STATEID_EDIT_PARAMS); |
2116 | chg_state(STATEID_EDIT_PARAMS); |
2076 | } |
2117 | } |
2077 | } |
2118 | } |
2078 | else menu_keypress(keyCode); |
2119 | else menu_keypress(keyCode); |
2079 | break; |
2120 | break; |
2080 | 2121 | ||
2081 | //#if bluetooth=="on" |
2122 | //#if bluetooth=="on" |
2082 | case STATEID_DEVICESELECT: |
2123 | case STATEID_DEVICESELECT: |
2083 | 2124 | ||
2084 | if ( getGameAction (keyCode)==FIRE ) |
2125 | if ( getGameAction (keyCode)==FIRE ) |
2085 | { |
2126 | { |
2086 | 2127 | ||
2087 | if (bt_scanner.remote_device_count > act_menu_select) |
2128 | if (bt_scanner.remote_device_count > act_menu_select) |
2088 | { |
2129 | { |
2089 | connect_mk("btspp://"+bt_scanner.remote_device_mac[act_menu_select] + ":1",bt_scanner.remote_device_name[act_menu_select]); |
2130 | connect_mk("btspp://"+bt_scanner.remote_device_mac[act_menu_select] + ":1",bt_scanner.remote_device_name[act_menu_select]); |
2090 | chg_state(STATEID_CONN_DETAILS); |
2131 | chg_state(STATEID_CONN_DETAILS); |
2091 | } |
2132 | } |
2092 | else |
2133 | else |
2093 | { |
2134 | { |
2094 | if (bt_scanner.remote_device_count == act_menu_select) |
2135 | if (bt_scanner.remote_device_count == act_menu_select) |
2095 | chg_state(STATEID_SCANNING); |
2136 | chg_state(STATEID_SCANNING); |
2096 | else |
2137 | else |
2097 | chg_state(STATEID_CONN_DETAILS); |
2138 | chg_state(STATEID_CONN_DETAILS); |
2098 | } |
2139 | } |
2099 | 2140 | ||
2100 | } |
2141 | } |
2101 | else menu_keypress(keyCode); |
2142 | else menu_keypress(keyCode); |
2102 | 2143 | ||
2103 | break; |
2144 | break; |
2104 | //#endif |
2145 | //#endif |
2105 | 2146 | ||
2106 | 2147 | ||
2107 | case STATEID_EDIT_PARAMS: |
2148 | case STATEID_EDIT_PARAMS: |
2108 | params_editor.keypress(keyCode,getGameAction (keyCode)) ; |
2149 | params_editor.keypress(keyCode,getGameAction (keyCode)) ; |
2109 | break; |
2150 | break; |
2110 | 2151 | ||
2111 | case STATEID_FLIGHTVIEW: |
2152 | case STATEID_FLIGHTVIEW: |
2112 | 2153 | ||
2113 | if ((keyCode >= this.KEY_NUM0) && (keyCode <= this.KEY_NUM9)) |
2154 | if ((keyCode >= this.KEY_NUM0) && (keyCode <= this.KEY_NUM9)) |
2114 | mk.LCD.set_page(keyCode-this.KEY_NUM0); |
2155 | mk.LCD.set_page(keyCode-this.KEY_NUM0); |
2115 | else |
2156 | else |
2116 | switch (getGameAction (keyCode)) |
2157 | switch (getGameAction (keyCode)) |
2117 | { |
2158 | { |
2118 | case LEFT: |
2159 | case LEFT: |
2119 | case UP: |
2160 | case UP: |
2120 | mk.LCD.LCD_PREVPAGE(); |
2161 | mk.LCD.LCD_PREVPAGE(); |
2121 | break; |
2162 | break; |
2122 | 2163 | ||
2123 | case RIGHT: |
2164 | case RIGHT: |
2124 | case DOWN: |
2165 | case DOWN: |
2125 | mk.LCD.LCD_NEXTPAGE(); |
2166 | mk.LCD.LCD_NEXTPAGE(); |
2126 | break; |
2167 | break; |
2127 | 2168 | ||
2128 | 2169 | ||
2129 | 2170 | ||
2130 | } |
2171 | } |
2131 | break; |
2172 | break; |
2132 | } |
2173 | } |
2133 | 2174 | ||
2134 | 2175 | ||
2135 | 2176 | ||
2136 | } |
2177 | } |
2137 | 2178 | ||
2138 | 2179 | ||
2139 | 2180 | ||
2140 | 2181 | ||
2141 | 2182 | ||
2142 | 2183 | ||
2143 | 2184 | ||
2144 | 2185 | ||
2145 | } |
2186 | } |
2146 | 2187 | ||
2147 | 2188 | ||
2148 | 2189 |