13,6 → 13,8 |
import javax.microedition.media.control.*; |
|
|
import javax.microedition.rms.*; |
import java.io.*; |
|
public class DUBwiseCanvas |
extends Canvas |
24,10 → 26,11 |
//#endif |
|
String act_input_str=" "; |
|
|
// for dual use of states |
boolean select_paramset4edit; |
|
|
boolean read_paramset_intension_save; |
boolean ipinput4proxy; |
|
|
52,6 → 55,8 |
public DUBwiseDebug debug=null; |
|
|
|
|
//#if voice_mode!="no_voice" |
public MKStatusVoice status_voice; |
//#endif |
64,6 → 69,11 |
private Image bg_img; |
private Image lcd_img; |
private Image symbols_img; |
|
private int symbols_img_tile_height; |
private int symbols_img_tile_width; |
|
|
private Image err_img; |
|
|
123,135 → 133,124 |
String[] lcd_lines =null; |
|
|
// to check if 2 keys are pressed |
byte keycontrol_exit=0; |
|
|
byte setup_pos; |
byte[] tmp_actions; |
String[] tmp_items; |
// boolean expert_mode=false; |
|
public void setup_main_menu() |
public void tmp_menu_init(int max_items) |
{ |
byte setup_pos=0; |
byte[] tmp_actions=new byte[20]; |
String[] tmp_items=new String[20]; |
setup_pos=0; |
tmp_actions=new byte[max_items]; |
tmp_items=new String[max_items]; |
} |
|
public void tmp_menu_add(String label,byte action) |
{ |
tmp_actions[setup_pos] = action; |
tmp_items[setup_pos] = label; |
setup_pos++; |
} |
|
public void tmp_menu_use() |
{ |
byte[] tmp_actions_fin=new byte[setup_pos]; |
String[] tmp_items_fin=new String[setup_pos]; |
|
if (setup_pos<act_menu_select) |
act_menu_select=0; |
|
tmp_actions[setup_pos]=ACTIONID_SETTINGS; |
tmp_items[setup_pos++] ="Tool Settings"; |
|
|
tmp_actions[setup_pos]=ACTIONID_CONN_DETAILS; |
tmp_items[setup_pos++] ="Connection"; |
|
if (settings.expert_mode) |
for ( int tmp_p=0;tmp_p<setup_pos;tmp_p++) |
{ |
tmp_actions[setup_pos]=ACTIONID_DEBUG; |
tmp_items[setup_pos++] ="Debug"; |
|
tmp_actions_fin[tmp_p]=tmp_actions[tmp_p]; |
tmp_items_fin[tmp_p] =tmp_items[tmp_p]; |
} |
|
if (mk.ufo_prober.is_mk() ) |
{ |
tmp_actions[setup_pos]=ACTIONID_MOTORTEST; |
tmp_items[setup_pos++] ="Motor Test"; |
setup_menu(tmp_items_fin,tmp_actions_fin); |
} |
|
public void setup_conn_menu() |
{ |
tmp_menu_init(7); |
tmp_menu_add("Packet Traffic",ACTIONID_TRAFFIC); |
tmp_menu_add("view Data",ACTIONID_DATABUFF); |
//#if bluetooth=="on" |
tmp_menu_add("connect via BT",ACTIONID_SCAN_BT); |
//#endif |
tmp_menu_add("connect via TCP/IP",ACTIONID_CONNECT_TCP); |
|
tmp_actions[setup_pos]=ACTIONID_KEYCONTROL; |
tmp_items[setup_pos++] ="Key-Control"; |
if ((System.getProperty("microedition.commports")!=null)&&(!System.getProperty("microedition.commports").equals(""))) |
tmp_menu_add("connect via COM",ACTIONID_SELECT_COM); |
tmp_menu_add("set Proxy",ACTIONID_PROXY_INPUT); |
tmp_menu_add("back",ACTIONID_MAINMENU); |
tmp_menu_use(); |
|
tmp_actions[setup_pos]=ACTIONID_RCDATA; |
tmp_items[setup_pos++] ="view RC-data"; |
} |
|
tmp_actions[setup_pos]=ACTIONID_PARAM_MENU; |
tmp_items[setup_pos++] ="Flight Settings"; |
|
tmp_actions[setup_pos] =ACTIONID_HORIZON; |
tmp_items[setup_pos++] ="Artificial Horizon"; |
} |
public void setup_main_menu() |
{ |
tmp_menu_init(20); |
|
tmp_menu_add("Tool Settings",ACTIONID_SETTINGS); |
tmp_menu_add("Connection",ACTIONID_CONN_DETAILS); |
|
|
|
if (( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk() )) |
if (settings.expert_mode) |
tmp_menu_add("Debug",ACTIONID_DEBUG); |
|
if (mk.ufo_prober.is_mk()) |
{ |
tmp_actions[setup_pos]=ACTIONID_LCD; |
tmp_items[setup_pos++] ="LCD"; |
|
tmp_menu_add("Motor Test",ACTIONID_MOTORTEST); |
tmp_menu_add("Key-Control",ACTIONID_KEYCONTROL); |
tmp_menu_add("view RC-data",ACTIONID_RCDATA); |
tmp_menu_add("Flight Settings",ACTIONID_PARAM_MENU); |
tmp_menu_add("Artificial Horizon",ACTIONID_HORIZON); |
} |
|
if (( mk.ufo_prober.is_mk() )) |
{ |
tmp_actions[setup_pos]=ACTIONID_GRAPH; |
tmp_items[setup_pos++] ="Graph"; |
} |
|
|
if ( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk() ) |
tmp_menu_add("LCD",ACTIONID_LCD); |
|
if ( mk.ufo_prober.is_mk() ) |
tmp_menu_add("Graph",ACTIONID_GRAPH); |
|
if (( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag() )) |
{ |
tmp_actions[setup_pos]=ACTIONID_RAWDEBUG; |
tmp_items[setup_pos++] ="Debug Values"; |
} |
tmp_menu_add("Debug Values",ACTIONID_RAWDEBUG); |
|
|
if ( mk.ufo_prober.is_navi()) |
{ |
tmp_actions[setup_pos]=ACTIONID_GPSDATA; |
tmp_items[setup_pos++] ="view GPS-Data"; |
tmp_menu_add("view GPS-Data",ACTIONID_GPSDATA); |
tmp_menu_add("view Errors",ACTIONID_NC_ERRORS); |
tmp_menu_add("switch to FC",ACTIONID_SWITCH_FC); |
tmp_menu_add("switch to MK3MAG",ACTIONID_SWITCH_MK3MAG); |
|
tmp_actions[setup_pos]=ACTIONID_NC_ERRORS; |
tmp_items[setup_pos++] ="view Errors"; |
|
|
tmp_actions[setup_pos]=ACTIONID_SWITCH_FC; |
tmp_items[setup_pos++] ="switch to FC"; |
|
tmp_actions[setup_pos]=ACTIONID_SWITCH_MK3MAG; |
tmp_items[setup_pos++] ="switch to MK3MAG"; |
|
} |
|
if ((mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag() )) |
{ |
tmp_actions[setup_pos]=ACTIONID_SWITCH_NC; |
tmp_items[setup_pos++] ="switch to Navi"; |
} |
if (mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag() ) |
tmp_menu_add("switch to navi",ACTIONID_SWITCH_NC); |
|
|
//if ((settings.expert_mode)&& ( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag()||mk.ufo_prober.is_incompatible() )) |
|
if (settings.expert_mode) |
{ |
tmp_actions[setup_pos]=ACTIONID_FLASH; |
tmp_items[setup_pos++] ="Flash Firmware"; |
} |
tmp_menu_add("Flash Firmware",ACTIONID_FLASH); |
|
if ((settings.expert_mode)&& ( mk.ufo_prober.is_mk() )) |
{ |
tmp_actions[setup_pos]=ACTIONID_CAM; |
tmp_items[setup_pos++] ="Remote Cam"; |
} |
if (settings.expert_mode&& mk.ufo_prober.is_mk() ) |
tmp_menu_add("Remote Cam",ACTIONID_CAM); |
|
|
if (!settings.expert_mode) |
{ |
tmp_actions[setup_pos]=ACTIONID_ABOUT; |
tmp_items[setup_pos++] ="About"; |
} |
tmp_menu_add("About",ACTIONID_ABOUT); |
|
tmp_actions[setup_pos]=ACTIONID_QUIT; |
tmp_items[setup_pos++] ="Quit"; |
tmp_menu_add("Quit",ACTIONID_QUIT); |
|
|
byte[] tmp_actions_fin=new byte[setup_pos]; |
String[] tmp_items_fin=new String[setup_pos]; |
|
if (setup_pos<act_menu_select) |
act_menu_select=0; |
|
for ( int tmp_p=0;tmp_p<setup_pos;tmp_p++) |
{ |
tmp_actions_fin[tmp_p]=tmp_actions[tmp_p]; |
tmp_items_fin[tmp_p] =tmp_items[tmp_p]; |
} |
|
setup_menu(tmp_items_fin,tmp_actions_fin); |
tmp_menu_use(); |
} |
|
|
311,7 → 310,7 |
} |
|
// int lcd_top=25; |
|
int lcd_off; |
public void paint_lcd(Graphics g) |
{ |
int y; |
324,7 → 323,7 |
int display_lines=(lcd_lines.length>max_lines?max_lines:lcd_lines.length); |
|
|
int lcd_off= (((state==STATEID_EDIT_PARAMS)&&(!params_editor.select_mode))?params_editor.act_y:act_menu_select)-display_lines+1; |
lcd_off= (((state==STATEID_EDIT_PARAMS)&&(!params_editor.select_mode))?params_editor.act_y:act_menu_select)-display_lines+1; |
if ( lcd_off<0) lcd_off=0; |
|
for(int i=0;i<display_lines;i++) |
376,8 → 375,9 |
try |
{ |
symbols_img=Image.createImage("/symbols.png"); |
symbols_img_tile_height=symbols_img.getHeight()/2; |
symbols_img_tile_width=symbols_img.getWidth()/10; |
|
|
/* if (bg_img!=null) |
graph_data=new int[GRAPH_COUNT][bg_img.getWidth()]; |
else |
533,8 → 533,51 |
case STATEID_READ_PARAMS: |
if (mk.watchdog.act_paramset==5) |
{ |
chg_state(STATEID_SELECT_PARAMSET); |
select_paramset4edit=true; |
if (read_paramset_intension_save) |
{ |
|
try |
{ |
RecordStore.deleteRecordStore( PARAM_SAVE_STORE_NAME); |
} |
catch (Exception e) |
{ } |
|
try { |
RecordStore recStore = RecordStore.openRecordStore( PARAM_SAVE_STORE_NAME, true ); |
|
ByteArrayOutputStream bout = new ByteArrayOutputStream(); |
DataOutputStream dout = new DataOutputStream( bout ); |
|
// params_version |
dout.writeInt(mk.params.params_version); |
|
// params_length |
dout.writeInt(mk.params.field_bak[0].length); |
|
for (int p=0;p<5;p++) |
for (int i=0;i<mk.params.field_bak[0].length;i++) |
dout.writeInt(mk.params.field_bak[p][i]); |
|
recStore.addRecord(bout.toByteArray(),0,bout.size()); |
recStore.closeRecordStore(); |
|
|
} |
catch (Exception e) |
{ } |
// chg_state(STATEID_COPY_PARAMS); |
nextstate=STATEID_HANDLE_PARAMS; |
success_msg="Parameter Copy OK"; |
chg_state(STATEID_SUCCESS_MSG); |
|
} |
else |
{ |
chg_state(STATEID_SELECT_PARAMSET); |
select_paramset4edit=true; |
} |
|
} |
else |
{ |
717,7 → 760,20 |
local_max=-val; |
return val; |
} |
// drawing section |
|
|
|
|
public void symbol_paint(Graphics g,int x,int tile,int row) |
{ |
g.setClip(x,0,(symbols_img_tile_width),symbols_img_tile_height);; |
g.drawImage(symbols_img,x+(-tile)*(symbols_img_tile_width),row*(-symbols_img_tile_height), g.TOP | g.LEFT); |
} |
|
|
|
|
// drawing sections |
public void paint(Graphics g) { |
|
canvas_width=this.getWidth(); |
756,86 → 812,92 |
|
|
//draw background |
if (!settings.do_scrollbg) |
if (settings.do_scrollbg) |
{ |
g.setColor(0xdedfff); |
g.fillRect(0,0,canvas_width,symbols_img.getHeight()); |
|
g.setColor(skin_bg_color()); |
g.fillRect(0,symbols_img.getHeight(),canvas_width,canvas_height-symbols_img.getHeight()); |
|
|
} |
else |
{ |
g.setColor(0xFFFFFF); |
g.fillRect(0,0,canvas_width,canvas_height); |
g.drawImage(bg_img,bg_offset,0, g.TOP | g.LEFT); |
|
if (bg_offset+bg_img.getWidth()<canvas_width) |
g.drawImage(bg_img,bg_offset+bg_img.getWidth(),0, g.TOP | g.LEFT); |
g.drawImage(bg_img,bg_offset+bg_img.getWidth(),0, g.TOP | g.LEFT); |
|
} |
else |
{ |
g.setColor(0xdedfff); |
g.fillRect(0,0,canvas_width,symbols_img_tile_height); |
|
g.setColor(skin_bg_color()); |
g.fillRect(0,symbols_img_tile_height,canvas_width,canvas_height-symbols_img.getHeight()); |
} |
|
|
//int bar=0; |
// for ( int bar=0;bar<3;bar++) |
if (settings.do_scrollbg) |
for ( int bar=0;bar<canvas_width/(symbols_img.getWidth()/10)+1;bar++) |
{ |
g.setClip(bar*(symbols_img.getWidth()/10),0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
g.drawImage(symbols_img,bar*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
g.setClip(bar*(symbols_img_tile_width),0,(symbols_img_tile_width),symbols_img_tile_height);; |
g.drawImage(symbols_img,bar*(symbols_img_tile_width),0, g.TOP | g.LEFT); |
} |
|
int symbol_left=0; |
int symbol_spacer=5; |
|
g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
g.setClip(symbol_left,0,symbols_img_tile_width,symbols_img_tile_height);; |
if (mk.connected) |
{ |
symbol_paint(g,symbol_left,(((mk.stats.bytes_in>>3)&1)==1)?2:3,0); |
|
if (((mk.stats.bytes_in>>3)&1)==1) |
g.drawImage(symbols_img,(-2)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
else |
g.drawImage(symbols_img,(-3)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
else |
symbol_paint(g,symbol_left,1,0); |
// g.drawImage(symbols_img,(-1)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
|
|
|
symbol_left+=symbol_spacer+(symbols_img.getWidth()/10); |
|
symbol_left+=6*(symbols_img_tile_width)/4; |
|
} |
else |
g.drawImage(symbols_img,(-1)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
|
if ((mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk())) |
{ |
|
symbol_paint(g,symbol_left,4,0); |
symbol_left+=5 *(symbols_img_tile_width)/4; |
|
if ((mk.UBatt()/100)!=0) |
{ |
symbol_paint(g,symbol_left,(mk.UBatt()/100),1); |
symbol_left+=(symbols_img_tile_width); |
} |
|
symbol_paint(g,symbol_left,(mk.UBatt()/10)%10,1); |
symbol_left+=(2*symbols_img_tile_width/3); |
symbol_paint(g,symbol_left,9,0); |
symbol_left+=(2*symbols_img_tile_width/3); |
symbol_paint(g,symbol_left,(mk.UBatt())%10,1); |
symbol_left+=6*(symbols_img_tile_width)/4; |
|
|
if ((mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk())) |
{ |
// g.drawString("" + (mk.UBatt()/10) + "," +(mk.UBatt()%10)+"V" , symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
|
g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
|
g.drawImage(symbols_img,symbol_left+(-4)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
g.setClip(0,0,canvas_width,canvas_height); |
g.setColor(0x03035a); |
//symbol_left+= g.getFont().stringWidth("88,8V");//; |
|
symbol_left+=2+(symbols_img.getWidth()/10); |
g.drawString("" + (mk.UBatt()/10) + "," +(mk.UBatt()%10)+"V" , symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
symbol_paint(g,symbol_left,6,0); |
symbol_left+=5*(symbols_img_tile_width)/4; |
|
symbol_paint(g,symbol_left,(mk.SenderOkay())/100,1); |
symbol_left+=(symbols_img_tile_width); |
|
symbol_left+= g.getFont().stringWidth("88,8V");//; |
g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight()); |
g.drawImage(symbols_img,(-6)*(symbols_img.getWidth()/10) + symbol_left,0, g.TOP | g.LEFT); |
symbol_paint(g,symbol_left,(mk.SenderOkay()/10)%10,1); |
symbol_left+=(symbols_img_tile_width); |
|
g.setClip(0,0,canvas_width,canvas_height); |
symbol_paint(g,symbol_left,(mk.SenderOkay())%10,1); |
symbol_left+=6*(symbols_img_tile_width)/4; |
|
symbol_left+=2+(symbols_img.getWidth()/10); |
g.drawString(""+mk.SenderOkay() ,symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
// g.drawString(""+mk.SenderOkay() ,symbol_left,y_off,Graphics.TOP | Graphics.LEFT); |
|
|
symbol_left+= g.getFont().stringWidth("8")+symbol_spacer; //,0,(symbols_img.getWidth()/10)+2; |
//symbol_left+= g.getFont().stringWidth("8")+symbol_spacer; //,0,(symbols_img.getWidth()/10)+2; |
|
|
|
842,8 → 904,13 |
|
if (mk.ufo_prober.is_navi()) |
{ |
symbol_paint(g,symbol_left,5,0); |
symbol_left+=5*(symbols_img_tile_width)/4; |
|
symbol_paint(g,symbol_left,(mk.gps_position.SatsInUse)%10,1); |
symbol_left+=6*(symbols_img_tile_width)/4; |
|
|
g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight()); |
g.drawImage(symbols_img,(-5)*(symbols_img.getWidth()/10) + symbol_left,0, g.TOP | g.LEFT); |
g.setClip(0,0,canvas_width,canvas_height); |
855,13 → 922,10 |
} |
|
|
// if (mk.connected) |
|
|
// unclip |
g.setClip(0,0,canvas_width,canvas_height); |
|
y_off+=symbols_img.getHeight(); |
y_off+=symbols_img_tile_height; |
graph_height=(canvas_height-y_off)/2; |
line_middle_y=graph_height+y_off; |
g.setColor(skin_fg_color()); |
1162,6 → 1226,8 |
g.drawString(""+motor_test[bar] ,canvas_width/8+bar*2*canvas_width/8,y_off+10,Graphics.TOP | Graphics.HCENTER); |
g.drawString(""+mk.debug_data.motor_val(bar) ,canvas_width/8+bar*2*canvas_width/8,y_off+25,Graphics.TOP | Graphics.HCENTER); |
} |
g.setColor(skin_fg_color()); |
g.drawString(""+mk.debug_data.analog[2]+"<->"+mk.debug_data.analog[3] ,0,canvas_height-30,Graphics.TOP | Graphics.LEFT); |
break; |
|
case STATEID_EDIT_PARAMS: |
1168,12 → 1234,8 |
params_editor.paint(g); |
break; |
|
case STATEID_SELECT_COMPORT: |
g.drawString("ports: " + System.getProperty("microedition.commports"),0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
paint_menu(g); |
break; |
|
|
//#if fileapi=="on" |
case STATEID_FILEOPEN: |
y_off+=spacer; |
1183,6 → 1245,7 |
//#endif |
|
|
case STATEID_SELECT_COMPORT: |
case STATEID_PARAM_MENU: |
paint_menu(g); |
break; |
1548,7 → 1611,11 |
*/ |
// prepare next state |
switch(next_state) |
|
{ |
// case STATEID_COPY_PARAMS: |
|
//break; |
case STATEID_SUCCESS_MSG: |
case STATEID_ERROR_MSG: |
lcd_lines=new String[1]; |
1599,16 → 1666,8 |
mk.user_intent=USER_INTENT_RCDATA; |
break; |
case STATEID_SELECT_COMPORT: |
menu_items=new String[6]; |
lcd_lines=new String[6]; |
|
menu_items[0]="com0"; |
menu_items[1]="com1"; |
menu_items[2]="com2"; |
menu_items[3]="com3"; |
menu_items[4]="com4"; |
|
menu_items[5]="back"; |
menu_items=DUBwiseHelper.split_str(System.getProperty("microedition.commports")+",back",","); |
setup_menu(menu_items,null); |
break; |
|
|
1618,7 → 1677,7 |
act_menu_select=max_lines-1; |
break; |
case STATEID_CONN_DETAILS: |
setup_menu(conn_details_menu_items,conn_details_menu_actions); |
setup_conn_menu();//conn_details_menu_items,conn_details_menu_actions); |
break; |
|
|
1848,21 → 1907,255 |
|
} |
|
// to check if 2 keys are pressed |
byte keycontrol_exit=0; |
|
|
// public final static int[] keycontrol_bitfield={0,0}; |
public final static String PARAM_SAVE_STORE_NAME="MKParamsV1"; |
|
public void process_action(byte actionid) |
{ |
switch(actionid) |
{ |
case ACTIONID_PARAM_LOAD_MOBILE: |
try |
{ |
RecordStore recStore = RecordStore.openRecordStore(PARAM_SAVE_STORE_NAME , true ); |
|
if (recStore.getNumRecords()==1) |
{ |
ByteArrayInputStream bin = new ByteArrayInputStream(recStore.getRecord(1)); |
DataInputStream din = new DataInputStream( bin ); |
} |
else throw(new Exception("rms err")); |
recStore.closeRecordStore(); |
} |
catch (Exception e) |
{ |
mk.error_str="No Params on Mobile"; |
chg_state(STATEID_ERROR_MSG); |
} |
|
|
break; |
|
case ACTIONID_PARAM_COPY_MOBILE: |
read_paramset_intension_save=true; |
chg_state(STATEID_READ_PARAMS); |
break; |
|
case ACTIONID_PARAM_MENU: |
chg_state(STATEID_PARAM_MENU); |
break; |
|
case ACTIONID_PARAM_WRITE_OK: |
success_msg="Parameter Write OK"; |
chg_state(STATEID_SUCCESS_MSG); |
break; |
case ACTIONID_HORIZON: |
chg_state(STATEID_HORIZON); |
break; |
|
case ACTIONID_RENAME_PARAMS: |
act_input_str=mk.params.getParamName(mk.params.act_paramset); |
ipinput_pos=0; |
chg_state(STATEID_STRINGINPUT); |
break; |
|
|
case ACTIONID_BACK_TO_CONNDETAILS: |
chg_state(STATEID_CONN_DETAILS); |
break; |
|
case ACTIONID_RESET_PARAMS: |
chg_state(STATEID_RESET_PARAMS); |
// state=STATEID_FLASHING; |
|
break; |
|
case ACTIONID_FLASH: |
chg_state(STATEID_FLASHING); |
break; |
|
case ACTIONID_DATABUFF: |
chg_state(STATEID_DATABUFF); |
break; |
|
case ACTIONID_NC_ERRORS: |
chg_state(STATEID_ERROR_MSG); |
break; |
|
case ACTIONID_ABOUT: |
chg_state(STATEID_ABOUT); |
break; |
|
case ACTIONID_CONN_DETAILS: |
chg_state(STATEID_CONN_DETAILS); |
break; |
|
case ACTIONID_QUIT: |
quit=true; |
break; |
|
case ACTIONID_SWITCH_NC: |
mk.switch_to_navi(); |
break; |
|
case ACTIONID_SWITCH_FC: |
mk.switch_to_fc(); |
break; |
|
case ACTIONID_SWITCH_MK3MAG: |
mk.switch_to_mk3mag(); |
break; |
|
case ACTIONID_GRAPH: |
chg_state(STATEID_GRAPH); |
break; |
|
case ACTIONID_KEYCONTROL: |
chg_state(STATEID_KEYCONTROL); |
break; |
|
case ACTIONID_LCD : |
chg_state(STATEID_FLIGHTVIEW); |
break; |
|
|
case ACTIONID_PROXY: |
|
chg_state(STATEID_IPINPUT); |
break; |
|
case ACTIONID_DEVICESELECT: |
chg_state(STATEID_SCANNING); |
break; |
|
case ACTIONID_RAWDEBUG: |
chg_state(STATEID_RAWDEBUG); |
break; |
|
case ACTIONID_SETTINGS: |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
case ACTIONID_RCDATA: |
chg_state(STATEID_STICKVIEW); |
break; |
|
case ACTIONID_CAM: |
chg_state(STATEID_CAMMODE); |
break; |
|
case ACTIONID_GPSDATA: |
chg_state(STATEID_GPSVIEW); |
break; |
|
|
case ACTIONID_MOTORTEST : |
chg_state(STATEID_MOTORTEST); |
break; |
|
|
case ACTIONID_EDIT_PARAMS: |
chg_state(STATEID_EDIT_PARAMS); |
break; |
case ACTIONID_SELECT_PARAMS: |
select_paramset4edit=true; |
read_paramset_intension_save=false; |
if (settings.reload_settings) |
{ |
|
mk.watchdog.act_paramset=0; |
mk.params.reset(); |
|
chg_state(STATEID_READ_PARAMS); |
} |
else |
{ |
if (mk.watchdog.act_paramset!=5) |
chg_state(STATEID_READ_PARAMS); |
else |
chg_state(STATEID_SELECT_PARAMSET); |
} |
break; |
|
|
case ACTIONID_WRITE_PARAM_AS: |
select_paramset4edit=false; |
chg_state(STATEID_SELECT_PARAMSET); |
break; |
|
case ACTIONID_WRITE_PARAMS: |
mk.write_params(mk.params.act_paramset); |
success_msg="Saved Settings"; // too optimistic |
nextstate=STATEID_HANDLE_PARAMS; |
chg_state(STATEID_SUCCESS_MSG); |
break; |
|
case ACTIONID_UNDO_PARAMS: |
mk.params.use_backup(); |
success_msg="Settings Undo OK"; // too optimistic |
nextstate=STATEID_HANDLE_PARAMS; |
chg_state(STATEID_SUCCESS_MSG); |
|
break; |
|
case ACTIONID_MAINMENU: |
chg_state(STATEID_MAINMENU); |
break; |
|
case ACTIONID_DEBUG: |
debug.showing=true; |
break; |
|
case ACTIONID_TRAFFIC: |
chg_state(STATEID_TRAFFIC); |
break; |
|
case ACTIONID_CONNECT_TCP: |
ipinput4proxy=false; |
chg_state(STATEID_IPINPUT); |
break; |
|
case ACTIONID_SCAN_BT: |
chg_state(STATEID_SCANNING); |
break; |
|
case ACTIONID_SELECT_COM: |
chg_state(STATEID_SELECT_COMPORT); |
break; |
|
case ACTIONID_PROXY_INPUT: |
ipinput4proxy=true; |
chg_state(STATEID_IPINPUT); |
break; |
|
} |
|
} |
|
|
public void pointerPressed (int pointer_x, int pointer_y) |
{ |
|
if (pointer_y<lcd_img.getHeight()) |
keyPressed(KEY_STAR); |
else |
switch(state) |
if (pointer_y>canvas_height-lcd_img.getHeight()*lcd_lines.length) |
switch(state) |
{ |
case STATEID_SETTINGSMENU: |
|
settings_editor.pointer_press(pointer_x,(pointer_y-(canvas_height-lcd_img.getHeight()*lcd_lines.length))/lcd_img.getHeight()) ; |
break; |
|
case STATEID_EDIT_PARAMS: |
params_editor.pointer_press(pointer_x,(pointer_y-(canvas_height-lcd_img.getHeight()*lcd_lines.length))/lcd_img.getHeight()) ; |
|
break; |
|
case STATEID_PARAM_MENU: |
case STATEID_CONN_DETAILS: |
case STATEID_SETTINGSMENU: |
case STATEID_HANDLE_PARAMS: |
case STATEID_FILEOPEN: |
case STATEID_TRAFFIC: |
case STATEID_SELECT_COMPORT: |
1870,13 → 2163,18 |
case STATEID_SELECT_PARAMSET: |
case STATEID_DEVICESELECT: |
|
if (pointer_y>canvas_height-lcd_img.getHeight()*menu_items.length) |
{ |
act_menu_select=(pointer_y-(canvas_height-lcd_img.getHeight()*menu_items.length))/lcd_img.getHeight(); |
keyPressed(getKeyCode(FIRE)); |
} |
|
// if (pointer_y>canvas_height-lcd_img.getHeight()*menu_items.length) |
// { |
if (lcd_lines.length>max_lines) |
act_menu_select=(pointer_y-(canvas_height-lcd_img.getHeight()*max_lines))/lcd_img.getHeight() ; |
else |
act_menu_select=(pointer_y-(canvas_height-lcd_img.getHeight()*lcd_lines.length))/lcd_img.getHeight() ; |
keyPressed(getKeyCode(FIRE)); |
//} |
break; |
} |
} |
|
} |
|
|
2179,7 → 2477,7 |
{ |
|
if (act_menu_select<menu_items.length) |
connect_mk("comm:com"+act_menu_select+";baudrate=57600","com"+act_menu_select); |
connect_mk("comm:"+menu_items[act_menu_select]+";baudrate=57600","com"+act_menu_select); |
|
chg_state(STATEID_CONN_DETAILS); |
} |
2228,201 → 2526,10 |
case STATEID_MAINMENU: |
|
if ( getGameAction (keyCode)==FIRE ) |
{ |
switch(menu_actions[act_menu_select]) |
{ |
case ACTIONID_PARAM_MENU: |
chg_state(STATEID_PARAM_MENU); |
break; |
|
case ACTIONID_PARAM_WRITE_OK: |
success_msg="Parameter Write OK"; |
chg_state(STATEID_SUCCESS_MSG); |
break; |
case ACTIONID_HORIZON: |
chg_state(STATEID_HORIZON); |
break; |
process_action(menu_actions[act_menu_select]); |
else |
menu_keypress(keyCode); |
|
case ACTIONID_RENAME_PARAMS: |
act_input_str=mk.params.getParamName(mk.params.act_paramset); |
ipinput_pos=0; |
chg_state(STATEID_STRINGINPUT); |
break; |
|
|
case ACTIONID_BACK_TO_CONNDETAILS: |
chg_state(STATEID_CONN_DETAILS); |
break; |
|
case ACTIONID_RESET_PARAMS: |
chg_state(STATEID_RESET_PARAMS); |
// state=STATEID_FLASHING; |
|
break; |
|
case ACTIONID_FLASH: |
chg_state(STATEID_FLASHING); |
break; |
|
case ACTIONID_DATABUFF: |
chg_state(STATEID_DATABUFF); |
break; |
|
case ACTIONID_NC_ERRORS: |
chg_state(STATEID_ERROR_MSG); |
break; |
|
case ACTIONID_ABOUT: |
chg_state(STATEID_ABOUT); |
break; |
|
case ACTIONID_CONN_DETAILS: |
chg_state(STATEID_CONN_DETAILS); |
break; |
|
case ACTIONID_QUIT: |
quit=true; |
break; |
|
case ACTIONID_SWITCH_NC: |
mk.switch_to_navi(); |
break; |
|
case ACTIONID_SWITCH_FC: |
mk.switch_to_fc(); |
break; |
|
case ACTIONID_SWITCH_MK3MAG: |
mk.switch_to_mk3mag(); |
break; |
|
case ACTIONID_GRAPH: |
chg_state(STATEID_GRAPH); |
break; |
|
case ACTIONID_KEYCONTROL: |
chg_state(STATEID_KEYCONTROL); |
break; |
|
case ACTIONID_LCD : |
chg_state(STATEID_FLIGHTVIEW); |
break; |
|
|
case ACTIONID_PROXY: |
|
chg_state(STATEID_IPINPUT); |
break; |
|
case ACTIONID_DEVICESELECT: |
chg_state(STATEID_SCANNING); |
break; |
|
case ACTIONID_RAWDEBUG: |
chg_state(STATEID_RAWDEBUG); |
break; |
|
case ACTIONID_SETTINGS: |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
case ACTIONID_RCDATA: |
chg_state(STATEID_STICKVIEW); |
break; |
|
case ACTIONID_CAM: |
chg_state(STATEID_CAMMODE); |
break; |
|
case ACTIONID_GPSDATA: |
chg_state(STATEID_GPSVIEW); |
break; |
|
|
case ACTIONID_MOTORTEST : |
chg_state(STATEID_MOTORTEST); |
break; |
|
|
case ACTIONID_EDIT_PARAMS: |
chg_state(STATEID_EDIT_PARAMS); |
break; |
case ACTIONID_SELECT_PARAMS: |
select_paramset4edit=true; |
if (settings.reload_settings) |
{ |
|
|
mk.watchdog.act_paramset=0; |
mk.params.reset(); |
chg_state(STATEID_READ_PARAMS); |
} |
else |
{ |
if (mk.watchdog.act_paramset!=5) |
chg_state(STATEID_READ_PARAMS); |
else |
chg_state(STATEID_SELECT_PARAMSET); |
} |
break; |
|
|
case ACTIONID_WRITE_PARAM_AS: |
select_paramset4edit=false; |
chg_state(STATEID_SELECT_PARAMSET); |
break; |
|
case ACTIONID_WRITE_PARAMS: |
mk.write_params(mk.params.act_paramset); |
success_msg="Saved Settings"; // too optimistic |
nextstate=STATEID_HANDLE_PARAMS; |
chg_state(STATEID_SUCCESS_MSG); |
break; |
|
case ACTIONID_UNDO_PARAMS: |
mk.params.use_backup(); |
success_msg="Settings Undo OK"; // too optimistic |
nextstate=STATEID_HANDLE_PARAMS; |
chg_state(STATEID_SUCCESS_MSG); |
|
break; |
|
case ACTIONID_MAINMENU: |
chg_state(STATEID_MAINMENU); |
break; |
|
case ACTIONID_DEBUG: |
debug.showing=true; |
break; |
|
case ACTIONID_TRAFFIC: |
chg_state(STATEID_TRAFFIC); |
break; |
|
case ACTIONID_CONNECT_TCP: |
ipinput4proxy=false; |
chg_state(STATEID_IPINPUT); |
break; |
|
case ACTIONID_SCAN_BT: |
chg_state(STATEID_SCANNING); |
break; |
|
case ACTIONID_SELECT_COM: |
chg_state(STATEID_SELECT_COMPORT); |
break; |
|
case ACTIONID_PROXY_INPUT: |
ipinput4proxy=true; |
chg_state(STATEID_IPINPUT); |
break; |
|
} |
|
} |
|
else menu_keypress(keyCode); |
|
break; |
|
case STATEID_SELECT_PARAMSET: |