Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 58 → Rev 59

/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");