/DUBwise/src/BTSearcher.java |
---|
24,6 → 24,13 |
public String err_log="none"; |
public void log(String err_str) |
{ |
err_log+=err_str; |
System.out.println(err_str); |
} |
public final int MAX_DEVICES=10; |
public RemoteDevice[] remote_devices; |
58,7 → 65,7 |
catch (BluetoothStateException ex) |
{ |
error=true; |
err_log+="Problem in searching the blue tooth devices\n" + ex; |
log("Problem in searching the blue tooth devices\n" + ex); |
} |
66,17 → 73,29 |
public void inquiryCompleted(int transID) { |
try { |
try { |
log("search complete with " + remote_device_count + " devices"); |
for(int i=0;i<remote_device_count;i++) |
{ |
remote_device_name[i]=remote_devices[i].getFriendlyName(true); |
log("#" + i + " -> addr: " + remote_devices[i].getBluetoothAddress()); |
remote_device_mac[i]=remote_devices[i].getBluetoothAddress(); |
remote_device_name[i]=remote_devices[i].getBluetoothAddress(); |
try { |
log("#" + i + "name:" + remote_devices[i].getFriendlyName(true)); |
remote_device_name[i]=remote_devices[i].getFriendlyName(true); |
} |
catch (Exception e) |
{ |
log("Problem getting name of BT-Device( -> taking mac as name): " + e); |
} |
} |
} |
catch (Exception e) |
{ |
err_log+="Problem in searching the blue tooth devices"; |
log("Problem in searching the blue tooth devices" + e); |
} |
searching=false; |
} |
89,6 → 108,7 |
//Called when device is found during inquiry |
public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) |
{ |
log("found device "); |
try |
{ |
if (remote_device_count!=(MAX_DEVICES-1)) |
99,7 → 119,7 |
} |
catch (Exception e) |
{ |
err_log+=("Device Discovered Error: " + e); |
log("Device Discovered Error: " + e); |
} |
} |
/DUBwise/src/MKCommunicator.java |
---|
83,9 → 83,11 |
/****************** Section: private Methods ************************************************/ |
private void connect() |
{ |
System.out.println("trying to connect to" + mk_url); |
try{ |
connection = (StreamConnection) Connector.open(mk_url, Connector.READ_WRITE); |
connection = (StreamConnection) Connector.open(mk_url); |
// old call |
// connection = (StreamConnection) Connector.open(mk_url, Connector.READ_WRITE); |
reader=connection.openInputStream(); |
writer=connection.openOutputStream(); |
102,6 → 104,7 |
{ |
// TODO difference fatal errors from those which will lead to reconnection |
msg="Problem connecting" + "\n" + ex; |
System.out.println("problem connecting " + ex); |
} |
/DUBwise/src/MKMiniCanvas.java |
---|
1,4 → 1,3 |
/*************************************************************** |
* |
* minimal canvas to test Abstraction layer on various Phones |
25,7 → 24,10 |
public MKCommunicator mk=null; |
private MKStatistics mk_stat=null; |
private MKParamsEditor params_editor=null; |
//#if voice_mode!="no_voice" |
private MKStatusVoice status_voice; |
//#endif |
private String err=""; |
private DUBwise root; |
211,7 → 213,10 |
mk = new MKCommunicator(root); |
mk_stat= new MKStatistics(mk); |
//#if voice_mode!="no_voice" |
status_voice=new MKStatusVoice(mk); |
//#endif |
load_images(); |
788,6 → 793,32 |
public final static int[] keycontrol_bitfield={0,0}; |
public void pointerPressed (int pointer_x, int pointer_y) |
{ |
if (pointer_x<this.getWidth()/2) |
{ |
if (state==STATEID_EDIT_PARAMS) |
{ |
chg_state(STATEID_HANDLE_PARAMS); |
return; |
} |
else |
if (state!=STATEID_KEYCONTROL) |
{ |
chg_state(STATEID_MAINMENU); |
return; |
} |
} |
else |
{ |
fullscreen=!fullscreen; |
setFullScreenMode(fullscreen); |
} |
} |
public void keyPressed(int keyCode) |
{ |
/DUBwise/src/MKParamDefinitions.java |
---|
1,21 → 1,9 |
public interface MKParamDefinitions |
{ |
// !!TODO!! difference types better ( Ranges / Special values ( Poti )) |
public final static int PARAMTYPE_BOOLEAN=0; |
public final static int PARAMTYPE_BYTE=1; |
public final static int PARAMTYPE_BYTE=0; |
public final static int PARAMTYPE_BITSWITCH=1; |
public final static int PARAMTYPE_STICK=2; |
public final static int PARAMID_STICK_ACCELERATE=0; |
public final static int PARAMID_STICK_GIER=1; |
public final static int PARAMID_STICK_NICK=2; |
public final static int PARAMID_STICK_ROLL=3; |
public final static int PARAMID_STICK_POTI1=4; |
public final static int PARAMID_STICK_POTI2=5; |
public final static int PARAMID_STICK_POTI3=6; |
public final static int PARAMID_STICK_POTI4=7; |
public final static int PARAM_COUNT=8; |
} |
/DUBwise/src/MKParamsEditor.java |
---|
15,72 → 15,7 |
implements MKParamDefinitions |
{ |
public final static int TAB_COUNT=9; |
public final static int TABID_CONFIGURATION=0; |
public final static int TABID_CHANNELS=1; |
public final static int TABID_STICK=2; |
public final static int TABID_ALTITUDE=3; |
public final static int TABID_GYRO=4; |
public final static int TABID_LOOPING=5; |
public final static int TABID_CAMMERA=6; |
public final static int TABID_OTHER=7; |
public final static int TABID_USER=8; |
public String[] tab_names={"Configuration","Channels","Stick","Altitude","Gyro","Looping","Camera","Other","User"}; |
public String[] param_names; |
public int[] tab_entrys_count={6,8,3,6,4,6,6,6,4}; |
public String[][] tab_entrys={{"Altitude Contol","Switch for setpoint","Heading Hold","Compass","Orientation fixed","GPS"} |
, |
{"Accelerate","Gier","Nick","Roll","POTI1","POTI2","POTI3","POTI4"}, |
{"Nick/Roll P-Rate","Nick/Roll D-Rate","Gier P-Rate"}, |
{"SetPoint","Min. Accelerate","Altitude P","Barometric D","Z-ACC effect ","Gain"}, |
{"Gyro P-Rate","Gyro I-Rate","ACC Gyro Factor","Main I"}, |
{"Up","Down","Left","Right","Gas Limit","Response threshold"}, |
{"Servo Ctrl","Nick compensation","Invert direction","Servo min","Servo max","Servo refresh Rate"}, |
{"Min Gas","Max Gas","Compass effect","voltage warning","distress gas time", "distress gas"}, |
{"Param1","Param2","Param3","Param4"} |
// {"","","","","",""}, |
}; |
public int[][] tab_entry_types={ |
{ PARAMTYPE_BOOLEAN ,PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN }, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN,PARAMTYPE_BOOLEAN,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE} |
}; |
public int[][][] tab_entry_src={ |
{ {8,0} ,{8,1},{8,2},{8,3},{8,4},{8,5} }, |
{ {2,0} ,{3,0},{0,0},{1,0},{4,0},{5,0},{6,0},{7,0} }, |
{ {15,0} ,{16,0},{17,0} }, |
{ {11,0} ,{9,0},{12,0},{10,0},{14,0},{13,0} }, //! |
{ {22,0} ,{23,0},{20,0},{28,0} }, |
{ {40,0} ,{40,1},{40,2},{40,3},{38,0},{39,0} }, |
{ {33,0} ,{34,0},{40,2}/*!*/,{35,0},{36,0},{37,0} }, |
{ {18,0} ,{19,0},{21,0},{24,0},{26,0},{25,0} }, |
{ {29,0} ,{30,0},{31,0},{32,0} } |
}; |
private int act_tab=0; |
private int act_y=0; |
private int act_lcd_lines=10; |
92,7 → 27,6 |
public MKParamsEditor(MKMiniCanvas _canvas) |
{ |
canvas=_canvas; |
lcd_lines=new String[40]; |
refresh_lcd(); |
110,24 → 44,35 |
{ |
if (canvas.mk!=null) |
{ |
act_lcd_lines=tab_entrys_count[act_tab]*2+1; |
act_lcd_lines=canvas.mk.params.field_names[act_tab].length*2+1; |
for ( int i=0;i<act_lcd_lines;i++) |
lcd_lines[i]=""; |
lcd_lines[0]=(act_tab==0?" ":"< ") + tab_names[act_tab] + (act_tab==(TAB_COUNT-1)?" ":" >"); |
for (int i=0;i<tab_entrys_count[act_tab];i++) |
try |
{ |
lcd_lines[1+2*i]=tab_entrys[act_tab][i]; |
if (tab_entry_types[act_tab][i]== PARAMTYPE_BOOLEAN) |
lcd_lines[2+2*i]=(((canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][i][0])&(1<<tab_entry_src[act_tab][i][1]))==0)?"off":"on" ) ; |
if (tab_entry_types[act_tab][i]== PARAMTYPE_BYTE) |
lcd_lines[0]=(act_tab==0?" ":"< ") + canvas.mk.params.tab_names[act_tab] + (act_tab==(canvas.mk.params.tab_names.length-1)?" ":" >"); |
for (int i=0;i<canvas.mk.params.field_names[act_tab].length;i++) |
{ |
lcd_lines[1+2*i]=canvas.mk.params.field_names[act_tab][i]; |
if (canvas.mk.params.field_types[act_tab][i]== canvas.mk.params.PARAMTYPE_BITSWITCH) |
lcd_lines[2+2*i]=(((canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][i]/8)&(1<<canvas.mk.params.field_positions[act_tab][i]%8))==0)?"off":"on" ) ; |
if (canvas.mk.params.field_types[act_tab][i]== canvas.mk.params.PARAMTYPE_BYTE) |
{ |
lcd_lines[2+2*i]=""+canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][i][0]); |
if ((canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][i][0])>250)&&(canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][i][0])<256)) |
lcd_lines[2+2*i]+="[Poti"+(canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][i][0])-250) +"]"; |
lcd_lines[2+2*i]=""+canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][i]); |
if ((canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][i])>250)&&(canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][i])<256)) |
lcd_lines[2+2*i]+="[Poti"+(canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][i])-250) +"]"; |
} |
if (canvas.mk.params.field_types[act_tab][i]== canvas.mk.params.PARAMTYPE_STICK) |
{ |
lcd_lines[2+2*i]=""+canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][i]); |
} |
} |
for (int i=0;i<act_lcd_lines;i++) |
140,7 → 85,8 |
{ |
lcd_lines[i]+=" "; |
} |
} |
catch (Exception e){} |
canvas.lcd_lines=new String[act_lcd_lines]; |
for(int i=0;i<act_lcd_lines;i++) |
canvas.lcd_lines[i]=lcd_lines[i]; |
164,7 → 110,7 |
if (act_y==0) switch (action) |
{ |
case Canvas.RIGHT: |
if (act_tab<TAB_COUNT-1) act_tab++; |
if (act_tab<canvas.mk.params.tab_names.length-1) act_tab++; |
break; |
case Canvas.LEFT: |
173,20 → 119,20 |
} |
else |
{ |
if(tab_entry_types[act_tab][act_y/2-1]==PARAMTYPE_BYTE) |
if(canvas.mk.params.field_types[act_tab][act_y/2-1]==canvas.mk.params.PARAMTYPE_BYTE) |
{ |
if ((keyCode >= Canvas.KEY_NUM0) && (keyCode <= Canvas.KEY_NUM9)) |
{ |
if((editing_number)&&( Math.abs(canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][act_y/2-1][0]))*10+(keyCode - Canvas.KEY_NUM0)<1000)) |
canvas.mk.params.set_field_from_act(tab_entry_src[act_tab][act_y/2-1][0] , Math.abs(canvas.mk.params.get_field_from_act(tab_entry_src[act_tab][act_y/2-1][0]))*10+(keyCode - Canvas.KEY_NUM0)); |
if((editing_number)&&( Math.abs(canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][act_y/2-1]))*10+(keyCode - Canvas.KEY_NUM0)<1000)) |
canvas.mk.params.set_field_from_act(canvas.mk.params.field_positions[act_tab][act_y/2-1] , Math.abs(canvas.mk.params.get_field_from_act(canvas.mk.params.field_positions[act_tab][act_y/2-1]))*10+(keyCode - Canvas.KEY_NUM0)); |
else |
canvas.mk.params.set_field_from_act(tab_entry_src[act_tab][act_y/2-1][0] , (keyCode - Canvas.KEY_NUM0)); |
canvas.mk.params.set_field_from_act(canvas.mk.params.field_positions[act_tab][act_y/2-1] , (keyCode - Canvas.KEY_NUM0)); |
editing_number=true; |
return; |
} |
else |
if ( keyCode==KEYCODE_CLEAR) |
canvas.mk.params.set_field_from_act(tab_entry_src[act_tab][act_y/2-1][0],0); |
canvas.mk.params.set_field_from_act(canvas.mk.params.field_positions[act_tab][act_y/2-1],0); |
} |
editing_number=false; |
194,30 → 140,30 |
{ |
case Canvas.RIGHT: |
switch(tab_entry_types[act_tab][act_y/2-1]) |
switch(canvas.mk.params.field_types[act_tab][act_y/2-1]) |
{ |
case PARAMTYPE_BOOLEAN: |
case PARAMTYPE_BITSWITCH: |
canvas.mk.params.field_from_act_xor(tab_entry_src[act_tab][act_y/2-1][0],1<<tab_entry_src[act_tab][act_y/2-1][1]); |
canvas.mk.params.field_from_act_xor((canvas.mk.params.field_positions[act_tab][act_y/2-1]/8),1<<(canvas.mk.params.field_positions[act_tab][act_y/2-1]%8)); |
break; |
case PARAMTYPE_BYTE: |
case PARAMTYPE_STICK: |
canvas.mk.params.field_from_act_add(tab_entry_src[act_tab][act_y/2-1][0],1); |
canvas.mk.params.field_from_act_add(canvas.mk.params.field_positions[act_tab][act_y/2-1],1); |
break; |
} |
break; |
case Canvas.LEFT: |
switch(tab_entry_types[act_tab][act_y/2-1]) |
switch(canvas.mk.params.field_types[act_tab][act_y/2-1]) |
{ |
case PARAMTYPE_BOOLEAN: |
canvas.mk.params.field_from_act_xor(tab_entry_src[act_tab][act_y/2-1][0],1<<tab_entry_src[act_tab][act_y/2-1][1]); |
case PARAMTYPE_BITSWITCH: |
canvas.mk.params.field_from_act_xor((canvas.mk.params.field_positions[act_tab][act_y/2-1]/8),1<<(canvas.mk.params.field_positions[act_tab][act_y/2-1]%8)); |
break; |
case PARAMTYPE_BYTE: |
canvas.mk.params.field_from_act_add(tab_entry_src[act_tab][act_y/2-1][0],-1); |
case PARAMTYPE_STICK: |
canvas.mk.params.field_from_act_add(canvas.mk.params.field_positions[act_tab][act_y/2-1],-1); |
break; |
} |
/DUBwise/src/MKParamsParser.java |
---|
13,8 → 13,21 |
{ |
// -- start generated code -- |
public final static int PARAMTYPE_BYTE=0; |
public final static int PARAMTYPE_BITSWITCH=1; |
public final static int PARAMTYPE_STICK=2; |
public final static String[][] all_tab_names={{"Altitude","Camera","Channels","Configuration","Gyro","Other","Stick","User"},{"Altitude","Camera","Channels","Configuration","Gyro","Looping","Other","Stick","User"},{"Altitude","Camera","Channels","Configuration","Coupling","Gyro","Looping","Other","Stick","User"},{"Altitude","Camera","Channels","Configuration","Coupling","Gyro","Looping","Other","Stick","User"}}; |
public final static String[][][] all_field_names={{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas ","Orientation","GPS"},{"ACC/Gyro Factor","P-Rate","I-Rate"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"Nick/Roll P","Nick/Roll D","Gier P"},{"Param 1","Param 2","Param 3","Param 4"}},{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas ","Orientation","GPS"},{"ACC/Gyro Factor","P-Rate","I-Rate"},{"Gas Limit","Threshold","UP","DOWN","LEFT","RIGHT"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"Nick/Roll P","Nick/Roll D","Gier P"},{"Param 1","Param 2","Param 3","Param 4"}},{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas ","Orientation","GPS"},{"Yaw pos. feedback","Yaw neg. feedback"},{"ACC/Gyro Factor","P-Rate","I-Rate","ACC/Gyro Comp","Drift-Compensation"},{"Gas Limit","Threshold","Hysterese","TurnOver Nick","TurnOver Roll","UP","DOWN","LEFT","RIGHT"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"Nick/Roll P","Nick/Roll D","Gier P"},{"Param 1","Param 2","Param 3","Param 4"}},{{"Min. Accelerate","Barometric D","Setpoint","Altitude P","Gain","Z-ACC"},{"Servo control","Nick compensation","Servo min","Servo max","Refresh rate","Invert Direction"},{"Nick","Roll","Accelerate","Gier","POTI1","POTI2","POTI3","POTI4"},{"ALTITUDE_CONTROL","Switch for Setpoint","Heading Hold","Compas ","Orientation","GPS"},{"Yaw pos. feedback","Yaw neg. feedback"},{"ACC/Gyro Factor","P-Rate","I-Rate","ACC/Gyro Comp","Drift-Compensation","Dynamic stability"},{"Gas Limit","Threshold","Hysterese","TurnOver Nick","TurnOver Roll","UP","DOWN","LEFT","RIGHT"},{"Min Gas","Max Gas","Compass Effect","Voltage Warning","Distress Gas","Distress Gas Time"},{"Nick/Roll P","Nick/Roll D","Gier P"},{"Param 1","Param 2","Param 3","Param 4","Param 5","Param 6","Param 7","Param 8"}}}; |
public final static int[][][] all_field_positions={{{9,10,11,12,13,14},{33,34,35,36,37,304},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69},{20,22,23},{18,19,21,24,25,26},{15,16,17},{29,30,31,32}},{{9,10,11,12,13,14},{33,34,35,36,37,328},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69},{20,22,23},{38,39,320,321,322,323},{18,19,21,24,25,26},{15,16,17},{29,30,31,32}},{{9,10,11,12,13,14},{33,34,35,36,37,384},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69},{41,42},{20,22,23,45,46},{38,39,40,43,44,376,377,378,379},{18,19,21,24,25,26},{15,16,17},{29,30,31,32}},{{9,10,11,12,13,14},{33,34,35,36,37,424},{0,1,2,3,4,5,6,7},{64,65,66,67,68,69},{41,42},{20,22,23,45,46,47},{38,39,40,43,44,416,417,418,419},{18,19,21,24,25,26},{15,16,17},{29,30,31,32,48,49,50,51}}}; |
public final static int[][][] all_field_types={{{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}},{{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}},{{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}},{{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH},{PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK,PARAMTYPE_STICK},{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE},{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}}}; |
public final static int[] all_name_positions={46,46,53,58}; |
public final static int[] all_lengths={58,58,65,70}; |
// -- end generated code -- |
public final static int MAX_PARAMSETS=20; |
public final static int MAX_PARAMLENGTH=70; |
public final static int MAX_PARAMLENGTH=100; |
public int[][] field; |
public String[] names={"Paramset 1","Paramset 2","Paramset 3","Paramset 4","Paramset 5"}; |
53,59 → 66,48 |
} |
//<--generated |
public static final int COMP_COUNT=3; |
// public string[COMP_COUNT] categorys; |
//-> |
public int[] param_type; |
public int[] param_pos; |
public int[] param_innerpos; |
public String[] tab_names; |
public String[][] field_names; |
public int[][] field_positions; |
public int[][] field_types; |
public int length; |
public int name_start; |
public void set_by_mk_data(int paramset_num,int[] in_arr,MKVersion version) |
{ |
param_type=new int[PARAM_COUNT]; |
param_pos=new int[PARAM_COUNT]; |
param_innerpos=new int[PARAM_COUNT]; |
param_type[PARAMID_STICK_ACCELERATE]=PARAMTYPE_BYTE; |
param_pos[PARAMID_STICK_ACCELERATE]=2; |
param_innerpos[PARAMID_STICK_ACCELERATE]=0; |
tab_names=all_tab_names[version.compatible-4]; |
field_names=all_field_names[version.compatible-4]; |
field_positions=all_field_positions[version.compatible-4]; |
field_types=all_field_types[version.compatible-4]; |
switch (version.compatible) |
name_start=all_name_positions[version.compatible-4]; |
length=all_lengths[version.compatible-4]; |
for ( int i=0;i<length;i++) |
field[paramset_num][i]=in_arr[i]; |
names[paramset_num]="" + (paramset_num+1) +": "; |
for ( int i=name_start;i<length;i++) |
{ |
case 4: |
case 5: |
for ( int i=0;i<58;i++) |
field[paramset_num][i]=in_arr[i]; |
names[paramset_num]="" + (paramset_num+1) +": "; |
for ( int i=46;i<58;i++) |
{ |
if(in_arr[i]==0)break; |
names[paramset_num]+=(char)in_arr[i]; |
} |
break; |
if(in_arr[i]==0)break; |
names[paramset_num]+=(char)in_arr[i]; |
} |
case 6: |
for ( int i=0;i<65;i++) |
field[paramset_num][i]=in_arr[i]; |
names[paramset_num]="" + (paramset_num+1) +": "; |
for ( int i=53;i<65;i++) |
{ |
if(in_arr[i]==0)break; |
names[paramset_num]+=(char)in_arr[i]; |
} |
break; |
case 7: |
for ( int i=0;i<70;i++) |
field[paramset_num][i]=in_arr[i]; |
names[paramset_num]="" + (paramset_num+1) +": "; |
for ( int i=58;i<70;i++) |
{ |
if(in_arr[i]==0)break; |
names[paramset_num]+=(char)in_arr[i]; |
} |
break; |
} |
} |
/DUBwise/src/MKStatusVoice.java |
---|
103,16 → 103,20 |
{ |
if (mk.connected&&(!mk.force_disconnect)) |
if (mk.connected&&(mk.debug_data.UBatt()!=-1)&&(!mk.force_disconnect)) |
{ |
int ubatt=mk.debug_data.UBatt(); |
start_playing((ubatt/10)+".mp3"); |
wait_for_end(); |
start_playing("komma.mp3"); |
wait_for_end(); |
start_playing((ubatt%10)+".mp3"); |
wait_for_end(); |
if((ubatt%10)!=0) |
{ |
start_playing("komma.mp3"); |
wait_for_end(); |
start_playing((ubatt%10)+".mp3"); |
wait_for_end(); |
} |
start_playing("volt.mp3"); |