/DUBwise/trunk/j2me/src/DUBwiseCanvas.java |
---|
25,7 → 25,7 |
public class DUBwiseCanvas |
extends Canvas |
implements Runnable,org.ligi.ufo.DUBwiseDefinitions |
implements Runnable,org.ligi.ufo.DUBwiseDefinitions , DUBwiseUIDefinitions |
{ |
//#if fileapi=="on" |
302,13 → 302,9 |
public DUBwiseCanvas(DUBwise _root) |
{ |
// mk = new MKCommunicator(root); |
//#if fileapi=="on" |
// file |
file_list= new String[MAX_FILELIST_LENGTH]; |
act_path_arr=new String[MAX_PATH_DEPTH]; |
// end file |
//#endif |
root=_root; |
323,28 → 319,23 |
//#endif |
params_editor = new MKParamsEditor(this); |
// mk.ufo_prober = new UFOProber(); |
// mk = new MKCommunicator(root); |
// mk_stat = new MKStatistics(mk); |
//#if voice_mode!="no_voice" |
status_voice=new MKStatusVoice(mk,this); |
//#endif |
load_images(); |
if (settings.connection_url!="") |
connect_mk(settings.connection_url,settings.connection_name); |
mk.gps_position.act_speed_format=settings.speed_format; |
mk.gps_position.act_gps_format= settings.gps_format; |
chg_state(STATEID_MAINMENU); |
new Thread(this).start(); |
} |
386,45 → 377,45 |
chg_state(STATEID_MAINMENU); // reload mainmenu ( changed content ) |
} |
switch(state) |
{ |
case STATEID_CAMMODE: |
try |
{ |
if(cam_condition()) |
{ |
try |
{ |
if(cam_condition()) |
{ |
cam_img=null; |
debug.log("get snap\n"); |
cam_raw = mVideoControl.getSnapshot(null); |
try { Thread.sleep(4000); } |
catch (Exception e) |
{ |
debug.log("Problem Sleeping "); |
} |
} |
else |
{ |
if (cam_img==null) |
cam_img = Image.createImage(cam_raw, 0, cam_raw.length); |
} |
} |
catch ( Exception e) |
{ |
debug.log(e.toString()); |
} |
} |
else |
{ |
if (cam_img==null) |
cam_img = Image.createImage(cam_raw, 0, cam_raw.length); |
} |
} |
catch ( Exception e) |
{ |
debug.log(e.toString()); |
} |
break; |
case STATEID_KEYCONTROL: |
mk.send_keys(keycontrol_bitfield); |
break; |
case STATEID_NC_ERRORS: |
lcd_lines[0]=""+mk.error_str; |
break; |
case STATEID_READ_PARAMS: |
if (mk.watchdog.act_paramset==5) |
chg_state(STATEID_SELECT_PARAMSET); |
432,20 → 423,17 |
{ |
lcd_lines[0]="Reading Settings "; |
lcd_lines[1]=mk.watchdog.act_paramset+"/5 |"+ (mk.watchdog.act_paramset>0?"#":"_") + (mk.watchdog.act_paramset>1?"#":"_") + (mk.watchdog.act_paramset>2?"#":"_")+ (mk.watchdog.act_paramset>3?"#":"_")+ (mk.watchdog.act_paramset>4?"#":"_") + "| "; |
if (mk.params.found_incompatible) |
{ |
mk.error_str="incompatible params"; |
chg_state(STATEID_NC_ERRORS); |
} |
} |
break; |
case STATEID_MOTORTEST: |
if (motor_test_sel_all) |
490,21 → 478,12 |
//#if bluetooth=="on" |
case STATEID_SCANNING: |
/*intro_str_delay--; |
if (intro_str_delay<0) |
{ |
intro_str_delay=1; |
if (intro_str_pos>intro_str.length()) |
intro_str_pos=0; |
lcd_lines[3]=intro_str.substring(intro_str_pos, (((intro_str_pos+20)>intro_str.length())?intro_str.length():intro_str_pos+20)); |
intro_str_pos++; |
} |
*/ |
lcd_lines[1]="Bluetooth Devices " + idle_seq[(((frame_pos/5)%idle_seq.length))]; |
lcd_lines[2]="found " + bt_scanner.remote_device_count; |
if (!bt_scanner.searching) |
chg_state(STATEID_DEVICESELECT); |
break; |
//#endif |
514,6 → 493,8 |
if (quit) |
{ |
settings.speed_format=mk.gps_position.act_speed_format; |
settings.gps_format=mk.gps_position.act_gps_format; |
settings.save(); |
root.quit(); |
} |
790,6 → 771,15 |
g.drawString("Altitude: " + mk.gps_position.Altitude ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
g.drawString("GrSpeed: " + mk.gps_position.GroundSpeed_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
g.drawString("Heading: " + mk.gps_position.Heading ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
g.drawString("CompasHeading: " + mk.gps_position.CompasHeading ,0,y_off,Graphics.TOP | Graphics.LEFT); |
y_off+=spacer1; |
g.drawString("Target-Lat: " + mk.gps_position.TargetLatitude_str() ,0,y_off,Graphics.TOP | Graphics.LEFT); |
1034,11 → 1024,13 |
break; |
// falltru wanted |
case STATEID_SELECT_SPEED_FORMAT: |
case STATEID_SELECT_GPS_FORMAT: |
case STATEID_MAINMENU: |
case STATEID_SETTINGSMENU: |
// falltru wanted |
case STATEID_SELECT_PARAMSET: |
case STATEID_HANDLE_PARAMS: |
1332,6 → 1324,17 |
setup_menu(conn_details_menu_items,conn_details_menu_actions); |
break; |
case STATEID_SELECT_GPS_FORMAT: |
setup_menu(set_gps_format_menu_items,set_gps_format_menu_actions); |
break; |
case STATEID_SELECT_SPEED_FORMAT: |
setup_menu(set_speed_format_menu_items,set_speed_format_menu_actions); |
break; |
case STATEID_TRAFFIC: |
setup_menu(onlyback_menu_items,back_to_conndetails_actions); |
/* |
1452,9 → 1455,11 |
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[5]+=(!settings.keep_lighton)?"Off":"On"; |
menu_items[7]+=(!settings.keep_lighton)?"Off":"On"; |
//#endif |
menu_actions=settings_menu_actions; |
lcd_lines=new String[menu_items.length]; |
1666,8 → 1671,6 |
if (keyCode == this.KEY_NUM3) |
mk.set_gps_target(mk.gps_position.LatWP[act_wp],mk.gps_position.LongWP[act_wp]); |
if (keyCode == this.KEY_NUM4) |
mk.gps_position.next_gps_format(); |
if (keyCode == this.KEY_NUM5) |
heading_offset= mk.debug_data.analog[26]; |
1863,6 → 1866,8 |
// handle menue |
case STATEID_SELECT_SPEED_FORMAT: |
case STATEID_SELECT_GPS_FORMAT: |
case STATEID_TRAFFIC: |
case STATEID_CONN_DETAILS: |
case STATEID_HANDLE_PARAMS: |
1874,6 → 1879,42 |
switch(menu_actions[act_menu_select]) |
{ |
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; |
/DUBwise/trunk/j2me/src/DUBwiseDefinitions.java |
---|
124,9 → 124,9 |
public final static byte[] conn_details_menu_actions={ ACTIONID_TRAFFIC,ACTIONID_DATABUFF,ACTIONID_CONNECT_TCP,ACTIONID_SCAN_BT, ACTIONID_SELECT_COM,ACTIONID_PROXY_INPUT,ACTIONID_MAINMENU}; |
public final static String[] settings_menu_items={"Skin ","Sound ","Vibra " ,"Scrolling BG ","FullScreen " , |
public final static String[] settings_menu_items={"Skin ","Sound ","Vibra " ,"Scrolling_BG ","FullScreen " , |
//#if devicecontrol=="on" |
"Keep BGLight " , |
"Keep_BGLight " , |
//#endif |
"Back" }; |
public final static byte SETTINGSMENU_CHANGESKIN =0; |
/DUBwise/trunk/j2me/src/DUBwiseSettings.java |
---|
13,12 → 13,11 |
import java.io.*; |
public class DUBwiseSettings |
implements org.ligi.ufo.DUBwiseDefinitions |
implements org.ligi.ufo.DUBwiseDefinitions,DUBwiseUIDefinitions |
{ |
// name/handle for the recordStore to memorize some stuff |
private final static String RECORD_STORE_NAME="DUBSETT_V2"; |
private final static String RECORD_STORE_NAME="DUBSETT_V3"; |
/* all settings hold here */ |
//holds id of actual skin |
public byte act_skin=SKINID_DARK; |
32,6 → 31,11 |
public boolean do_scrollbg=false; |
public byte gps_format=GPS_FORMAT_DECIMAL; |
public byte speed_format=SPEED_FORMAT_KMH; |
//#if devicecontrol=="on" |
public boolean keep_lighton=false; |
//#endif |
63,9 → 67,25 |
fullscreen=din.readBoolean(); |
//#if devicecontrol=="on" |
keep_lighton=din.readBoolean(); |
//#else |
din.readBoolean(); |
//#endif |
gps_format=din.readByte(); |
speed_format=din.readByte(); |
// reserve |
din.readBoolean(); |
din.readBoolean(); |
din.readBoolean(); |
din.readByte(); |
din.readByte(); |
din.readByte(); |
din.readUTF(); |
din.readUTF(); |
din.readUTF(); |
for ( int i=0;i<5;i++) |
{ |
act_proxy_ip[i]=din.readInt(); |
106,8 → 126,25 |
dout.writeBoolean(fullscreen); |
//#if devicecontrol=="on" |
dout.writeBoolean(keep_lighton); |
//#else |
dout.writeBoolean(false); |
//#endif |
dout.writeByte(gps_format); |
dout.writeByte(speed_format); |
dout.writeBoolean(false); |
dout.writeBoolean(false); |
dout.writeBoolean(false); |
dout.writeByte(0); |
dout.writeByte(0); |
dout.writeByte(0); |
dout.writeUTF(""); |
dout.writeUTF(""); |
dout.writeUTF(""); |
for ( int i=0;i<5;i++) |
{ |
dout.writeInt(act_proxy_ip[i]); |
/DUBwise/trunk/j2me/src/DUBwiseUIDefinitions.java |
---|
0,0 → 1,216 |
public interface DUBwiseUIDefinitions |
{ |
// id for each state - must just be uniq - order isnt important |
public final static byte STATEID_SCANNING =0; |
public final static byte STATEID_DEVICESELECT =1; |
public final static byte STATEID_MAINMENU =2; |
public final static byte STATEID_MOTORTEST =3; |
public final static byte STATEID_SELECT_PARAMSET =4; |
public final static byte STATEID_EDIT_PARAMS =5; |
public final static byte STATEID_HANDLE_PARAMS =6; |
public final static byte STATEID_FLIGHTVIEW =7; |
public final static byte STATEID_RAWDEBUG =8; |
public final static byte STATEID_KEYCONTROL =9; |
public final static byte STATEID_SETTINGSMENU =10; |
public final static byte STATEID_STICKVIEW =11; |
public final static byte STATEID_CAMMODE =12; |
public final static byte STATEID_READ_PARAMS =13; |
public final static byte STATEID_GPSVIEW =14; |
public final static byte STATEID_FILEOPEN =15; |
public final static byte STATEID_GRAPH =16; |
public final static byte STATEID_CONN_DETAILS =17; |
public final static byte STATEID_IPINPUT =18; |
public final static byte STATEID_PROXY =19; |
public final static byte STATEID_TRAFFIC =20; |
public final static byte STATEID_SELECT_COMPORT =21; |
public final static byte STATEID_ABOUT =22; |
public final static byte STATEID_NC_ERRORS =23; |
public final static byte STATEID_FLASHING =24; |
public final static byte STATEID_NAMEINPUT =25; |
public final static byte STATEID_DATABUFF =26; |
public final static byte STATEID_SELECT_GPS_FORMAT=27; |
public final static byte STATEID_SELECT_SPEED_FORMAT=28; |
public final static byte ACTIONID_SETTINGS = 0; |
public final static byte ACTIONID_DEVICESELECT = 1; |
public final static byte ACTIONID_DEBUG = 2; |
public final static byte ACTIONID_CONN_DETAILS = 3; |
public final static byte ACTIONID_SWITCH_NC = 4; |
public final static byte ACTIONID_SWITCH_FC = 5; |
public final static byte ACTIONID_GRAPH = 6; |
public final static byte ACTIONID_LCD = 7; |
public final static byte ACTIONID_RAWDEBUG = 8; |
public final static byte ACTIONID_RCDATA = 9; |
public final static byte ACTIONID_KEYCONTROL = 10; |
public final static byte ACTIONID_MOTORTEST = 11; |
public final static byte ACTIONID_EDIT_PARAMS = 12; |
public final static byte ACTIONID_CAM = 13; |
public final static byte ACTIONID_PROXY = 14; |
public final static byte ACTIONID_GPSDATA = 15; |
public final static byte ACTIONID_TRAFFIC = 16; |
public final static byte ACTIONID_ABOUT = 17; |
public final static byte ACTIONID_NC_ERRORS = 18; |
public final static byte ACTIONID_WRITE_PARAMS = 19; |
public final static byte ACTIONID_UNDO_PARAMS = 20; |
public final static byte ACTIONID_MAINMENU = 21; |
public final static byte ACTIONID_CHANGESKIN = 22; |
public final static byte ACTIONID_SOUNDTOGGLE = 23; |
public final static byte ACTIONID_VIBRATOGGLE = 24; |
public final static byte ACTIONID_GRAPHTOGGLE = 25; |
public final static byte ACTIONID_FULLSCREENTOGGLE = 26; |
public final static byte ACTIONID_LIGHTTOGGLE =27; |
public final static byte ACTIONID_DATABUFF =28; |
public final static byte ACTIONID_SWITCH_MK3MAG = 29; |
public final static byte ACTIONID_CONNECT_TCP =30; |
public final static byte ACTIONID_SCAN_BT =31; |
public final static byte ACTIONID_SELECT_COM =32; |
public final static byte ACTIONID_PROXY_INPUT =33; |
public final static byte ACTIONID_FLASH =34; |
public final static byte ACTIONID_RESET_PARAMS =35; |
public final static byte ACTIONID_BACK_TO_CONNDETAILS=36; |
public final static byte ACTIONID_SELECT_GPS_FORMAT=37; |
public final static byte ACTIONID_SET_GPS_FORMAT_DECIMAL=38; |
public final static byte ACTIONID_SET_GPS_FORMAT_MINSEC=39; |
public final static byte ACTIONID_SELECT_SPEED_FORMAT=40; |
public final static byte ACTIONID_SET_SPEED_FORMAT_KMH=41; |
public final static byte ACTIONID_SET_SPEED_FORMAT_MPH=42; |
public final static byte ACTIONID_SET_SPEED_FORMAT_CMS=43; |
public final static byte ACTIONID_QUIT = 100; |
public final static String[] main_menu_items_no_connection = { "Tool Settings" , "Connection" , "Debug DUBwise" , "About","Quit " }; |
public final static byte[] main_menu_actions_no_connection= { ACTIONID_SETTINGS , ACTIONID_CONN_DETAILS, ACTIONID_DEBUG , ACTIONID_ABOUT, ACTIONID_QUIT}; |
public final static String[] main_menu_items_incompatible = { "Tool Settings" , "Connection" , "Debug DUBwise" ,"Flash Firmware", "About","Quit " }; |
public final static byte[] main_menu_actions_incompatible= { ACTIONID_SETTINGS , ACTIONID_CONN_DETAILS, ACTIONID_DEBUG ,ACTIONID_FLASH , ACTIONID_ABOUT, ACTIONID_QUIT}; |
public final static String[] main_menu_items_mk3mag = { "Tool Settings" , "Connection" , "Flash Firmware" , "switch to NC","Debug DUBwise" , "About","Quit " }; |
public final static byte[] main_menu_actions_mk3mag= { ACTIONID_SETTINGS , ACTIONID_CONN_DETAILS, ACTIONID_FLASH, ACTIONID_SWITCH_NC, ACTIONID_DEBUG , ACTIONID_ABOUT, ACTIONID_QUIT}; |
public final static String[] main_menu_items_mk ={"Connection", "switch to NC","Sensor Graph" , "LCD","Raw Debug", "view RC-data", "MK-KeyControl", "Motor Test" , "Flight Settings","Flash Firmware","Tool Settings","Remote Cam", "Debug" ,"About", "Quit" }; |
public final static byte[] main_menu_actions_mk = { ACTIONID_CONN_DETAILS , ACTIONID_SWITCH_NC , ACTIONID_GRAPH , ACTIONID_LCD , ACTIONID_RAWDEBUG , ACTIONID_RCDATA , ACTIONID_KEYCONTROL , ACTIONID_MOTORTEST , ACTIONID_EDIT_PARAMS,ACTIONID_FLASH , ACTIONID_SETTINGS , ACTIONID_CAM , ACTIONID_DEBUG , ACTIONID_ABOUT , ACTIONID_QUIT}; |
public final static String[] main_menu_items_navi={"Connection" , "view Errors", "switch to FC","switch to MK3MAG","LCD","Raw Debug", "view GPS-Data" ,"Flash Firmware","Tool Settings", "Debug" ,"About", "Quit" }; |
public final static byte[] main_menu_actions_navi = { ACTIONID_CONN_DETAILS , ACTIONID_NC_ERRORS , ACTIONID_SWITCH_FC , ACTIONID_SWITCH_MK3MAG, ACTIONID_LCD , ACTIONID_RAWDEBUG , ACTIONID_GPSDATA , ACTIONID_FLASH , ACTIONID_SETTINGS , ACTIONID_DEBUG , ACTIONID_ABOUT, ACTIONID_QUIT}; |
public final static String[] handle_params_menu_items={"write to MK","don't write to MK","discard/read again","all to default"}; |
public final static byte[] handle_params_menu_actions={ACTIONID_WRITE_PARAMS,ACTIONID_MAINMENU,ACTIONID_UNDO_PARAMS,ACTIONID_RESET_PARAMS}; |
public final static String[] conn_details_menu_items={ "packet Traffic","view Data","connect via TCP/IP","connect via BT","connect via COM","set Proxy","back" }; |
public final static byte[] conn_details_menu_actions={ ACTIONID_TRAFFIC,ACTIONID_DATABUFF,ACTIONID_CONNECT_TCP,ACTIONID_SCAN_BT, ACTIONID_SELECT_COM,ACTIONID_PROXY_INPUT,ACTIONID_MAINMENU}; |
public final static String[] set_gps_format_menu_items={ "Decimal" , "Min/Sec","Back" }; |
public final static byte[] set_gps_format_menu_actions={ ACTIONID_SET_GPS_FORMAT_DECIMAL , ACTIONID_SET_GPS_FORMAT_MINSEC,ACTIONID_MAINMENU}; |
public final static String[] set_speed_format_menu_items={ "Kilometers/Hour" , "Miles/Hour", "CM/Sec","Back" }; |
public final static byte[] set_speed_format_menu_actions={ ACTIONID_SET_SPEED_FORMAT_KMH , ACTIONID_SET_SPEED_FORMAT_MPH , ACTIONID_SET_SPEED_FORMAT_CMS,ACTIONID_SETTINGS}; |
public final static String[] settings_menu_items={"Skin ","Sound ","Vibra " ,"Scrolling BG ","FullScreen " ,"GPS-Format","Speed-Format", |
//#if devicecontrol=="on" |
"Keep BGLight " , |
//#endif |
"Back" }; |
public final static byte[] settings_menu_actions={ ACTIONID_CHANGESKIN,ACTIONID_SOUNDTOGGLE, ACTIONID_VIBRATOGGLE , ACTIONID_GRAPHTOGGLE , ACTIONID_FULLSCREENTOGGLE ,ACTIONID_SELECT_GPS_FORMAT,ACTIONID_SELECT_SPEED_FORMAT, |
//#if devicecontrol=="on" |
ACTIONID_LIGHTTOGGLE, |
//#endif |
ACTIONID_MAINMENU }; |
public final static String[] onlyback_menu_items={"back" }; |
public final static byte[] back_to_conndetails_actions={ACTIONID_BACK_TO_CONNDETAILS}; |
final static byte SKINID_DARK= 0; |
final static byte SKINID_LIGHT = 1; |
final static String[] credits= { |
//#expand "About DUBwise v%VERSION%", |
"", |
"Digital UFO", |
"Broadcasting With ", |
"Byteelligent Service", |
"Equipment", |
"", |
"2007-2008 by ", |
"Marcus LiGi B"+(char)(252)+"schleb", |
"mailto:ligi"+"@"+"ligi.de", |
"", |
"Licence:", |
"Creative Commons(CC)", |
" -Attribution", |
" -Noncommercial", |
" -Share Alike", |
" -No Violence", |
" ", |
"Credits: ", |
" -HolgerB&IngoB", |
" -CaScAdE", |
" -Orion8", |
" -Joko", |
" -Speedy", |
" -Jamiro", |
"", |
"More Infos:", |
" www.ligi.de", |
" www.mikrokopter.com"}; |
public final static char[] idle_seq={'.','_','-','='}; |
public final static int[] default_ip={192,168,1,42,4242}; |
} |