/DUBwise/trunk/shared/src/MKCommunicator.java |
---|
29,6 → 29,9 |
public class MKCommunicator |
implements Runnable,DUBwiseDefinitions |
{ |
public int angle_nick=-4242; |
public int angle_roll=-4242; |
public byte bl_retrys=0; |
public boolean init_bootloader=false; |
677,6 → 680,9 |
break; |
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]); |
stats.angle_data_count++; |
break; |
/DUBwise/trunk/shared/src/MKDebugData.java |
---|
61,17 → 61,26 |
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] ); |
//(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); |
// } |
analog[i]=(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); |
} |
motor_complete=motor_val(0)+motor_val(1)+motor_val(2)+motor_val(3); |
/DUBwise/trunk/shared/src/MKWatchDog.java |
---|
148,7 → 148,12 |
case USER_INTENT_EXTERNAL_CONTROL: |
if (resend_check(mk.stats.external_control_confirm_frame_count)) |
{ |
mk.send_extern_control(); |
mk.send_extern_control(); |
mk.send_extern_control(); |
mk.send_extern_control(); |
} |
break; |