Subversion Repositories Projects

Rev

Rev 223 | Rev 229 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 223 Rev 224
Line 101... Line 101...
101
 
101
 
Line 102... Line 102...
102
    int     bg_offset=0;
102
    int     bg_offset=0;
103
 
103
 
-
 
104
    // variable to hold the current state
Line 104... Line 105...
104
    // variable to hold the current state
105
    public byte state=STATEID_INITIAL;
Line 105... Line 106...
105
    public byte state=STATEID_INITIAL;
106
    public byte nextstate=STATEID_INITIAL;
106
 
107
 
Line 156... Line 157...
156
                tmp_items[setup_pos++]  ="Key-Control";
157
                tmp_items[setup_pos++]  ="Key-Control";
Line 157... Line 158...
157
 
158
 
158
                tmp_actions[setup_pos]=ACTIONID_RCDATA;
159
                tmp_actions[setup_pos]=ACTIONID_RCDATA;
Line 159... Line 160...
159
                tmp_items[setup_pos++]  ="view RC-data";
160
                tmp_items[setup_pos++]  ="view RC-data";
160
 
161
 
Line 161... Line 162...
161
                tmp_actions[setup_pos]=ACTIONID_EDIT_PARAMS;
162
                tmp_actions[setup_pos]=ACTIONID_PARAM_MENU;
162
                tmp_items[setup_pos++]  ="Flight Settings";
163
                tmp_items[setup_pos++]  ="Flight Settings";
163
 
164
 
Line 187... Line 188...
187
                tmp_actions[setup_pos]=ACTIONID_RAWDEBUG;
188
                tmp_actions[setup_pos]=ACTIONID_RAWDEBUG;
188
                tmp_items[setup_pos++]  ="Debug Values";
189
                tmp_items[setup_pos++]  ="Debug Values";
189
            }
190
            }
Line 190... Line -...
190
 
-
 
191
 
191
 
192
 
192
 
193
        if ( mk.ufo_prober.is_navi())
193
        if ( mk.ufo_prober.is_navi())
