/DUBwise/trunk/shared/src/MKCommunicator.java |
---|
36,7 → 36,7 |
public boolean init_bootloader=false; |
public byte lib_version_major=0; |
public byte lib_version_minor=3; |
public byte lib_version_minor=4; |
public String lib_version_str() |
{ |
513,11 → 513,11 |
} |
public void write_params() |
public void write_params(int to) |
{ |
params.update_backup(); |
params.update_backup(to); |
wait4send(); |
send_command(FC_SLAVE_ADDR,'s',params.field_bak[params.act_paramset]); |
send_command(FC_SLAVE_ADDR,'s',params.field_bak[to]); |
} |
public void send_command(int modul,char cmd) |
681,8 → 681,8 |
case 'w': |
int[] dec=Decode64(data,3,len-3); |
angle_nick=debug_data.parse_signed_int_2(dec[0],dec[1]); |
angle_roll=debug_data.parse_signed_int_2(dec[2],dec[3]); |
angle_nick=MKHelper.parse_signed_int_2(dec[0],dec[1]); |
angle_roll=MKHelper.parse_signed_int_2(dec[2],dec[3]); |
stats.angle_data_count++; |
break; |
/DUBwise/trunk/shared/src/MKDebugData.java |
---|
61,21 → 61,13 |
names[id]+=":"; |
} |
public int parse_signed_int_2(int i1,int i2) |
{ |
int res=(int)((i2<<8)|i1); |
if ((res&(1<<15))!=0) |
return -(res&(0xFFFF-1))^(0xFFFF-1); |
else |
return res; |
} |
public void set_by_mk_data(int[] in_arr,MKVersion version) |
{ |
for (i=0;i<32;i++) |
// { |
analog[i]=parse_signed_int_2( in_arr[2+i*2], in_arr[3+i*2] ); |
analog[i]=MKHelper.parse_signed_int_2( in_arr[2+i*2], in_arr[3+i*2] ); |
//(int)((in_arr[3+i*2]<<8) | in_arr[2+i*2]); |
// if ((analog[i]&(1<<15))!=0) |
//analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1); |
/DUBwise/trunk/shared/src/MKHelper.java |
---|
0,0 → 1,21 |
package org.ligi.ufo; |
public final class MKHelper |
{ |
public final static int parse_signed_int_2(int i1,int i2) |
{ |
int res=(int)((i2<<8)|i1); |
if ((res&(1<<15))!=0) |
return -(res&(0xFFFF-1))^(0xFFFF-1); |
else |
return res; |
} |
public final static int parse_unsigned_int_2(int i1,int i2) |
{ |
return (int)((i2<<8)|i1); |
} |
} |
/DUBwise/trunk/shared/src/MKParamsParser.java |
---|
33,7 → 33,7 |
public int[][] field; |
public int[][] field_bak; |
public String[] names={"","","","",""}; |
// public String[] names={"","","","",""}; |
public int act_paramset=0; |
74,7 → 74,7 |
{ |
if (nme.length()>10) |
nme=nme.substring(0,10); |
names[act_paramset]=nme; |
// names[act_paramset]=nme; |
int nme_pos=0; |
while(nme_pos<nme.length()) |
{ |
123,16 → 123,31 |
set_by_mk_data(field_bak[act_paramset]); |
} |
public void update_backup() |
public void update_backup(int to) |
{ |
for ( int i=0 ; i<field[act_paramset].length;i++) |
field_bak[act_paramset][i+2]=field[act_paramset][i]; |
{ |
field_bak[to][i+2]=field[act_paramset][i]; |
field[to][i]=field[act_paramset][i]; |
} |
field_bak[act_paramset][0]=act_paramset+1; |
field_bak[act_paramset][1]=params_version; |
field_bak[to][0]=to+1; |
field_bak[to][1]=params_version; |
} |
public String getParamName(int paramset) |
{ |
String res=""; |
for ( int i=name_start;i<length;i++) |
{ |
if(field[paramset][i]==0)break; |
res+=(char)field[paramset][i]; |
} |
return res; |
} |
public void set_by_mk_data(int[] in_arr) |
{ |
params_version=in_arr[1]; |
162,7 → 177,7 |
field[last_parsed_paramset]=new int[length]; |
field_bak[last_parsed_paramset]=new int[length+2]; |
names[last_parsed_paramset]=""; |
// names[last_parsed_paramset]=""; |
for ( int i=0;i<length+2;i++) |
{ |
if (i<length) |
170,11 → 185,6 |
field_bak[last_parsed_paramset][i]=in_arr[i]; |
} |
for ( int i=name_start;i<length;i++) |
{ |
if(in_arr[i+2]==0)break; |
names[last_parsed_paramset]+=(char)in_arr[i+2]; |
} |
for (int i=0;i<10;i++) |
stick_names[i]="not associated"; |