Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 265 → Rev 266

/DUBwise/trunk/j2me/src/DUBwiseCanvas.java
64,10 → 64,11
private MKParamsEditor settings_editor=null;
public DUBwiseDebug debug=null;
public FirmwareLoader fw_loader=null;
 
public byte last_navi_error=0;
 
 
 
//#if voice_mode!="no_voice"
public MKStatusVoice status_voice;
//#endif
199,8 → 200,12
public void setup_conn_menu()
{
tmp_menu_init(7);
tmp_menu_add(l(STRINGID_PACKET_TRAFFIC),ACTIONID_TRAFFIC);
tmp_menu_add(l(STRINGID_VIEW_DATA),ACTIONID_DATABUFF);
 
if (mk.connected)
{
tmp_menu_add(l(STRINGID_PACKET_TRAFFIC),ACTIONID_TRAFFIC);
tmp_menu_add(l(STRINGID_VIEW_DATA),ACTIONID_DATABUFF);
}
//#if bluetooth=="on"
tmp_menu_add(l(STRINGID_CONNECT_BT),ACTIONID_SCAN_BT);
//#endif
222,14 → 227,17
tmp_menu_add(l(STRINGID_SETTINGS),ACTIONID_SETTINGS);
tmp_menu_add(l(STRINGID_CONN),ACTIONID_CONN_DETAILS);
 
tmp_menu_add(l(STRINGID_SELECT_FIRMWARE),ACTIONID_SELECT_FIRMWARE);
tmp_menu_add("UPDATE_DUBWISE",ACTIONID_UPDATE_DUBWISE);
if (settings.dev_mode)
{
tmp_menu_add(l(STRINGID_SELECT_FIRMWARE),ACTIONID_SELECT_FIRMWARE);
tmp_menu_add("UPDATE_DUBWISE",ACTIONID_UPDATE_DUBWISE);
}
 
 
 
if (settings.expert_mode)
tmp_menu_add(l(STRINGID_DEBUG),ACTIONID_DEBUG);
 
// only mk
if (mk.ufo_prober.is_mk())
{
237,29 → 245,29
tmp_menu_add(l(STRINGID_KEYCONTROL),ACTIONID_KEYCONTROL);
tmp_menu_add(l(STRINGID_RCDATA),ACTIONID_RCDATA);
tmp_menu_add(l(STRINGID_FLIGHTSETTINGS),ACTIONID_PARAM_MENU);
 
tmp_menu_add(l(STRINGID_GRAPH),ACTIONID_GRAPH);
}
 
 
 
// mk & navi
if ( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk() )
{
tmp_menu_add(l(STRINGID_HORIZON),ACTIONID_HORIZON);
tmp_menu_add(l(STRINGID_COCKPIT),ACTIONID_HORIZON);
tmp_menu_add(l(STRINGID_LCD),ACTIONID_LCD);
tmp_menu_add("Follow Me",ACTIONID_SHOWPHONEGPS);
}
if ( mk.ufo_prober.is_mk() )
tmp_menu_add(l(STRINGID_GRAPH),ACTIONID_GRAPH);
 
 
 
if (( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag() ))
tmp_menu_add(l(STRINGID_DEBUG_VALUES),ACTIONID_RAWDEBUG);
 
 
// only navi
if ( mk.ufo_prober.is_navi())
{
if (settings.dev_mode) tmp_menu_add("Follow Me",ACTIONID_SHOWPHONEGPS);
tmp_menu_add(l(STRINGID_VIEW_GPS),ACTIONID_GPSDATA);
tmp_menu_add(l(STRINGID_VIEW_ERRORS),ACTIONID_NC_ERRORS);
if (last_navi_error!=0) tmp_menu_add(l(STRINGID_VIEW_ERRORS),ACTIONID_NC_ERRORS);
tmp_menu_add(l(STRINGID_SWITCH_FC),ACTIONID_SWITCH_FC);
tmp_menu_add(l(STRINGID_SWITCH_MK3MAG),ACTIONID_SWITCH_MK3MAG);
 
274,7 → 282,7
if (settings.expert_mode)
tmp_menu_add(l(STRINGID_FLASH_FIRMWARE),ACTIONID_FLASH);
if (settings.expert_mode&& mk.ufo_prober.is_mk() )
if (settings.dev_mode&& mk.ufo_prober.is_mk() )
tmp_menu_add(l(STRINGID_REMOTE_CAM),ACTIONID_CAM);
 
if (!settings.expert_mode)
288,9 → 296,12
 
public void setup_menu(String[] items , byte[] actions)
{
if ((menu_items==null)||(act_menu_select>menu_items.length))
act_menu_select=0;
menu_items=items;
menu_actions=actions;
lcd_lines=new String[menu_items.length];
}
 
public void setup_menu(int[] items , byte[] actions)
495,7 → 506,7
try
{
symbols_img=Image.createImage("/symbols.png");
symbols_img_tile_height=symbols_img.getHeight()/2;
symbols_img_tile_height=symbols_img.getHeight()/3;
symbols_img_tile_width=symbols_img.getWidth()/10;
 
/* if (bg_img!=null)
596,8 → 607,8
 
mk.gps_position.act_speed_format=settings.speed_format;
mk.gps_position.act_gps_format= settings.gps_format;
// mk.gps_position.act_speed_format=settings.speed_format;
/// mk.gps_position.act_gps_format= settings.gps_format;
 
chg_state(STATEID_MAINMENU);
638,15 → 649,49
chg_state(STATEID_ERROR_MSG);
}
else
if (state==STATEID_MAINMENU)
chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content )
{
if (state==STATEID_MAINMENU)
chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content )
if (state==STATEID_CONN_DETAILS)
chg_state(STATEID_CONN_DETAILS); // reload mainmenu ( changed content )
}
}
 
if (mk.disconnect_notify)
{
mk.disconnect_notify=false;
nextstate=STATEID_MAINMENU;
mk.error_str=l(STRINGID_DISCONNECT);
chg_state( STATEID_ERROR_MSG);
if (settings.do_vibra)
root.vibrate(100);
}
if (mk.ufo_prober.is_navi())
{
if ((last_navi_error==0)&&(mk.gps_position.ErrorCode!=0))
{
nextstate=state;
mk.error_str=null;
chg_state( STATEID_ERROR_MSG);
if (settings.do_vibra)
root.vibrate(100);
}
else
if ((last_navi_error!=0)&&(mk.gps_position.ErrorCode==0)&&(state== STATEID_ERROR_MSG))
chg_state(nextstate);
else if (last_navi_error!=mk.gps_position.ErrorCode)
mk.error_str=null;
last_navi_error=(byte)mk.gps_position.ErrorCode;
}
 
 
switch(state)
{
 
//#if jsr179=="on"
case STATEID_SHOWPHONEGPS:
try
682,6 → 727,7
if(c != null ) {
// Use coordinate information
//#if cldc11=="on"
 
phone_lat= c.getLatitude();
phone_long = c.getLongitude();
//#endif
695,7 → 741,8
}
break;
//#endif
case STATEID_SELECT_FIRMWARE:
if ((menu_items.length==0)&&(fw_loader.got_list))
setup_menu(fw_loader.names,null);
932,8 → 979,8
 
if (quit)
{
settings.speed_format=mk.gps_position.act_speed_format;
settings.gps_format=mk.gps_position.act_gps_format;
// settings.speed_format=mk.gps_position.act_speed_format;
//settings.gps_format=mk.gps_position.act_gps_format;
settings.save();
root.quit();
}
1176,11 → 1223,41
 
if (mk.ufo_prober.is_navi())
{
if (mk.gps_position.ErrorCode!=0)
{
symbol_paint(g,symbol_left,7,0);
symbol_left+=5*(symbols_img_tile_width)/4;
}
 
if ((mk.gps_position.NCFlags&2)!=0)
{
symbol_paint(g,symbol_left,8,0);
symbol_left+=5*(symbols_img_tile_width)/4;
}
 
 
if ((mk.gps_position.NCFlags&4)!=0)
{
symbol_paint(g,symbol_left,0,2);
symbol_left+=5*(symbols_img_tile_width)/4;
}
 
if ((mk.gps_position.NCFlags&8)!=0)
{
symbol_paint(g,symbol_left,0,2);
symbol_left+=5*(symbols_img_tile_width)/4;
}
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;
 
}
 
}
1205,16 → 1282,14
int horizon_middle=y_off+horizon_height;
 
int horizon_roll_pixels= (mk.AngleRoll()*horizon_height)/600;
int horizon_roll_pixels_=horizon_roll_pixels;
int horizon_roll_pixels= ((mk.AngleRoll()*horizon_height)/600) * (settings.horizon_invert_roll?-1:1);
 
 
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.AngleNick()*horizon_height)/900;
int nick_pixels_y=((mk.AngleNick()*horizon_height)/900) * (settings.horizon_invert_nick?-1:1);;
int nick_pixels_x;
if ((mk.AngleRoll()*mk.AngleNick())>1)
1223,65 → 1298,23
nick_pixels_x=((int)Math.sqrt(-mk.AngleRoll()*mk.AngleNick())*(canvas_width/2))/(900);
 
if (horizon_roll_pixels_>0)
if (horizon_roll_pixels>0)
 
{
 
g.fillTriangle(0,horizon_middle+horizon_roll_pixels,canvas_width,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.fillRect(0,horizon_middle+horizon_roll_pixels,canvas_width,canvas_height-(horizon_middle+horizon_roll_pixels));
}
else
{
g.fillTriangle(0,horizon_middle+horizon_roll_pixels,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.fillTriangle(0,horizon_middle+horizon_roll_pixels,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));
}
 
 
 
/* 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);
 
1313,7 → 1346,6
g.setColor(skin_fg_color());
 
 
 
if (settings.expert_mode)
{
g.drawString("nick => " + mk.AngleNick(),0,y_off,Graphics.TOP | Graphics.LEFT);
1332,21 → 1364,35
else
g.setColor(0xFFFFFF);
y_off=canvas_height-5;
 
 
 
g.setFont(font_small);
if (mk.ufo_prober.is_navi())
g.drawString("avg:" + mk.stats.avg_speed() + " max:"+ mk.stats.max_speed,10-c,y_off-c,Graphics.BOTTOM | Graphics.LEFT);
g.drawString(" max:"+ mk.stats.max_alt/10,canvas_width-10-c,y_off-c,Graphics.BOTTOM | Graphics.RIGHT);
 
y_off-=spacer_small;
 
g.setFont(font_large);
if (mk.ufo_prober.is_navi())
g.drawString("" + mk.gps_position.GroundSpeed_str() ,10-c*3,canvas_height-5-c*3,Graphics.BOTTOM | Graphics.LEFT);
g.drawString("" + mk.gps_position.GroundSpeed_str() ,10-c*3,y_off-c*3,Graphics.BOTTOM | Graphics.LEFT);
else
g.drawString("" + mk.stats.flying_time()+"s" ,10-c*3,canvas_height-5-c*3,Graphics.BOTTOM | Graphics.LEFT);
if (settings.horizon_display_flytime) g.drawString("" + mk.stats.flying_time()+"s" ,10-c*3,y_off-c*3,Graphics.BOTTOM | Graphics.LEFT);
g.drawString( mk.Alt_formated() + "/"+status_voice.last_alt ,canvas_width-10-c*3,canvas_height-5-c*3,Graphics.BOTTOM | Graphics.RIGHT);
if (settings.horizon_display_altitude) g.drawString( mk.Alt_formated()/* + "/"+status_voice.last_alt*/ ,canvas_width-10-c*3,y_off-c*3,Graphics.BOTTOM | Graphics.RIGHT);
if (mk.ufo_prober.is_navi())
y_off-=spacer_large;
if (mk.ufo_prober.is_navi()&&(settings.horizon_display_flytime))
{
g.setFont(font_medium);
g.drawString("" + mk.stats.flying_time()+"s" ,10-c*3,canvas_height-5-spacer_large-c*3,Graphics.BOTTOM | Graphics.LEFT);
g.drawString("" + mk.stats.flying_time()+"s" ,10-c*2,y_off-c*2,Graphics.BOTTOM | Graphics.LEFT);
}
 
}
break;
1405,6 → 1451,9
g.drawString("Used Sats: " + mk.gps_position.SatsInUse + " | Packages: " + mk.stats.navi_data_count ,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer_small;
 
g.drawString("Err: " + mk.gps_position.ErrorCode + " NC-Flags:" + mk.gps_position.NCFlags + " MK-Flags:" + mk.gps_position.MKFlags ,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer_small;
 
g.drawString("Lat: " + mk.gps_position.Latitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer_small;
 
1948,7 → 1997,8
 
public void chg_state(byte next_state)
{
settings_editor = null;
if ((next_state!=STATEID_ERROR_MSG)&&(next_state!=STATEID_SETTINGSMENU))
settings_editor = null;
params_editor = null;
err_img=null;
// graph_data=null;
2164,26 → 2214,9
break;
 
case STATEID_SETTINGSMENU:
settings_editor = new MKParamsEditor(this,settings,STATEID_MAINMENU);
/*
menu_items=new String[settings_menu_items.length];
for(int cnt=0;cnt<settings_menu_items.length;cnt++)
menu_items[cnt]=settings_menu_items[cnt];
if (settings_editor==null)
settings_editor = new MKParamsEditor(this,settings,STATEID_MAINMENU);
 
menu_items[0]+=(settings.act_skin==SKINID_DARK)?"Dark":"Light";
menu_items[1]+=(!settings.do_sound)?"Off":"On";
menu_items[2]+=(!settings.do_vibra)?"Off":"On";
menu_items[3]+=(!settings.do_scrollbg)?"Off":"On";
menu_items[4]+=(!settings.fullscreen)?"Off":"On";
menu_items[5]+=(mk.gps_position.act_gps_format==0)?" Decimal":" MinSec";
menu_items[6]+=(mk.gps_position.act_speed_format==0)?" KM/H":((mk.gps_position.act_speed_format==1)?" MP/H":"CM/S");
 
//#if devicecontrol=="on"
menu_items[7]+=(!settings.keep_lighton)?"Off":"On";
//#endif
menu_items[8]+=(!settings.expert_mode)?" Off":" On";
menu_actions=settings_menu_actions;
lcd_lines=new String[menu_items.length];*/
break;
 
case STATEID_RAWDEBUG:
2417,6 → 2450,7
break;
case ACTIONID_NC_ERRORS:
mk.error_str=null;
chg_state(STATEID_ERROR_MSG);
break;