194
            {
194
            {
Line 390... Line 390...
390
 
390
 
391
    // construct
391
    // construct
392
    public DUBwiseCanvas(DUBwise _root)
392
    public DUBwiseCanvas(DUBwise _root)
Line 393... Line 393...
393
    {
393
    {
394
 
394
 
395
        act_menu_select_bak=new int[LAST_STATEID];
395
        act_menu_select_bak=new int[STATEID_COUNT];
396
        for (int i=0;i<LAST_STATEID;i++)
396
        for (int i=0;i<STATEID_COUNT;i++)
397
            act_menu_select_bak[i]=0;
397
            act_menu_select_bak[i]=0;
398
//#if fileapi=="on"
398
//#if fileapi=="on"
Line 455... Line 455...
455
                    {
455
                    {
456
                        mk.ufo_prober.change_notify=false;
456
                        mk.ufo_prober.change_notify=false;
457
                        if (mk.ufo_prober.is_incompatible())
457
                        if (mk.ufo_prober.is_incompatible())
458
                            {
458
                            {
459
                                mk.error_str="incompatible Device";
459
                                mk.error_str="incompatible Device";
460
                                chg_state(STATEID_NC_ERRORS);
460
                                chg_state(STATEID_ERROR_MSG);
461
                            }
461
                            }
462
                        else
462
                        else
463
                            if (state==STATEID_MAINMENU)
463
                            if (state==STATEID_MAINMENU)
464
                                chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content )
464
                                chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content )
465
                    }
465
                    }
Line 466... Line 466...
466
 
466
 
467
               
467
               
468
                switch(state)
468
                switch(state)
-
 
469
                    {
-
 
470
                       
-
 
471
                    case STATEID_RESET_PARAMS:
-
 
472
                        if (mk.bootloader_finish_ok)
-
 
473
                            {
-
 
474
                                nextstate=STATEID_PARAM_MENU;
-
 
475
                                success_msg="Param Reset Success!";
-
 
476
                                chg_state(STATEID_SUCCESS_MSG);
469
                    {
477
                            }
470
 
478
                        break;
471
                    case STATEID_GRAPH:
479
                    case STATEID_GRAPH:
472
                        graph_offset--;
480
                        graph_offset--;
473
                        if (graph_offset==-graph_data[0].length)
481
                        if (graph_offset==-graph_data[0].length)
Line 506... Line 514...
506
                        break;
514
                        break;
507
                    case STATEID_KEYCONTROL:
515
                    case STATEID_KEYCONTROL:
508
                        //mk.send_keys(keycontrol_bitfield);    
516
                        //mk.send_keys(keycontrol_bitfield);    
509
                        break;
517
                        break;
Line -... Line 518...
-
 
518
                       
510
                       
519
 
511
                    case STATEID_NC_ERRORS:
520
                    case STATEID_ERROR_MSG:
512
                        lcd_lines[0]=""+mk.error_str;
521
                        lcd_lines[0]=""+mk.error_str;
Line 513... Line 522...
513
                        break;
522
                        break;
514
                       
523
                       
Line 524... Line 533...
524
                                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?"#":"_") + "|         ";
533
                                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?"#":"_") + "|         ";
Line 525... Line 534...
525
                               
534
                               
526
                                if (mk.params.found_incompatible)
535
                                if (mk.params.found_incompatible)
527
                                    {
536
                                    {
528
                                        mk.error_str="incompatible params";
537
                                        mk.error_str="incompatible params";
529
                                        chg_state(STATEID_NC_ERRORS);
538
                                        chg_state(STATEID_ERROR_MSG);
Line 530... Line 539...
530
                                    }
539
                                    }
531
                               
540
                               
Line 955... Line 964...
955
                           
964
                           
956
                            g.drawString(mk.get_buff(pos_y) ,0,y_off,Graphics.TOP | Graphics.LEFT);
965
                            g.drawString(mk.get_buff(pos_y) ,0,y_off,Graphics.TOP | Graphics.LEFT);
957
                            y_off-=spacer1;
966
                            y_off-=spacer1;
958
                        }
967
                        }
-
 
968
                    break;
-
 
969
 
959
                    break;
970
                case STATEID_SUCCESS_MSG:
960
                case STATEID_NC_ERRORS:
971
                case STATEID_ERROR_MSG:
961
                    if (err_img!=null)
972
                    if (err_img!=null)
962
                        {
973
                        {
963
                            int err_img_left=(canvas_width-err_img.getWidth()/2)/2;
974
                            int err_img_left=(canvas_width-err_img.getWidth()/2)/2;
-
 
975
                            int err_img_top=(canvas_height-err_img.getHeight())/2;
964
                            int err_img_top=(canvas_height-err_img.getHeight())/2;
976
                            if (err_img_top<0)err_img_top=0;
965
                            g.setClip(err_img_left,err_img_top,err_img.getWidth()/2,err_img.getHeight());
977
                            g.setClip(err_img_left,err_img_top,err_img.getWidth()/2,err_img.getHeight());
966
                            g.drawImage(err_img,err_img_left-err_img.getWidth()/2,err_img_top, g.TOP | g.LEFT);
978
                            g.drawImage(err_img,err_img_left-((state==STATEID_SUCCESS_MSG)?0:(err_img.getWidth()/2)),err_img_top, g.TOP | g.LEFT);
967
                        }
979
                        }
Line 968... Line 980...
968
                            paint_lcd(g);
980
                            paint_lcd(g);
Line 969... Line 981...
969
 
981
 
Line 970... Line 982...
970
                    break;
982
                     break;
Line 1064... Line 1076...
1064
                    */
1076
                    */
Line 1065... Line 1077...
1065
                   
1077
                   
Line -... Line 1078...
-
 
1078
 
1066
 
1079
                    break;
1067
                    break;
1080
 
1068
 
1081
                case STATEID_RESET_PARAMS:
