Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 474 → Rev 475

/branches/ligi_j2me/src/MKMiniCanvas.java
1,3 → 1,4
 
/***************************************************************
*
* minimal canvas to test Abstraction layer on various Phones
66,6 → 67,9
public final static int STATEID_EDIT_PARAMS =5;
public final static int STATEID_HANDLE_PARAMS =6;
public final static int STATEID_FLIGHTVIEW =7;
public final static int STATEID_RAWDEBUG =8;
// public final static int STATEID_RAWDEBUG =8;
public final static int STATEID_KEYCONTROL =9;
 
 
public boolean fullscreen=false;
73,19 → 77,23
public int act_motor_increase=0;
public boolean motor_test_sel_all=false;
 
public String[] main_menu_items={"Telemetry" , "Motor Test" , "Flight Settings","(NA)Tool Settings","Proxy","Change Device" , "Quit " };
public String[] main_menu_items={"Telemetry","Raw Debug", "MK-KeyControl", "Motor Test" , "Flight Settings","(NA)Tool Settings","Proxy","Change Device" , "Quit " };
public final static int MAINMENU_TELEMETRY =0;
public final static int MAINMENU_MOTORTES =1;
public final static int MAINMENU_PARAMS =2;
public final static int MAINMENU_SETTINGS =3;
public final static int MAINMENU_PROXY =4;
public final static int MAINMENU_DEVICESELECT =5;
public final static int MAINMENU_QUIT =6;
public final static int MAINMENU_RAWDEBUG =1+MAINMENU_TELEMETRY;
public final static int MAINMENU_KEYCONTROL =1+MAINMENU_RAWDEBUG;
public final static int MAINMENU_MOTORTEST =1+MAINMENU_KEYCONTROL;
public final static int MAINMENU_PARAMS =1+MAINMENU_MOTORTEST;
public final static int MAINMENU_SETTINGS =1+MAINMENU_PARAMS;
public final static int MAINMENU_PROXY =1+MAINMENU_SETTINGS;
public final static int MAINMENU_DEVICESELECT =1+MAINMENU_PROXY;
public final static int MAINMENU_QUIT =1+MAINMENU_DEVICESELECT;
int local_max=-1;
 
int y_off=0;
int spacer=0;
int spacer1=0;
 
int[] motor_test = {0,0,0,0};
 
236,6 → 244,7
 
switch(state)
{
case STATEID_MOTORTEST:
 
if (motor_test_sel_all)
381,8 → 390,16
line_scaler= local_max/(this.getHeight()/2)+1;
}
 
spacer=(g.getFont().getHeight());
 
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);
 
spacer=(f1.getHeight());
spacer1=(f2.getHeight());
 
//default Font
g.setFont(f1);
 
if (state==STATEID_EDIT_PARAMS)
{
g.setColor(0x000000);
402,8 → 419,14
 
switch(state)
{
case STATEID_KEYCONTROL:
g.drawString("bf1:"+ keycontrol_bitfield[0] ,0,10,Graphics.TOP | Graphics.LEFT);
g.drawString("bf2:"+ keycontrol_bitfield[1] ,0,30,Graphics.TOP | Graphics.LEFT);
break;
 
case STATEID_MOTORTEST:
for (int bar=0;bar<4;bar++)
 
{
g.setColor(((bar==act_motor)|motor_test_sel_all)?0x44CC44:0x4444DD);
g.fillRect(this.getWidth()/(8*2)+bar*2*this.getWidth()/8,10,this.getWidth()/8,20+motor_test[bar]);
424,20 → 447,38
g.drawImage(load_img,this.getWidth()/2-load_img.getWidth()/8 - ((((frame_pos/3)%12)%4)*(load_img.getWidth()/4)) ,this.getHeight()/2-load_img.getHeight()/6- ((((frame_pos/3)%12)/4)*(load_img.getHeight()/3)), g.TOP | g.LEFT);
g.drawImage(bt_img,this.getWidth()/2 ,this.getHeight()/2 , g.HCENTER | g.VCENTER);
break;
 
case STATEID_RAWDEBUG:
g.setFont(f2);
for (int i=0;i<16;i++)
{
g.drawString("#"+i+"->" + mk.debug_data.analog[i] ,0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString("#"+(16+i)+"->" + mk.debug_data.analog[16+i] ,this.getWidth()/2,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
}
 
 
 
break;
 
case STATEID_MAINMENU:
g.drawString("MK-Connection(" + (mk.connected?("open"+((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s"):"close")+"):",0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
g.setFont(f2);
g.drawString(" Name:" + mk.name,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
y_off+=spacer1;
g.drawString(" URL:" + mk.mk_url,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
y_off+=spacer1;
g.drawString(" Version:" + mk.version.str,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
 
g.setFont(f1);
g.drawString("Packet Traffic:",0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
g.drawString("Packet Traffic:",0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
g.setFont(f2);
g.drawString( " debug:"+mk.debug_data_count+ " LCD:" + mk.lcd_data_count + " vers:" + mk.version_data_count,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
y_off+=spacer1;
g.drawString( " other:"+mk.other_data_count+" params:"+mk.params_data_count,0,y_off,Graphics.TOP | Graphics.LEFT);
 
 
453,6 → 494,15
case STATEID_FLIGHTVIEW:
 
// !!TODO!! check exactly which version those Datas where introduced
if (mk.version.compare(0,60)==mk.version.VERSION_PREVIOUS)
{
g.drawString("Power: " + (mk.debug_data.UBatt()/10) + "," +(mk.debug_data.UBatt()%10)+"V" ,0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString("Sender: " + mk.debug_data.SenderOkay(),this.getWidth()/2,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
}
 
g.drawString(mk.version.str+"(d"+mk.debug_data_count+ "l" + mk.lcd_data_count+ "v" + mk.version_data_count+"o"+mk.other_data_count+"p"+mk.params_data_count+")",0,y_off,Graphics.TOP | Graphics.LEFT);
 
y_off+=spacer;
542,7 → 592,7
/*********************************************** input Section **********************************************/
 
 
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) ";
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) ";
 
