9,7 → 9,6 |
|
import javax.microedition.lcdui.*; |
|
|
import javax.microedition.media.*; |
import javax.microedition.media.control.*; |
|
237,7 → 236,7 |
} |
|
|
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)&& ( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag()||mk.ufo_prober.is_incompatible() )) |
{ |
tmp_actions[setup_pos]=ACTIONID_FLASH; |
tmp_items[setup_pos++] ="Flash Firmware"; |
266,6 → 265,7 |
tmp_actions_fin[tmp_p]=tmp_actions[tmp_p]; |
tmp_items_fin[tmp_p] =tmp_items[tmp_p]; |
} |
act_menu_select=0; |
setup_menu(tmp_items_fin,tmp_actions_fin); |
} |
|
518,7 → 518,7 |
} |
break; |
case STATEID_KEYCONTROL: |
mk.send_keys(keycontrol_bitfield); |
//mk.send_keys(keycontrol_bitfield); |
break; |
|
case STATEID_NC_ERRORS: |
771,9 → 771,10 |
} |
|
int symbol_left=0; |
int symbol_spacer=5; |
|
g.setClip(symbol_left,0,(symbols_img.getWidth()/10),symbols_img.getHeight());; |
if ((mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk())) |
if (mk.connected) |
{ |
|
if (((mk.stats.bytes_in>>3)&1)==1) |
782,8 → 783,22 |
g.drawImage(symbols_img,(-3)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
|
|
int symbol_spacer=5; |
|
symbol_left+=symbol_spacer+(symbols_img.getWidth()/10); |
|
|
} |
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())) |
{ |
|
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); |
823,8 → 838,6 |
|
} |
|
else |
g.drawImage(symbols_img,(-1)*(symbols_img.getWidth()/10),0, g.TOP | g.LEFT); |
|
// if (mk.connected) |
|
961,11 → 974,12 |
break; |
|
case STATEID_FLASHING: |
g.setFont(f2); |
int msg_pos=0; |
while (mk.flash_msgs[msg_pos]!=null) |
{ |
g.drawString(mk.flash_msgs[msg_pos] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
y_off+=spacer1; |
msg_pos++; |
} |
break; |
993,25 → 1007,30 |
|
case STATEID_KEYCONTROL: |
|
|
y_off+=spacer; |
g.drawString("UP&DOWN => nick",0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("UP&DOWN => nick " + mk.extern_control[EXTERN_CONTROL_NICK],0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("LEFT&RIGHT => roll",0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("LEFT&RIGHT => roll " + mk.extern_control[EXTERN_CONTROL_ROLL],0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("1&4 => altitude",0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("1&4 => altitude " + mk.extern_control[EXTERN_CONTROL_HIGHT],0,y_off,Graphics.TOP | Graphics.LEFT); |
|
y_off+=spacer; |
g.drawString("2&3 => gier",0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("2&3 => gier " + mk.extern_control[EXTERN_CONTROL_GIER],0,y_off,Graphics.TOP | Graphics.LEFT); |
|
y_off+=spacer; |
g.drawString("6&9 => gas " + mk.extern_control[EXTERN_CONTROL_GAS],0,y_off,Graphics.TOP | Graphics.LEFT); |
|
y_off+=spacer; |
g.drawString("Press # and * at once",0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("to quit KeyControl",0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("bf1:"+ keycontrol_bitfield[0] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("bf2:"+ keycontrol_bitfield[1] ,canvas_width/2,y_off,Graphics.TOP | Graphics.LEFT); |
|
g.drawString("sent:" + mk.stats.external_control_request_count +"confirm:" + mk.stats.external_control_confirm_frame_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
// g.drawString("bf1:"+ keycontrol_bitfield[0] ,0,y_off,Graphics.TOP | Graphics.LEFT); |
//g.drawString("bf2:"+ keycontrol_bitfield[1] ,canvas_width/2,y_off,Graphics.TOP | Graphics.LEFT); |
|
break; |
|
case STATEID_MOTORTEST: |
1123,19 → 1142,24 |
|
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); |
y_off+=spacer1; |
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); |
g.drawString( " rc:"+mk.stats.stick_data_count+" params:"+mk.stats.params_data_count + " GPS:"+mk.stats.navi_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
g.drawString( " debug_names:" + mk.stats.debug_names_count + " angles:" + mk.stats.angle_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
|
|
g.drawString( " other:"+mk.stats.other_data_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
|
y_off+=spacer1+3; |
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); |
y_off+=spacer1; |
g.drawString( " LCD:" + mk.stats.lcd_data_request_count + " vers:" + mk.stats.version_data_request_count,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
g.drawString( " params:"+mk.stats.params_data_request_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString( " params:"+mk.stats.params_data_request_count +" rc:" + mk.stats.stick_data_request_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
|
g.drawString( " resend:"+mk.stats.resend_count ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
|
paint_menu(g); |
break; |
|
1341,7 → 1365,7 |
|
// int intro_str_pos=0; |
// int intro_str_delay=3; |
boolean init_bootloader=false; |
// boolean init_bootloader=false; |
|
public void chg_state(byte next_state) |
{ |
1360,7 → 1384,8 |
break; |
case STATEID_FLASHING: |
mk.bootloader_intension_flash=true; |
init_bootloader=true; |
mk.bl_retrys=0; |
mk.init_bootloader=true; |
break; |
|
//#if fileapi=="on" |
1501,6 → 1526,7 |
|
break; |
case STATEID_KEYCONTROL: |
mk.user_intent= USER_INTENT_EXTERNAL_CONTROL; |
keycontrol_exit=0; |
break; |
|
1619,47 → 1645,69 |
if (keyCode==KEY_STAR) |
keycontrol_exit &= 255^2; |
else |
if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8)) |
keycontrol_bitfield[0]&=255^( 1<<(keyCode-this.KEY_NUM0)); |
else |
if ((keyCode >= this.KEY_NUM8) && (keyCode <= this.KEY_NUM9)) |
keycontrol_bitfield[1]&=255^( 1<<(keyCode-this.KEY_NUM8)); |
else |
switch (getGameAction (keyCode)) |
mod_external_control_by_keycode(keyCode,(byte)0); |
|
/* |
mk.send_keys(keycontrol_bitfield); |
*/ |
break; |
} |
|
} |
|
|
public void mod_external_control_by_keycode(int keyCode,byte mul) |
{ |
|
if (keyCode==this.KEY_NUM2) |
mk.extern_control[EXTERN_CONTROL_GIER]=(byte)(-mul*settings.default_extern_control[EXTERN_CONTROL_GIER]); |
else if (keyCode==this.KEY_NUM3) |
mk.extern_control[EXTERN_CONTROL_GIER]=(byte)(mul*settings.default_extern_control[EXTERN_CONTROL_GIER]); |
|
else if (keyCode==this.KEY_NUM1) |
mk.extern_control[EXTERN_CONTROL_HIGHT]+=mul; |
else if (keyCode==this.KEY_NUM4) |
mk.extern_control[EXTERN_CONTROL_HIGHT]-=mul; |
|
|
else if (keyCode==this.KEY_NUM6) |
{ if ( mk.extern_control[EXTERN_CONTROL_GAS]<255) mk.extern_control[EXTERN_CONTROL_GAS]+=mul; } |
else if (keyCode==this.KEY_NUM9) |
{ if ( mk.extern_control[EXTERN_CONTROL_GAS]>0) mk.extern_control[EXTERN_CONTROL_GAS]-=mul; } |
|
else switch (getGameAction (keyCode)) |
{ |
case UP: |
keycontrol_bitfield[1]&=255^4; |
mk.extern_control[EXTERN_CONTROL_NICK]=(byte)(mul*settings.default_extern_control[EXTERN_CONTROL_NICK]); |
break; |
|
case DOWN: |
keycontrol_bitfield[1]&=255^8; |
mk.extern_control[EXTERN_CONTROL_NICK]=(byte)(-mul*settings.default_extern_control[EXTERN_CONTROL_NICK]); |
|
break; |
|
|
case LEFT: |
keycontrol_bitfield[1]&=255^16; |
mk.extern_control[EXTERN_CONTROL_ROLL]=(byte)(mul*settings.default_extern_control[EXTERN_CONTROL_ROLL]); |
break; |
|
case RIGHT: |
keycontrol_bitfield[1]&=255^32; |
mk.extern_control[EXTERN_CONTROL_ROLL]=(byte)(-mul*settings.default_extern_control[EXTERN_CONTROL_ROLL]); |
break; |
|
case FIRE: |
keycontrol_bitfield[1]&=255^64; |
|
break; |
|
|
} |
mk.send_keys(keycontrol_bitfield); |
break; |
} |
|
} |
|
|
// to check if 2 keys are pressed |
byte keycontrol_exit=0; |
|
public final static int[] keycontrol_bitfield={0,0}; |
// public final static int[] keycontrol_bitfield={0,0}; |
|
|
public void pointerPressed (int pointer_x, int pointer_y) |
1706,14 → 1754,6 |
debug.process_key(keyCode); |
|
|
if ((keyCode==KEY_NUM9)) |
{ chg_state(STATEID_STRINGINPUT); } |
|
|
|
|
|
|
if (((keyCode==KEY_STAR) || (keyCode==113) ))//&&(state!= STATEID_STRINGINPUT)) |
{ |
if (state==STATEID_EDIT_PARAMS) |
1927,6 → 1967,14 |
if (keyCode==KEY_STAR) |
keycontrol_exit |= 2; |
else |
mod_external_control_by_keycode(keyCode,(byte)1); |
|
|
|
if (keycontrol_exit==3) |
chg_state(STATEID_MAINMENU); |
|
/* |
if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8)) |
keycontrol_bitfield[0]|=1<<(keyCode-this.KEY_NUM0); |
else |
1958,10 → 2006,9 |
break; |
|
} |
if (keycontrol_exit==3) |
chg_state(STATEID_MAINMENU); |
else |
mk.send_keys(keycontrol_bitfield); |
*/ |
break; |
|
|
2115,7 → 2162,8 |
case ACTIONID_RESET_PARAMS: |
state=STATEID_FLASHING; |
mk.bootloader_intension_flash=false; |
init_bootloader=true; |
mk.bl_retrys=0; |
mk.init_bootloader=true; |
break; |
|
case ACTIONID_FLASH: |