33,11 → 33,6 |
int canvas_height=100; |
|
|
// public String ip_digit_zeroes(int digit) |
//{ return "" + digit/100 + "" + (digit/10)%10 + "" + (digit)%10; } |
|
|
|
int heading_offset=0; |
int act_wp; |
|
161,6 → 156,9 |
|
tmp_actions[setup_pos]=ACTIONID_EDIT_PARAMS; |
tmp_items[setup_pos++] ="Flight Settings"; |
|
tmp_actions[setup_pos] =ACTIONID_HORIZON; |
tmp_items[setup_pos++] ="Artificial Horizon"; |
} |
|
|
708,6 → 706,7 |
|
try { |
|
// !!TODO checkme |
if (mk!=null) |
{ |
line_middle_y=canvas_height/2; |
723,6 → 722,8 |
} |
|
|
|
|
Font f1 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM); |
Font f2 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL); |
|
844,8 → 845,103 |
|
switch(state) |
{ |
case STATEID_HORIZON: |
|
g.setStrokeStyle(Graphics.SOLID); |
g.setColor(0x6e4e1d); |
|
int horizon_height=(canvas_height-y_off)/2; |
int horizon_middle=y_off+horizon_height; |
|
|
int horizon_roll_pixels= (mk.angle_roll*horizon_height)/600; |
int horizon_roll_pixels_=horizon_roll_pixels; |
|
|
int nick_bar_width=canvas_width/4; |
int nick_bar_height= nick_bar_width/2; |
|
|
int nick_size=canvas_width/4; |
int nick_pixels_y=(mk.angle_nick*horizon_height)/900; |
|
int nick_pixels_x; |
if ((mk.angle_roll*mk.angle_nick)>1) |
nick_pixels_x=-((int)Math.sqrt(mk.angle_roll*mk.angle_nick)*(canvas_width/2))/(900); |
else |
nick_pixels_x=((int)Math.sqrt(-mk.angle_roll*mk.angle_nick)*(canvas_width/2))/(900); |
|
while (horizon_roll_pixels!=0) |
{ |
|
if (horizon_roll_pixels_>0) |
{ |
g.drawLine(0,horizon_middle+horizon_roll_pixels_,canvas_width,horizon_middle-horizon_roll_pixels); |
g.drawLine(0,horizon_middle+horizon_roll_pixels_,canvas_width,horizon_middle+horizon_roll_pixels); |
} |
else |
{ |
g.drawLine(0,horizon_middle+horizon_roll_pixels,canvas_width,horizon_middle-horizon_roll_pixels_); |
g.drawLine(0,horizon_middle-horizon_roll_pixels,canvas_width,horizon_middle-horizon_roll_pixels_); |
} |
// g.drawLine(0,horizon_middle-horizon_roll_pixels_,canvas_width,horizon_middle-horizon_roll_pixels); |
horizon_roll_pixels+=(horizon_roll_pixels<0)?1:-1; // go to 0 |
|
/*g.drawLine(0,horizon_middle-horizon_roll_pixels,canvas_width,horizon_middle+horizon_roll_pixels); |
if (horizon_roll_pixels<0) |
g.drawLine(0,horizon_middle-horizon_roll_pixels_,canvas_width,horizon_middle-horizon_roll_pixels); |
else |
g.drawLine(0,horizon_middle+horizon_roll_pixels,canvas_width,horizon_middle+horizon_roll_pixels_); |
|
horizon_roll_pixels+=(horizon_roll_pixels<0)?1:-1; // go to 0 |
*/ |
} |
|
if (horizon_roll_pixels_>0) |
{ |
g.drawLine(0,horizon_middle+horizon_roll_pixels_,canvas_width,horizon_middle-horizon_roll_pixels); |
g.drawLine(0,horizon_middle+horizon_roll_pixels_,canvas_width,horizon_middle+horizon_roll_pixels); |
g.fillRect(0,horizon_middle+horizon_roll_pixels_,canvas_width,canvas_height-(horizon_middle+horizon_roll_pixels_)); |
} |
else |
{ |
g.drawLine(0,horizon_middle+horizon_roll_pixels,canvas_width,horizon_middle-horizon_roll_pixels_); |
g.drawLine(0,horizon_middle-horizon_roll_pixels,canvas_width,horizon_middle-horizon_roll_pixels_); |
g.fillRect(0,horizon_middle-horizon_roll_pixels_,canvas_width,canvas_height-(horizon_middle-horizon_roll_pixels_)); |
} |
|
|
g.setColor(0x254d9e); |
g.fillArc((canvas_width-nick_size)/2- nick_pixels_x, horizon_middle-nick_size/2+ nick_pixels_y, nick_size, nick_size, 0,360); |
|
// for (i=0;i<horizon_roll_pixels |
// g.fillArc(0, 0, canvas_width, canvas_width, 0,45); |
|
/* |
int start_angle=(360+mk.gps_position.angle2wp(act_wp) - ((360+mk.debug_data.analog[26]-heading_offset)%360))%360; |
// start_angle=0; |
start_angle=(360-start_angle +90 -(45/2))%360; |
|
g.fillArc(0, 0, canvas_width, canvas_width, start_angle,45); |
*/ |
// g.drawArc(1, 1, canvas_width-2, canvas_width-2, start_angle,45); |
// g.drawArc(2, 2, canvas_width-4, canvas_width-4, start_angle ,45); |
|
|
g.setColor(skin_fg_color()); |
|
|
|
if (settings.expert_mode) |
{ |
g.drawString("nick => " + mk.angle_nick,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
|
g.drawString("roll => " + mk.angle_roll,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
} |
break; |
|
case STATEID_DATABUFF: |
g.setFont(f2); |
|
1002,23 → 1098,25 |
case STATEID_KEYCONTROL: |
|
y_off+=spacer; |
g.drawString("UP&DOWN => nick " + mk.extern_control[EXTERN_CONTROL_NICK],0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("UP or DOWN =>nick " + mk.extern_control[EXTERN_CONTROL_NICK],0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("LEFT&RIGHT => roll " + mk.extern_control[EXTERN_CONTROL_ROLL],0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("LEFT or RIGHT =>roll " + mk.extern_control[EXTERN_CONTROL_ROLL],0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("1&4 => altitude " + mk.extern_control[EXTERN_CONTROL_HIGHT],0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("1 or 4 =>altitude " + mk.extern_control[EXTERN_CONTROL_HIGHT],0,y_off,Graphics.TOP | Graphics.LEFT); |
|
y_off+=spacer; |
g.drawString("2&3 => gier " + mk.extern_control[EXTERN_CONTROL_GIER],0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("2 or 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); |
g.drawString("6 or 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); |
g.drawString("* and # =>exit",0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("to quit KeyControl",0,y_off,Graphics.TOP | Graphics.LEFT); |
g.drawString("* and Fire =>Start Engines",0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
g.drawString("* and 0 =>Stop Engines",0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer; |
|
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; |
2051,12 → 2149,11 |
{ |
switch(menu_actions[act_menu_select]) |
{ |
/* |
case ACTIONID_TOGGLE_EXPERT: |
settings.expert_mode=!settings.expert_mode; |
chg_state(STATEID_SETTINGSMENU); |
|
case ACTIONID_HORIZON: |
chg_state(STATEID_HORIZON); |
break; |
*/ |
|
case ACTIONID_RENAME_PARAMS: |
act_input_str=mk.params.names[mk.params.act_paramset]; |
ipinput_pos=0; |
2063,42 → 2160,7 |
chg_state(STATEID_STRINGINPUT); |
break; |
|
/* |
case ACTIONID_SET_SPEED_FORMAT_CMS: |
mk.gps_position.act_speed_format=SPEED_FORMAT_CMS; |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
case ACTIONID_SET_SPEED_FORMAT_MPH: |
mk.gps_position.act_speed_format=SPEED_FORMAT_MPH; |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
case ACTIONID_SET_SPEED_FORMAT_KMH: |
mk.gps_position.act_speed_format=SPEED_FORMAT_KMH; |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
case ACTIONID_SELECT_SPEED_FORMAT: |
chg_state(STATEID_SELECT_SPEED_FORMAT); |
break; |
|
|
case ACTIONID_SET_GPS_FORMAT_DECIMAL: |
mk.gps_position.act_gps_format=GPS_FORMAT_DECIMAL; |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
case ACTIONID_SET_GPS_FORMAT_MINSEC: |
mk.gps_position.act_gps_format=GPS_FORMAT_MINSEC; |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
|
case ACTIONID_SELECT_GPS_FORMAT: |
chg_state(STATEID_SELECT_GPS_FORMAT); |
break; */ |
|
case ACTIONID_BACK_TO_CONNDETAILS: |
chg_state(STATEID_CONN_DETAILS); |
break; |
2111,10 → 2173,7 |
break; |
|
case ACTIONID_FLASH: |
|
chg_state(STATEID_FLASHING); |
|
//chg_state(STATEID_FLASHING); |
break; |
|
case ACTIONID_DATABUFF: |
2206,23 → 2265,8 |
break; |
|
|
case ACTIONID_SOUNDTOGGLE: |
settings.do_sound=!settings.do_sound; |
chg_state(STATEID_SETTINGSMENU); |
break; |
case ACTIONID_VIBRATOGGLE: |
settings.do_vibra=!settings.do_vibra; |
chg_state(STATEID_SETTINGSMENU); |
break; |
|
//#if devicecontrol=="on" |
case ACTIONID_LIGHTTOGGLE: |
settings.keep_lighton =!settings.keep_lighton; |
chg_state(STATEID_SETTINGSMENU); |
break; |
//#endif |
|
|
case ACTIONID_WRITE_PARAMS: |
mk.write_params(); |
chg_state(STATEID_MAINMENU); |
2241,9 → 2285,6 |
debug.showing=true; |
break; |
|
|
|
|
case ACTIONID_TRAFFIC: |
chg_state(STATEID_TRAFFIC); |
break; |