1069
                case STATEID_FLASHING:
1082
                case STATEID_FLASHING:
1070
                    g.setFont(f2);
1083
                    g.setFont(f2);
Line 1155... Line 1168...
1155
                    y_off+=spacer;
1168
                    y_off+=spacer;
1156
                    g.drawString("act_path" + file_access.act_path() ,0,y_off,Graphics.TOP | Graphics.LEFT);
1169
                    g.drawString("act_path" + file_access.act_path() ,0,y_off,Graphics.TOP | Graphics.LEFT);
1157
                    paint_menu(g);
1170
                    paint_menu(g);
1158
                    break;
1171
                    break;
1159
//#endif
1172
//#endif
-
 
1173
 
-
 
1174
 
-
 
1175
                case STATEID_PARAM_MENU:
-
 
1176
                    paint_menu(g);
-
 
1177
                    break;
1160
                case STATEID_STRINGINPUT:
1178
                case STATEID_STRINGINPUT:
1161
                case STATEID_ABOUT:
1179
                case STATEID_ABOUT:
1162
                case STATEID_IPINPUT:
1180
                case STATEID_IPINPUT:
-
 
1181
 
1163
                    paint_lcd(g);
1182
                    paint_lcd(g);
1164
                    break;
1183
                    break;
Line 1165... Line 1184...
1165
 
1184
 
1166
                case STATEID_READ_PARAMS:
1185
                case STATEID_READ_PARAMS:
Line 1471... Line 1490...
1471
    //    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) ";
1490
    //    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) ";
Line 1472... Line 1491...
1472
 
1491
 
1473
    //    int intro_str_pos=0;
1492
    //    int intro_str_pos=0;
1474
    // int intro_str_delay=3;
1493
    // int intro_str_delay=3;
-
 
1494
    //    boolean init_bootloader=false;
Line 1475... Line 1495...
1475
    //    boolean init_bootloader=false;
1495
    String success_msg="";
1476
 
1496
 
1477
    public void chg_state(byte next_state)
1497
    public void chg_state(byte next_state)
