Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 254 → Rev 255

/DUBwise/trunk/j2me/src/DUBwiseCanvas.java
18,9 → 18,19
 
public class DUBwiseCanvas
extends Canvas
implements Runnable,org.ligi.ufo.DUBwiseDefinitions , DUBwiseUIDefinitions
implements Runnable,org.ligi.ufo.DUBwiseDefinitions , DUBwiseUIDefinitions,org.ligi.ufo.DUBwiseLangDefs
{
 
public final static int[] param_menu_items={STRINGID_EDIT_SETTINGS,STRINGID_COPY_TO_MOBILE,STRINGID_LOAD_FROM_MOBILE,STRINGID_REINITIALIZE_ALL,STRINGID_BACK};
public final static byte[] param_menu_actions={ACTIONID_SELECT_PARAMS,ACTIONID_PARAM_COPY_MOBILE,ACTIONID_PARAM_LOAD_MOBILE,ACTIONID_RESET_PARAMS,ACTIONID_MAINMENU};
 
public final static int[] handle_params_menu_items={STRINGID_EDIT_CONTENT,STRINGID_RENAME,STRINGID_SAVE_AS,STRINGID_SAVE,STRINGID_REREAD,STRINGID_BACK};
public final static byte[] handle_params_menu_actions={ACTIONID_EDIT_PARAMS,ACTIONID_RENAME_PARAMS,ACTIONID_WRITE_PARAM_AS,ACTIONID_WRITE_PARAMS,ACTIONID_UNDO_PARAMS,ACTIONID_SELECT_PARAMS };
 
public final static int[] onlyback_menu_items={STRINGID_BACK };
public final static byte[] back_to_conndetails_actions={ACTIONID_BACK_TO_CONNDETAILS};
 
 
//#if fileapi=="on"
DUBwiseFileAccess file_access;
//#endif
53,6 → 63,7
private MKParamsEditor params_editor=null;
private MKParamsEditor settings_editor=null;
public DUBwiseDebug debug=null;
public FirmwareLoader fw_loader=null;
 
 
142,6 → 153,16
String[] tmp_items;
// boolean expert_mode=false;
 
 
byte act_lang=0;
 
public String[] localized_strings;
 
public String l(int str_id)
{
return localized_strings[str_id];
 
}
public void tmp_menu_init(int max_items)
{
setup_pos=0;
176,17 → 197,17
public void setup_conn_menu()
{
tmp_menu_init(7);
tmp_menu_add("Packet Traffic",ACTIONID_TRAFFIC);
tmp_menu_add("view Data",ACTIONID_DATABUFF);
tmp_menu_add(l(STRINGID_PACKET_TRAFFIC),ACTIONID_TRAFFIC);
tmp_menu_add(l(STRINGID_VIEW_DATA),ACTIONID_DATABUFF);
//#if bluetooth=="on"
tmp_menu_add("connect via BT",ACTIONID_SCAN_BT);
tmp_menu_add(l(STRINGID_CONNECT_BT),ACTIONID_SCAN_BT);
//#endif
tmp_menu_add("connect via TCP/IP",ACTIONID_CONNECT_TCP);
tmp_menu_add(l(STRINGID_CONNECT_TCP),ACTIONID_CONNECT_TCP);
 
if ((System.getProperty("microedition.commports")!=null)&&(!System.getProperty("microedition.commports").equals("")))
tmp_menu_add("connect via COM",ACTIONID_SELECT_COM);
tmp_menu_add("set Proxy",ACTIONID_PROXY_INPUT);
tmp_menu_add("back",ACTIONID_MAINMENU);
tmp_menu_add(l(STRINGID_CONNECT_COM),ACTIONID_SELECT_COM);
tmp_menu_add(l(STRINGID_SET_PROXY),ACTIONID_PROXY_INPUT);
tmp_menu_add(l(STRINGID_BACK),ACTIONID_MAINMENU);
tmp_menu_use();
 
}
196,59 → 217,62
{
tmp_menu_init(20);
tmp_menu_add("Tool Settings",ACTIONID_SETTINGS);
tmp_menu_add("Connection",ACTIONID_CONN_DETAILS);
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);
 
 
if (settings.expert_mode)
tmp_menu_add("Debug",ACTIONID_DEBUG);
tmp_menu_add(l(STRINGID_DEBUG),ACTIONID_DEBUG);
if (mk.ufo_prober.is_mk())
{
tmp_menu_add("Motor Test",ACTIONID_MOTORTEST);
tmp_menu_add("Key-Control",ACTIONID_KEYCONTROL);
tmp_menu_add("view RC-data",ACTIONID_RCDATA);
tmp_menu_add("Flight Settings",ACTIONID_PARAM_MENU);
tmp_menu_add("Artificial Horizon",ACTIONID_HORIZON);
tmp_menu_add(l(STRINGID_MOTORTEST),ACTIONID_MOTORTEST);
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_HORIZON),ACTIONID_HORIZON);
}
 
 
 
if ( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk() )
tmp_menu_add("LCD",ACTIONID_LCD);
tmp_menu_add(l(STRINGID_LCD),ACTIONID_LCD);
 
if ( mk.ufo_prober.is_mk() )
tmp_menu_add("Graph",ACTIONID_GRAPH);
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("Debug Values",ACTIONID_RAWDEBUG);
tmp_menu_add(l(STRINGID_DEBUG_VALUES),ACTIONID_RAWDEBUG);
 
 
if ( mk.ufo_prober.is_navi())
{
tmp_menu_add("view GPS-Data",ACTIONID_GPSDATA);
tmp_menu_add("view Errors",ACTIONID_NC_ERRORS);
tmp_menu_add("switch to FC",ACTIONID_SWITCH_FC);
tmp_menu_add("switch to MK3MAG",ACTIONID_SWITCH_MK3MAG);
tmp_menu_add(l(STRINGID_VIEW_GPS),ACTIONID_GPSDATA);
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);
 
}
 
if (mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag() )
tmp_menu_add("switch to navi",ACTIONID_SWITCH_NC);
tmp_menu_add(l(STRINGID_SWITCH_NAVI),ACTIONID_SWITCH_NC);
 
 
//if ((settings.expert_mode)&& ( mk.ufo_prober.is_navi()||mk.ufo_prober.is_mk()||mk.ufo_prober.is_mk3mag()||mk.ufo_prober.is_incompatible() ))
if (settings.expert_mode)
tmp_menu_add("Flash Firmware",ACTIONID_FLASH);
tmp_menu_add(l(STRINGID_FLASH_FIRMWARE),ACTIONID_FLASH);
if (settings.expert_mode&& mk.ufo_prober.is_mk() )
tmp_menu_add("Remote Cam",ACTIONID_CAM);
tmp_menu_add(l(STRINGID_REMOTE_CAM),ACTIONID_CAM);
 
if (!settings.expert_mode)
tmp_menu_add("About",ACTIONID_ABOUT);
tmp_menu_add(l(STRINGID_ABOUT),ACTIONID_ABOUT);
 
tmp_menu_add("Quit",ACTIONID_QUIT);
tmp_menu_add(l(STRINGID_QUIT),ACTIONID_QUIT);
 
tmp_menu_use();
}
261,8 → 285,19
lcd_lines=new String[menu_items.length];
}
 
public void setup_menu(int[] items , byte[] actions)
{
menu_items=new String[items.length];
for(int i=0;i<items.length;i++)
menu_items[i]=l(items[i]);
 
menu_actions=actions;
lcd_lines=new String[menu_items.length];
}
 
