Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 494 → Rev 495

/branches/ligi_j2me/README
168,3 → 168,6
- BugFixes ( e.g. SetPoint in ParamsParser was wrong )
- using newer Antenna Preprocessor so that version has to be changed only once
- KeyControl -> send KeyEvents as BitField from mobile to FC in order to control the MK
- Vibration on Connection loss
- StarField BackGround
- Fixing Bluetooth Image & Activity Indicator
/branches/ligi_j2me/src/DUBwise.java
20,6 → 20,11
public MKMiniCanvas canvas;
public boolean loaded=false;
 
public void vibrate(int duration)
{
display.vibrate(duration);
}
 
protected void startApp()
throws MIDletStateChangeException
{
/branches/ligi_j2me/src/MKCommunicator.java
51,10 → 51,12
 
 
String name;
 
DUBwise root;
/****************** Section: public Methods ************************************************/
public MKCommunicator()
public MKCommunicator(DUBwise root_)
{
root=root_;
version=new MKVersion();
debug_data=new MKDebugData();
params=new MKParamsParser();
305,6 → 307,7
 
public void close_connections(boolean force)
{
if (!force) root.vibrate(500);
force_disconnect=force;
try{ reader.close(); }
catch (Exception inner_ex) { }
/branches/ligi_j2me/src/MKMiniCanvas.java
30,6 → 30,8
private String err="";
private DUBwise root;
 
 
 
private Image bg_img;
private Image bt_img;
private Image lcd_img;
36,6 → 38,12
private Image load_img;
 
 
final static int SKINID_DARK= 0;
final static int SKINID_LIGHT = 1;
 
byte act_skin=SKINID_DARK;
 
 
public int[] nick_line_pos_data;
public int[] roll_line_pos_data;
 
77,7 → 85,7
public int act_motor_increase=0;
public boolean motor_test_sel_all=false;
 
public String[] main_menu_items={"Telemetry","Raw Debug", "MK-KeyControl", "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","Change Skin","Proxy","Change Device" , "Quit " };
public final static int MAINMENU_TELEMETRY =0;
public final static int MAINMENU_RAWDEBUG =1+MAINMENU_TELEMETRY;
public final static int MAINMENU_KEYCONTROL =1+MAINMENU_RAWDEBUG;
146,22 → 154,26
}
}
 
public MKMiniCanvas(DUBwise _root)
public void load_images()
{
try
{
// load all needed images
switch (act_skin)
{
case SKINID_DARK:
lcd_img=Image.createImage("/lcd_green.png");
bg_img=Image.createImage("/starfield.jpg"); break;
 
root=_root;
case SKINID_LIGHT:
lcd_img=Image.createImage("/lcd_blue.png");
bg_img=Image.createImage("/clouds.jpg");
break;
}
 
bt_scanner = new BTSearcher();
params_editor = new MKParamsEditor(this);
mk = new MKCommunicator();
mk_stat= new MKStatistics(mk);
 
try
{
// load all needed images
lcd_img=Image.createImage("/lcd.png");
bt_img=Image.createImage("/bt.png");
bg_img=Image.createImage("/starfield.jpg");
 
load_img=Image.createImage("/load.png");
}
catch (Exception e)
185,8 → 197,22
accnick_line_pos_data[c]=-1;
accroll_line_pos_data[c]=-1;
}
}
 
public MKMiniCanvas(DUBwise _root)
{
 
root=_root;
 
bt_scanner = new BTSearcher();
params_editor = new MKParamsEditor(this);
mk = new MKCommunicator(root);
mk_stat= new MKStatistics(mk);
 
load_images();
try
{
RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME , true );
418,8 → 444,20
g.drawImage(bg_img,bg_offset+bg_img.getWidth(),0, g.TOP | g.LEFT);
}
 
g.setColor(0x000000);
g.setColor(0x2dcf20);
switch (act_skin)
{
case SKINID_DARK:
g.setColor(0x2dcf20);
break;
case SKINID_LIGHT:
g.setColor(0x000000);
break;
}
 
 
switch(state)
{
case STATEID_KEYCONTROL:
603,13 → 641,27
 
public void draw_graph_part(Graphics g,int x,int y1,int y2)
{
g.fillRect(x,line_middle_y-y1,2,2 );
if (y1>y2)
g.fillRect(x,line_middle_y-y1,2,y1-y2);
if ( this.getWidth()>200)
{
g.fillRect(x,line_middle_y-y1,1,1 );
if (y1>y2)
g.fillRect(x,line_middle_y-y1,1,y1-y2);
else
g.fillRect(x,line_middle_y-y2,1,y2-y1);
 
}
else
g.fillRect(x,line_middle_y-y2,2,y2-y1);
{
g.fillRect(x,line_middle_y-y1,1,1 );
if (y1>y2)
g.fillRect(x,line_middle_y-y1,1,y1-y2);
else
g.fillRect(x,line_middle_y-y2,1,y2-y1);
}
 
}
 
 
/*********************************************** input Section **********************************************/
 
 
848,6 → 900,12
if ( getGameAction (keyCode)==FIRE )
switch(act_menu_select)
{
case MAINMENU_SETTINGS:
act_skin++;
act_skin=(byte)(act_skin%2);
load_images();
break;
 
case MAINMENU_KEYCONTROL:
chg_state(STATEID_KEYCONTROL);
break;
863,9 → 921,8
case MAINMENU_PARAMS :
chg_state(STATEID_SELECT_PARAMSET);
break;
case MAINMENU_SETTINGS:
break;
 
 
case MAINMENU_PROXY:
mk.do_proxy("socket://192.168.1.42:2323");
break;
/branches/ligi_j2me/src/MKParamsParser.java
71,6 → 71,7
switch (version.compatible)
{
case 4:
case 5:
for ( int i=0;i<58;i++)
field[paramset_num][i]=in_arr[i];
/branches/ligi_j2me/src/MKWatchDog.java
18,8 → 18,10
int debug_data_count_buff=-123;
int lcd_data_count_buff=-123;
 
 
public MKWatchDog(MKCommunicator _mk)
{
 
mk=_mk;
new Thread( this ).start(); // fire up main Thread
}
34,8 → 36,9
if (mk.connected&&(!mk.force_disconnect))
{
if (debug_data_count_buff==mk.debug_data_count)
mk.close_connections(false);
 
{
mk.close_connections(false);
}
if ((lcd_data_count_buff==mk.lcd_data_count)||(mk.lcd_data_count==0))
mk.LCD.trigger_LCD();