1478
    {
1498
    {
Line 1484... Line 1504...
1484
        act_menu_select_bak[state]=act_menu_select;
1504
        act_menu_select_bak[state]=act_menu_select;
1485
        act_menu_select=act_menu_select_bak[next_state];
1505
        act_menu_select=act_menu_select_bak[next_state];
1486
        // prepare next state
1506
        // prepare next state
1487
        switch(next_state)
1507
        switch(next_state)
1488
            {
1508
            {
-
 
1509
            case STATEID_SUCCESS_MSG:
1489
            case STATEID_NC_ERRORS:
1510
            case STATEID_ERROR_MSG:
1490
                lcd_lines=new String[1];
1511
                lcd_lines=new String[1];
-
 
1512
               
1491
                lcd_lines[0]=""+mk.error_str;
1513
                lcd_lines[0]=""+((next_state==STATEID_SUCCESS_MSG)?success_msg:mk.error_str);
1492
                try
1514
                try
1493
                    {
1515
                    {
1494
                        err_img=Image.createImage("/preflight.jpg");       
1516
                        err_img=Image.createImage("/preflight.jpg");       
1495
                    }
1517
                    }
1496
                catch (Exception e)        
1518
                catch (Exception e)        
Line 1509... Line 1531...
1509
               
1531
               
1510
                break;
1532
                break;
1511
            case STATEID_FLIGHTVIEW:
1533
            case STATEID_FLIGHTVIEW:
1512
                mk.user_intent=USER_INTENT_LCD;
1534
                mk.user_intent=USER_INTENT_LCD;
-
 
1535
                break;
-
 
1536
            case STATEID_RESET_PARAMS:
-
 
1537
 
-
 
1538
                mk.bootloader_intension_flash=false;
-
 
1539
                mk.bl_retrys=0;
-
 
1540
                mk.init_bootloader=true;
-
 
1541
                break;
1513
                break;
1542
 
1514
            case STATEID_FLASHING:
1543
            case STATEID_FLASHING:
1515
                mk.bootloader_intension_flash=true;
1544
                mk.bootloader_intension_flash=true;
1516
                mk.bl_retrys=0;
1545
                mk.bl_retrys=0;
1517
                mk.init_bootloader=true;
1546
                mk.init_bootloader=true;
Line 1546... Line 1575...
1546
                act_menu_select=max_lines-1;
1575
                act_menu_select=max_lines-1;
1547
                break;
1576
                break;
1548
            case STATEID_CONN_DETAILS: 
1577
            case STATEID_CONN_DETAILS: 
1549
                setup_menu(conn_details_menu_items,conn_details_menu_actions);
1578
                setup_menu(conn_details_menu_items,conn_details_menu_actions);
1550
                break;
1579
                break;
-
 
1580
 
-
 
1581
 
-
 
1582
            case STATEID_PARAM_MENU:
-
 
1583
                setup_menu(param_menu_items,param_menu_actions);
-
 
1584
                break;
1551
            case STATEID_TRAFFIC:      
1585
            case STATEID_TRAFFIC:      
1552
                setup_menu(onlyback_menu_items,back_to_conndetails_actions);
1586
                setup_menu(onlyback_menu_items,back_to_conndetails_actions);
1553
                break;
1587
                break;
1554
            case STATEID_CAMMODE:
1588
            case STATEID_CAMMODE:
1555
                mk.user_intent=USER_INTENT_RCDATA;
1589
                mk.user_intent=USER_INTENT_RCDATA;
Line 1617... Line 1651...
1617
                lcd_lines=new String[menu_items.length];
1651
                lcd_lines=new String[menu_items.length];
Line 1618... Line 1652...
1618
 
1652
 
Line 1619... Line 1653...
1619
                break;
1653
                break;
1620
 
1654
 
1621
            case STATEID_SELECT_PARAMSET:
1655
            case STATEID_SELECT_PARAMSET:
1622
                menu_items=new String[5];
1656
                menu_items=new String[6];
Line -... Line 1657...
-
 
1657
                for (int i=0;i<5;i++)
1623
                for (int i=0;i<5;i++)
1658
                    menu_items[i]=""+(i+1)+": " + mk.params.getParamName(i) + ((i==mk.params.active_paramset)?"*":"");
1624
                    menu_items[i]=""+(i+1)+": " + mk.params.getParamName(i) + ((i==mk.params.active_paramset)?"*":"");
1659
 
Line 1625... Line 1660...
1625
 
1660
                menu_items[5]="back";
1626
                lcd_lines=new String[5];
1661
                lcd_lines=new String[6];
Line 1844... Line 1879...
1844
 
1879
 
1845
        // key actions per state
1880
        // key actions per state
1846
        switch(state)
1881
        switch(state)
Line -... Line 1882...
-
 
1882
            {
-
 
1883
 
-
 
1884
            case STATEID_SUCCESS_MSG:
1847
            {
1885
                chg_state(nextstate);
1848
 
1886
                break;
1849
            case STATEID_NC_ERRORS:
1887
            case STATEID_ERROR_MSG:
1850
                chg_state(STATEID_MAINMENU);
1888
                chg_state(STATEID_MAINMENU);
1851
                break;
1889
                break;
1852
            case STATEID_STRINGINPUT:
1890
            case STATEID_STRINGINPUT:
Line 2145... Line 2183...
2145
                break;
2183
                break;
Line 2146... Line 2184...
2146
 
2184
 
2147
                // handle menue
2185
                // handle menue
2148
                //          case STATEID_SELECT_SPEED_FORMAT:   
2186
                //          case STATEID_SELECT_SPEED_FORMAT:   
-
 
2187
                //          case STATEID_SELECT_GPS_FORMAT:
2149
                //          case STATEID_SELECT_GPS_FORMAT:
2188
            case STATEID_PARAM_MENU:
2150
            case STATEID_TRAFFIC:
2189
            case STATEID_TRAFFIC:
2151
            case STATEID_CONN_DETAILS:
2190
            case STATEID_CONN_DETAILS:
Line 2152... Line 2191...
2152
            case STATEID_HANDLE_PARAMS:
2191
            case STATEID_HANDLE_PARAMS:
Line 2153... Line 2192...
2153
 
2192
 
2154
            case STATEID_MAINMENU:
2193
            case STATEID_MAINMENU:
2155
 
2194
 
2156
                if ( getGameAction (keyCode)==FIRE )
2195
                if ( getGameAction (keyCode)==FIRE )
-
 
2196
                    {
-
 
2197
                        switch(menu_actions[act_menu_select])
-
 
2198
                            {
2157
                    {
2199
                            case ACTIONID_PARAM_MENU:
-
 
2200
                                chg_state(STATEID_PARAM_MENU);
-
 
2201
                                break;
-
 
2202
                               
-
 
2203
                            case ACTIONID_PARAM_WRITE_OK:
2158
                        switch(menu_actions[act_menu_select])
2204
                                success_msg="Parameter Write OK";
2159
                            {
2205
                                chg_state(STATEID_SUCCESS_MSG);
2160
 
2206
                                break;
Line 2161... Line 2207...
2161
                            case ACTIONID_HORIZON:
2207
                            case ACTIONID_HORIZON:
Line 2172... Line 2218...
2172
                            case ACTIONID_BACK_TO_CONNDETAILS:
2218
                            case ACTIONID_BACK_TO_CONNDETAILS:
2173
                                chg_state(STATEID_CONN_DETAILS);
2219
                                chg_state(STATEID_CONN_DETAILS);
2174
                                break;
2220
                                break;
Line 2175... Line 2221...
2175
 
2221
 
2176
                            case ACTIONID_RESET_PARAMS:
2222
                            case ACTIONID_RESET_PARAMS:
2177
                                state=STATEID_FLASHING;
-
 
2178
                                mk.bootloader_intension_flash=false;
-
 
2179
                                mk.bl_retrys=0;
2223
                                chg_state(STATEID_RESET_PARAMS);
-
 
2224
                                //                              state=STATEID_FLASHING;
2180
                                mk.init_bootloader=true;
2225
 
Line 2181... Line 2226...
2181
                                break;
2226
                                break;
2182
 
2227
 
2183
                            case ACTIONID_FLASH:
2228
                            case ACTIONID_FLASH:
Line 2187... Line 2232...
2187
                            case ACTIONID_DATABUFF:
2232
                            case ACTIONID_DATABUFF:
2188
                                chg_state(STATEID_DATABUFF);
2233
                                chg_state(STATEID_DATABUFF);
2189
                                break;
2234
                                break;
Line 2190... Line 2235...
2190
                                   
2235
                                   
2191
                            case ACTIONID_NC_ERRORS:
2236
                            case ACTIONID_NC_ERRORS:
2192
                                chg_state(STATEID_NC_ERRORS);
2237
                                chg_state(STATEID_ERROR_MSG);
Line 2193... Line 2238...
2193
                                break;
2238
                                break;
2194
 
2239
 
2195
                            case ACTIONID_ABOUT:
2240
                            case ACTIONID_ABOUT:
Line 2263... Line 2308...
2263
                                chg_state(STATEID_MOTORTEST);
2308
                                chg_state(STATEID_MOTORTEST);
2264
                                break;
2309
                                break;
Line 2265... Line 2310...
2265
                               
2310
                               
-
 
2311
 
-
 
2312
                            case ACTIONID_EDIT_PARAMS:
-
 
2313
                                chg_state(STATEID_EDIT_PARAMS);
2266
 
2314
                                break;
2267
                            case ACTIONID_EDIT_PARAMS:
2315
                            case ACTIONID_SELECT_PARAMS:
2268
                                select_paramset4edit=true;
2316
                                select_paramset4edit=true;
2269
                                if (mk.watchdog.act_paramset<5)
2317
                                if (mk.watchdog.act_paramset<5)
2270
                                    chg_state(STATEID_READ_PARAMS);
2318
                                    chg_state(STATEID_READ_PARAMS);
Line 2279... Line 2327...
2279
                                chg_state(STATEID_SELECT_PARAMSET);
2327
                                chg_state(STATEID_SELECT_PARAMSET);
2280
                                break;
2328
                                break;
Line 2281... Line 2329...
2281
 
2329
 
2282
                            case ACTIONID_WRITE_PARAMS:
2330
                            case ACTIONID_WRITE_PARAMS:
-
 
2331
                                mk.write_params(mk.params.act_paramset);
-
 
2332
                                success_msg="Saved Settings"; // too optimistic
2283
                                mk.write_params(mk.params.act_paramset);
2333
                                nextstate=STATEID_HANDLE_PARAMS;
2284
                                chg_state(STATEID_MAINMENU);
2334
                                chg_state(STATEID_SUCCESS_MSG);
Line 2285... Line 2335...
2285
                                break;
2335
                                break;
2286
 
2336
 
-
 
2337
                            case ACTIONID_UNDO_PARAMS:
-
 
2338
                                mk.params.use_backup();
2287
                            case ACTIONID_UNDO_PARAMS:
2339
                                success_msg="Settings Undo OK"; // too optimistic
-
 
2340
                                nextstate=STATEID_HANDLE_PARAMS;
2288
                                mk.params.use_backup();
2341
                                chg_state(STATEID_SUCCESS_MSG);
Line 2289... Line 2342...
2289
                                chg_state(STATEID_MAINMENU);
2342
 
2290
                                break;
2343
                                break;
2291
 
2344
 
Line 2328... Line 2381...
2328
                break;
2381
                break;
Line 2329... Line 2382...
2329
 
2382
 
2330
            case STATEID_SELECT_PARAMSET:
2383
            case STATEID_SELECT_PARAMSET:
2331
                if ( getGameAction (keyCode)==FIRE )
2384
                if ( getGameAction (keyCode)==FIRE )
2332
                    {            
2385
                    {            
2333
                        if (select_paramset4edit)
-
 
2334
                            //                  if ( mk.params.field[act_menu_select]!=null) 
2386
                        if (act_menu_select==5) // back
2335
                            {
2387
                            {
-
 
2388
                                if (select_paramset4edit)
-
 
2389
                                        chg_state(STATEID_PARAM_MENU);
2336
                                mk.params.act_paramset=act_menu_select;
2390
                                else
-
 
2391
                                        chg_state(STATEID_HANDLE_PARAMS);
2337
                                chg_state(STATEID_EDIT_PARAMS);
2392
                                   
2338
                            }
2393
                            }
2339
                        else
2394
                        else
-
 
2395
                            {
-
 
2396
                                if (select_paramset4edit)
-
 
2397
                                    //                  if ( mk.params.field[act_menu_select]!=null) 
-
 
2398
                                    {
-
 
2399
                                        mk.params.act_paramset=act_menu_select;
-
 
2400
                                        chg_state(STATEID_HANDLE_PARAMS);
-
 
2401
                                        //success_msg="Params saved";
-
 
2402
                                    }
-
 
2403
                                else
2340
                            {
2404
                                    {
2341
                                mk.write_params(act_menu_select);
2405
                                        mk.write_params(act_menu_select);
-
 
2406
                                        nextstate=STATEID_HANDLE_PARAMS;
-
 
2407
                                        success_msg="saved in slot " + (act_menu_select+1) ;
-
 
2408
                                        chg_state(STATEID_SUCCESS_MSG);  // TODO - ground too optimistic way ;-)
-
 
2409
                                    }
2342
                                chg_state(STATEID_MAINMENU);
2410
 
2343
                            }
2411
                            }
2344
                    }
2412
                    }
2345
                else menu_keypress(keyCode);
2413
                else menu_keypress(keyCode);