int intro_str_pos=0;
int intro_str_delay=3;
557,7 → 607,8
lcd_lines=new String[4];
lcd_lines[0]="Scanning for Devices";
lcd_lines[1]=" ";
lcd_lines[2]="DUBwise v0.40 ";
 
//#expand lcd_lines[2]="DUBwise v%VERSION% ";
lcd_lines[3]=intro_str.substring(0,20);
mk.close_connections(true);
608,10 → 659,48
case STATEID_MOTORTEST:
act_motor_increase=0;
break;
case STATEID_KEYCONTROL:
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))
{
case UP:
keycontrol_bitfield[1]&=255^4;
break;
case DOWN:
keycontrol_bitfield[1]&=255^8;
break;
 
case LEFT:
keycontrol_bitfield[1]&=255^16;
break;
 
case RIGHT:
keycontrol_bitfield[1]&=255^32;
break;
case FIRE:
keycontrol_bitfield[1]&=255^64;
break;
 
}
mk.send_keys(keycontrol_bitfield);
break;
}
 
}
 
 
public final static int[] keycontrol_bitfield={0,0};
 
public void keyPressed(int keyCode)
{
632,6 → 721,41
}
switch(state)
{
case STATEID_KEYCONTROL:
if ((keyCode >= this.KEY_NUM0) && (keyCode < this.KEY_NUM8))
keycontrol_bitfield[0]|=1<<(keyCode-this.KEY_NUM0);
else
if ((keyCode >= this.KEY_NUM8) && (keyCode <= this.KEY_NUM9))
keycontrol_bitfield[1]|=1<<(keyCode-this.KEY_NUM8);
else
switch (getGameAction (keyCode))
{
case UP:
keycontrol_bitfield[1]|=4;
break;
case DOWN:
keycontrol_bitfield[1]|=8;
break;
 
case LEFT:
keycontrol_bitfield[1]|=16;
break;
 
case RIGHT:
keycontrol_bitfield[1]|=32;
break;
case FIRE:
keycontrol_bitfield[1]|=64;
break;
}
mk.send_keys(keycontrol_bitfield);
break;
 
 
case STATEID_MOTORTEST:
switch (getGameAction (keyCode))
{
675,12 → 799,15
if ( getGameAction (keyCode)==FIRE )
switch(act_menu_select)
{
 
case MAINMENU_KEYCONTROL:
chg_state(STATEID_KEYCONTROL);
break;
case MAINMENU_TELEMETRY :
chg_state(STATEID_FLIGHTVIEW);
break;
 
case MAINMENU_MOTORTES :
case MAINMENU_MOTORTEST :
chg_state(STATEID_MOTORTEST);
break;
 
689,6 → 816,7
break;
case MAINMENU_SETTINGS:
break;
 
case MAINMENU_PROXY:
mk.do_proxy("socket://192.168.1.42:2323");
break;
697,7 → 825,12
chg_state(STATEID_SCANNING);
break;
 
case MAINMENU_QUIT:
case MAINMENU_RAWDEBUG:
chg_state(STATEID_RAWDEBUG);
break;
 
case MAINMENU_QUIT:
// set quit Flag
quit=true;
break;