Rev 206 |
Rev 223 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
/*********************************************
*
* class representing the DebugData Structure
*
* Author: Marcus -LiGi- Bueschleb
*
* see README for further Infos
*
********************************************/
package org.ligi.ufo;
public class MKDebugData
{
public int[] analog
;
public String[] names
;
public boolean[] got_name
;
public int motor_complete=-
1;
private int i
;
public int motor_val
(int id
) { return analog
[12+id
]; }
public int nick_int
() { return analog
[0]; }
public int roll_int
() { return analog
[1]; }
public int accnick
() { return analog
[2]; }
public int accroll
() { return analog
[3]; }
public int UBatt
() { return analog
[9]; }
public int SenderOkay
() { return analog
[10]; }
public MKDebugData
()
{
names=
new String[32];
analog=
new int[32];
got_name=
new boolean[32];
for (i=
0;i
<32;i++
)
{
analog
[i
]=-
1;
names
[i
]=
"-#"+i+
"->";
got_name
[i
]=
false;
}
}
public void set_names_by_mk_data
(int[] in_arr
)
{
int id=in_arr
[0];
names
[id
]=
"";
for (i=
0;i
<16;i++
)
{
if ((char)in_arr
[i+
1]!=
' ')
names
[id
]+=
(char)in_arr
[i+
1];
got_name
[id
]=
true;
}
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);
// }
motor_complete=motor_val
(0)+motor_val
(1)+motor_val
(2)+motor_val
(3);
}
}