public void paint_menu(Graphics g)
{
if (menu_items==null) return;
for ( int i=0;i<menu_items.length;i++)
{
if ((frame_pos%3)!=0)
299,7 → 334,84
else
act_menu_select=0;
break;
 
case FIRE:
switch(state)
{
 
case STATEID_SELECT_COMPORT:
if (act_menu_select<menu_items.length)
connect_mk("comm:"+menu_items[act_menu_select]+";baudrate=57600","com"+act_menu_select);
chg_state(STATEID_CONN_DETAILS);
break;
 
//#if fileapi=="on"
case STATEID_FILEOPEN:
file_access.fire();
break;
 
//#endif
 
case STATEID_SELECT_PARAMSET:
 
if (act_menu_select==5) // back
{
if (select_paramset4edit)
chg_state(STATEID_PARAM_MENU);
else
chg_state(STATEID_HANDLE_PARAMS); // from save as
}
else
{
if (select_paramset4edit)
// if ( mk.params.field[act_menu_select]!=null)
{
mk.params.act_paramset=act_menu_select;
chg_state(STATEID_HANDLE_PARAMS);
//success_msg="Params saved";
}
else
{
mk.write_params(act_menu_select);
nextstate=STATEID_HANDLE_PARAMS;
success_msg="saved in slot " + (act_menu_select+1) ;
chg_state(STATEID_SUCCESS_MSG); // TODO - ground too optimistic way ;-)
}
 
}
 
 
break;
 
//#if bluetooth=="on"
case STATEID_DEVICESELECT:
 
if (bt_scanner.remote_device_count > act_menu_select)
{
connect_mk("btspp://"+bt_scanner.remote_device_mac[act_menu_select] + ":1",bt_scanner.remote_device_name[act_menu_select]);
chg_state(STATEID_CONN_DETAILS);
}
else
{
if (bt_scanner.remote_device_count == act_menu_select)
chg_state(STATEID_SCANNING);
else
chg_state(STATEID_CONN_DETAILS);
}
break;
//#endif
 
 
default:
if (menu_actions!=null)
process_action(menu_actions[act_menu_select]);
}
}
 
}
392,10 → 504,61
}
 
 
public void load_strings()
{
System.out.println("loading strings");
localized_strings=new String[STRING_COUNT];
try {
InputStream in=this.getClass().getResourceAsStream("/l");
for (int i=0;i<STRING_COUNT;i++)
{
System.out.println("s"+i);
String tmp_s="";
String tmp_b="";
char ch=0;
 
int act_l=0;
while ( (ch=(char)in.read())!='\n')
{
if (ch==';')
{
act_l++;
tmp_s="";
}
else
{
if (act_l==0)
tmp_b+=ch;
if (act_l==act_lang)
tmp_s+=ch;
}
}
 
if (tmp_s.equals(""))
localized_strings[i]=tmp_b;
else
localized_strings[i]=tmp_s;
System.out.println("s"+localized_strings[i]);
}
}
catch (Exception e) { System.out.println("str_load err"+e);}
}
 
 
// construct
public DUBwiseCanvas(DUBwise _root)
{
load_strings();
 
 
 
 
act_menu_select_bak=new int[STATEID_COUNT];
for (int i=0;i<STATEID_COUNT;i++)
act_menu_select_bak[i]=0;
475,8 → 638,15
switch(state)
{
 
case STATEID_SELECT_FIRMWARE:
if ((menu_items.length==0)&&(fw_loader.got_list))
setup_menu(fw_loader.names,null);
break;
case STATEID_RESET_PARAMS:
 
if (mk.bootloader_finish_ok)
{
mk.params.reset();
856,7 → 1026,7
g.fillRect(0,0,canvas_width,symbols_img_tile_height);
 
g.setColor(skin_bg_color());
g.fillRect(0,symbols_img_tile_height,canvas_width,canvas_height-symbols_img.getHeight());
g.fillRect(0,symbols_img_tile_height,canvas_width,canvas_height-symbols_img_tile_height);
}
 
 
1283,7 → 1453,7
break;
//#endif
 
 
case STATEID_SELECT_FIRMWARE:
case STATEID_SELECT_COMPORT:
case STATEID_PARAM_MENU:
paint_menu(g);
1331,7 → 1501,7
case STATEID_CONN_DETAILS:
g.setFont(f1);
g.drawString("Connection::",0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString(l(STRINGID_CONN)+":",0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
g.setFont(f2);
 
1343,8 → 1513,11
 
g.drawString(" "+mk.ufo_prober.extended_name()+ " (" + (mk.connected?("open"+((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s"):"closed")+"):",0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
g.drawString(" Version:" + mk.version.str ,0,y_off,Graphics.TOP | Graphics.LEFT);
g.drawString(" Software Version:" + mk.version.version_str ,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
 
g.drawString(" Protocol Version:" + mk.version.proto_str ,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
g.drawString(" Slave-Addr:" + mk.slave_addr,0,y_off,Graphics.TOP | Graphics.LEFT);
 
paint_menu(g);
1403,15 → 1576,9
settings_editor.paint(g);
break;
// falltru wanted
// case STATEID_SELECT_SPEED_FORMAT:
// case STATEID_SELECT_GPS_FORMAT:
case STATEID_MAINMENU:
 
 
 
case STATEID_SELECT_PARAMSET:
case STATEID_HANDLE_PARAMS:
case STATEID_DEVICESELECT:
 
paint_menu(g);
1426,23 → 1593,24
g.setColor(0xe1dddd);
g.setFont(f2);
// LEGEND
if (settings.graph_legend) for (int d=0;d<GRAPH_COUNT;d++)
{/*
g.setColor(graph_colors[d]);
g.fillRect(0,y_off +spacer1/2-2 ,20,4);
g.setColor(skin_fg_color());
g.drawString(graph_names[d] + mk.debug_data.analog[graph_sources[d]],23,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
if (settings.graph_legend)
for (int d=0;d<GRAPH_COUNT;d++)
{/*
g.setColor(graph_colors[d]);
g.fillRect(0,y_off +spacer1/2-2 ,20,4);
g.setColor(skin_fg_color());
g.drawString(graph_names[d] + mk.debug_data.analog[graph_sources[d]],23,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer1;
*/
g.setColor(graph_colors[d]);
g.fillRect(canvas_width-20,canvas_height-spacer*(d+1)+(spacer)/2-2 ,20,4);
g.setColor(skin_fg_color());
g.drawString(graph_names[d] /*+ mk.debug_data.analog[graph_sources[d]]*/,canvas_width-23,canvas_height-spacer*(d+1),Graphics.TOP | Graphics.RIGHT);
// y_off+=spacer1;
}
 
*/
g.setColor(graph_colors[d]);
g.fillRect(canvas_width-20,canvas_height-spacer*(d+1)+(spacer)/2-2 ,20,4);
g.setColor(skin_fg_color());
g.drawString(graph_names[d] /*+ mk.debug_data.analog[graph_sources[d]]*/,canvas_width-23,canvas_height-spacer*(d+1),Graphics.TOP | Graphics.RIGHT);
// y_off+=spacer1;
 
}
 
if (settings.graph_scale)
{
1651,6 → 1819,17
// case STATEID_COPY_PARAMS:
//break;
 
case STATEID_SELECT_FIRMWARE:
 
 
fw_loader=new FirmwareLoader();
setup_menu(new String[0],new byte[0]);
 
break;
 
 
case STATEID_SUCCESS_MSG:
case STATEID_ERROR_MSG:
lcd_lines=new String[1];
1791,10 → 1970,7
//#endif
 
case STATEID_HANDLE_PARAMS:
menu_items=handle_params_menu_items;
menu_actions=handle_params_menu_actions;
lcd_lines=new String[menu_items.length];
 
setup_menu(handle_params_menu_items,handle_params_menu_actions);
break;
 
case STATEID_SELECT_PARAMSET:
1802,7 → 1978,7
for (int i=0;i<5;i++)
menu_items[i]=""+(i+1)+": " + mk.params.getParamName(i) + ((i==mk.params.active_paramset)?"*":"");
 
menu_items[5]="back";
menu_items[5]=l(STRINGID_BACK);
lcd_lines=new String[6];
break;
 
2001,6 → 2177,9
 
break;
case ACTIONID_SELECT_FIRMWARE:
chg_state(STATEID_SELECT_FIRMWARE);
break;
case ACTIONID_PARAM_COPY_MOBILE:
read_paramset_intension_save=true;
chg_state(STATEID_READ_PARAMS);
2542,18 → 2721,7
 
break;
 
case STATEID_SELECT_COMPORT:
if ( getGameAction (keyCode)==FIRE )
{
 
if (act_menu_select<menu_items.length)
connect_mk("comm:"+menu_items[act_menu_select]+";baudrate=57600","com"+act_menu_select);
chg_state(STATEID_CONN_DETAILS);
}
else
menu_keypress(keyCode);
break;
 
/*
case STATEID_HANDLsE_PARAMS:
2569,98 → 2737,38
menu_keypress(keyCode);
break;
*/
//#if fileapi=="on"
case STATEID_FILEOPEN:
if ( getGameAction (keyCode)==FIRE )
{
file_access.fire();
}
else
menu_keypress(keyCode);
break;
 
//#endif
case STATEID_MAINMENU:
case STATEID_SELECT_PARAMSET:
case STATEID_SELECT_COMPORT:
 
case STATEID_SETTINGSMENU:
settings_editor.keypress(keyCode,getGameAction (keyCode)) ;
break;
 
// handle menue
// case STATEID_SELECT_SPEED_FORMAT:
// case STATEID_SELECT_GPS_FORMAT:
case STATEID_PARAM_MENU:
case STATEID_TRAFFIC:
case STATEID_CONN_DETAILS:
case STATEID_HANDLE_PARAMS:
 
case STATEID_MAINMENU:
//#if bluetooth=="on"
case STATEID_DEVICESELECT:
//#endif
 
if ( getGameAction (keyCode)==FIRE )
process_action(menu_actions[act_menu_select]);
else
menu_keypress(keyCode);
//#if fileapi=="on"
case STATEID_FILEOPEN:
//#endif
 
menu_keypress(keyCode);
break;
 
case STATEID_SELECT_PARAMSET:
if ( getGameAction (keyCode)==FIRE )
{
if (act_menu_select==5) // back
{
if (select_paramset4edit)
chg_state(STATEID_PARAM_MENU);
else
chg_state(STATEID_HANDLE_PARAMS); // from save as
}
else
{
if (select_paramset4edit)
// if ( mk.params.field[act_menu_select]!=null)
{
mk.params.act_paramset=act_menu_select;
chg_state(STATEID_HANDLE_PARAMS);
//success_msg="Params saved";
}
else
{
mk.write_params(act_menu_select);
nextstate=STATEID_HANDLE_PARAMS;
success_msg="saved in slot " + (act_menu_select+1) ;
chg_state(STATEID_SUCCESS_MSG); // TODO - ground too optimistic way ;-)
}
 
}
}
else menu_keypress(keyCode);
 
case STATEID_SETTINGSMENU:
settings_editor.keypress(keyCode,getGameAction (keyCode)) ;
break;
 
//#if bluetooth=="on"
case STATEID_DEVICESELECT:
if ( getGameAction (keyCode)==FIRE )
{
// handle menue
// case STATEID_SELECT_SPEED_FORMAT:
// case STATEID_SELECT_GPS_FORMAT:
 
if (bt_scanner.remote_device_count > act_menu_select)
{
connect_mk("btspp://"+bt_scanner.remote_device_mac[act_menu_select] + ":1",bt_scanner.remote_device_name[act_menu_select]);
chg_state(STATEID_CONN_DETAILS);
}
else
{
if (bt_scanner.remote_device_count == act_menu_select)
chg_state(STATEID_SCANNING);
else
chg_state(STATEID_CONN_DETAILS);
}
}
else menu_keypress(keyCode);
break;
//#endif
 
 
case STATEID_EDIT_PARAMS:
params_editor.keypress(keyCode,getGameAction (keyCode)) ;
break;
/DUBwise/trunk/j2me/src/DUBwiseHelper.java
1,5 → 1,18
/***************************************************************
*
* Helper functions for DUBwise
*
* Author: Marcus -LiGi- Bueschleb
* Mailto: LiGi @at@ LiGi DOTT de
*
***************************************************************/
 
import java.util.Vector;
import java.io.*;
import javax.microedition.io.*;
 
 
 
public final class DUBwiseHelper
{
public final static String ip_digit_zeroes(int digit)
26,6 → 39,48
}
 
 
 
 
public final static String get_http_string(String url)
{
try {
 
InputStream stream = null;
StringBuffer buff = new StringBuffer();
StreamConnection conn=null;
System.out.println("starting conn");
conn = (StreamConnection)Connector.open(url);
stream = conn.openInputStream();
int ch;
while((ch = stream.read()) != -1)
buff.append((char) ch);
if(stream != null)
stream.close();
if(conn != null)
conn.close();
return buff.toString();
}
catch ( Exception e)
{
return "err";
}
}
 
 
 
public final static int pow(int val,int pow)
{
int res=1;
37,6 → 92,9
}
 
 
 
 
 
public final static String[] split_str(String str,String sep)
{
 
/DUBwise/trunk/j2me/src/DUBwiseSettings.java
14,7 → 14,7
 
public class DUBwiseSettings
extends org.ligi.ufo.ParamsClass
implements org.ligi.ufo.DUBwiseDefinitions,DUBwiseUIDefinitions
implements org.ligi.ufo.DUBwiseDefinitions,DUBwiseUIDefinitions,org.ligi.ufo.DUBwiseLangDefs
{
// name/handle for the recordStore to memorize some stuff
private final static String RECORD_STORE_NAME="DUBSETT_V4";
23,8 → 23,6
//holds id of actual skin
public byte act_skin=SKINID_DARK;
 
 
 
public int key_back;
public int key_fullscreen;
public int key_clear;
94,11 → 92,20
public final static int SETTINGS_POS_VOICEVOLUME=12;
public final static int SETTINGS_POS_VOICEDELAY=13;
public final static int SETTINGS_POS_BITFIELD2=14;
public final static int SETTINGS_POS_LANG=15;
 
 
public void field2setting(int pos,int val)
{
 
if (pos==SETTINGS_POS_LANG)
{
canvas.act_lang=(byte)val;
canvas.load_strings();
}
 
 
if (pos==SETTINGS_POS_SKIN)
{
act_skin=(byte)val;
215,21 → 222,23
 
/* end of all settings hold here */
 
public String[] _tab_names={"User Interface","GPS","Keycontrol","Special Keys","Graph","Voice","Other" };
// public String[] _tab_names={"User Interface","GPS","Keycontrol","Special Keys","Graph","Voice","Other" };
 
public String[][] _field_names={ { "Skin","Fullscreen","Scroll Background"
 
public int[] _tab_stringids={STRINGID_USERINTERFACE,STRINGID_GPS,STRINGID_KEYCONTROL,STRINGID_SPECIALKEYS,STRINGID_GRAPH,STRINGID_VOICE,STRINGID_OTHER};
public String[][] _field_names={ { "Language","Skin","Fullscreen","Scroll Background"
//#if devicecontrol=="on"
,"Permanent Light"
//#endif
} , {"GPS Format","Speed Format"},{"Nick","Roll","Gier","Gas Increase","Height Increase"},{"Back to Main-Menu","Fullscreen","Clear"},{"Legend","Scale-Grid"},{"Volts Output","Delay in Seconds","Volume"},{"Sound","Vibra","Remote Cam Stick","Always Reload Params","Expert-Mode"} };
 
public String[][] _choice_strings={ { "Dark","Light" } , {"km/h","mp/h","cm/s"},{"decimal","min sec"}} ;
public int[][] _field_positions={ {SETTINGS_POS_SKIN,8,9
public String[][] _choice_strings={ { "Dark","Light" } , {"km/h","mp/h","cm/s"},{"decimal","min sec"},{"English","Deutsch"} } ;
public int[][] _field_positions={ {SETTINGS_POS_LANG,SETTINGS_POS_SKIN,8,9
//#if devicecontrol=="on"
,13
//#endif
} , {2,3} , {4,5,6,7,8} , {9,10,11},{SETTINGS_POS_BITFIELD1*8 +6,SETTINGS_POS_BITFIELD1*8 +7} ,{SETTINGS_POS_BITFIELD2*8+0,SETTINGS_POS_VOICEDELAY,SETTINGS_POS_VOICEVOLUME }, {10,11,12,SETTINGS_POS_BITFIELD2*8+1,12}};
public int[][] _field_types={ {PARAMTYPE_CHOICE+0,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH
public int[][] _field_types={ {PARAMTYPE_CHOICE+3,PARAMTYPE_CHOICE+0,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH
//#if devicecontrol=="on"
,PARAMTYPE_BITSWITCH
//#endif
259,8 → 268,9
public void load()
{
tab_stringids=_tab_stringids;
 
tab_names=_tab_names;
// tab_names=_tab_names;
field_names=_field_names;
field_positions=_field_positions;
field_types=_field_types;
/DUBwise/trunk/j2me/src/DUBwiseUIDefinitions.java
1,6 → 1,8
public interface DUBwiseUIDefinitions
 
{
 
 
// colors
public final static int BG_COLOR_SKIN_DARK = 0x000000;
public final static int BG_COLOR_SKIN_LIGHT = 0xFFFFFF;
44,10 → 46,12
public final static byte STATEID_RESET_PARAMS =31;
public final static byte STATEID_PARAM_MENU =32;
public final static byte STATEID_PARAM_MASSWRITE =33;
public final static byte STATEID_COUNT =34;
public final static byte STATEID_SELECT_FIRMWARE =34;
 
public final static byte STATEID_COUNT =35;
 
 
 
public final static byte ACTIONID_SETTINGS = 0;
public final static byte ACTIONID_DEVICESELECT = 1;
public final static byte ACTIONID_DEBUG = 2;
87,26 → 91,27
public final static byte ACTIONID_BACK_TO_CONNDETAILS = 36;
public final static byte ACTIONID_SELECT_PARAMS = 37;
public final static byte ACTIONID_RENAME_PARAMS = 38;
public final static byte ACTIONID_SELECT_FIRMWARE = 39;
public final static byte ACTIONID_QUIT = 100;
 
 
 
 
public final static String[] param_menu_items={"Edit Settings","Copy all to Mobile","Load from Mobile","Reinitialize all","back"};
public final static byte[] param_menu_actions={ACTIONID_SELECT_PARAMS,ACTIONID_PARAM_COPY_MOBILE,ACTIONID_PARAM_LOAD_MOBILE,ACTIONID_RESET_PARAMS,ACTIONID_MAINMENU};
// public final static String[] param_menu_items={"Edit Settings","Copy all to Mobile","Load from Mobile","Reinitialize all","back"};
 
 
public final static String[] handle_params_menu_items={"Edit Content","Rename","Save AS","Save","Read Again","back"};
public final static byte[] handle_params_menu_actions={ACTIONID_EDIT_PARAMS,ACTIONID_RENAME_PARAMS,ACTIONID_WRITE_PARAM_AS,ACTIONID_WRITE_PARAMS,ACTIONID_UNDO_PARAMS,ACTIONID_SELECT_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[] onlyback_menu_items={"back" };
public final static byte[] back_to_conndetails_actions={ACTIONID_BACK_TO_CONNDETAILS};
 
 
final static byte SKINID_DARK= 0;
/DUBwise/trunk/j2me/src/FirmwareLoader.java
0,0 → 1,67
/**************************************
*
* WatchDog for MK-Connection
*
* Author: Marcus -LiGi- Bueschleb
*
* see README for further Infos
*
*
 
**************************************/
 
public class FirmwareLoader
implements Runnable
{
 
public final static String base_url= "http://mikrocontroller.cco-ev.de/mikrosvn/Projects/DUBwise/trunk/misc/firmwares/";
boolean got_list=false;
String list_str="";
 
String[] names;
String[] filenames;
public FirmwareLoader()
{
new Thread( this ).start(); // fire up main Thread
}
 
public void run()
{
if (!got_list)
{
list_str=DUBwiseHelper.get_http_string(base_url+"list");
 
String[] split=DUBwiseHelper.split_str(list_str,"\n");
names=new String[ split.length];
filenames=new String[ split.length];
 
for ( int i=0;i<split.length;i++)
{
String[] sp2=DUBwiseHelper.split_str(split[i],":");
if (sp2.length==2)
{
names[i]=sp2[0];
filenames[i]=sp2[1];
}
else
names[i]="fail";
 
}
System.out.println(list_str);
got_list=true;
}
else
{
 
}
}
 
}
/DUBwise/trunk/j2me/src/MKParamsEditor.java
9,7 → 9,7
import javax.microedition.lcdui.*;
 
public class MKParamsEditor
implements org.ligi.ufo.MKParamDefinitions
implements org.ligi.ufo.MKParamDefinitions, org.ligi.ufo.DUBwiseLangDefs
{
 
public byte nextstate;
45,13 → 45,13
{
if (select_mode)
{
if (canvas.menu_items[0]!=edit_source.tab_names[0]) // usefull?
if (canvas.menu_items[0]!=canvas.l(edit_source.tab_stringids[0])) // usefull?
{
act_y=1;
menu_items=new String[edit_source.tab_names.length+1];
for(int p=0;p<edit_source.tab_names.length;p++)
menu_items[p]=edit_source.tab_names[p];
menu_items[edit_source.tab_names.length]="back";
menu_items=new String[edit_source.tab_stringids.length+1];
for(int p=0;p<edit_source.tab_stringids.length;p++)
menu_items[p]=canvas.l(edit_source.tab_stringids[p]);
menu_items[edit_source.tab_stringids.length]=canvas.l(STRINGID_BACK);
canvas.setup_menu(menu_items,null);
}
canvas.paint_menu(g);
77,7 → 77,7
// lcd_lines[0]=(act_tab==0?" ":"< ") + edit_source.tab_names[act_tab] + (act_tab==(edit_source.tab_names.length-1)?" ":" >");
// lcd_lines[0]=(act_tab==0?" ":"< ") + edit_source.tab_stringids[act_tab] + (act_tab==(edit_source.tab_stringids.length-1)?" ":" >");
for (int i=0;i<edit_source.field_names[act_tab].length;i++)
{
131,7 → 131,7
}
lcd_lines[act_lcd_lines-1]="back";
lcd_lines[act_lcd_lines-1]=canvas.l(STRINGID_BACK);
canvas.lcd_lines=new String[act_lcd_lines];
for ( int i=0;i<act_lcd_lines;i++)
166,8 → 166,6
 
public void pointer_press(int x,int row)
{
 
System.out.println("!!!!!!!!!!!!!!row:"+row);
if (select_mode)
{
canvas.act_menu_select=row;