Subversion Repositories Projects

Rev

Rev 222 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 222 Rev 223
1
/*********************************************
1
/*********************************************
2
 *                                            
2
 *                                            
3
 * class representing the DebugData Structure
3
 * class representing the DebugData Structure
4
 *                                            
4
 *                                            
5
 * Author:        Marcus -LiGi- Bueschleb    
5
 * Author:        Marcus -LiGi- Bueschleb    
6
 *
6
 *
7
 * see README for further Infos
7
 * see README for further Infos
8
 *
8
 *
9
 ********************************************/
9
 ********************************************/
10
 
10
 
11
package org.ligi.ufo;
11
package org.ligi.ufo;
12
 
12
 
13
public class MKDebugData
13
public class MKDebugData
14
{
14
{
15
 
15
 
16
    public int[] analog;
16
    public int[] analog;
17
    public String[] names;
17
    public String[] names;
18
    public boolean[] got_name;
18
    public boolean[] got_name;
19
    public int motor_complete=-1;
19
    public int motor_complete=-1;
20
 
20
 
21
   
21
   
22
    private int i;
22
    private int i;
23
 
23
 
24
    public int motor_val(int id) {      return analog[12+id];    }
24
    public int motor_val(int id) {      return analog[12+id];    }
25
    public int nick_int() {     return analog[0];    }
25
    public int nick_int() {     return analog[0];    }
26
    public int roll_int() {     return analog[1];    }
26
    public int roll_int() {     return analog[1];    }
27
    public int accnick() {      return analog[2];    }
27
    public int accnick() {      return analog[2];    }
28
    public int accroll() {      return analog[3];    }
28
    public int accroll() {      return analog[3];    }
29
 
29
 
30
 
30
 
31
    public int UBatt() {        return analog[9];    }
31
    public int UBatt() {        return analog[9];    }
32
    public int SenderOkay() {   return analog[10];    }
32
    public int SenderOkay() {   return analog[10];    }
33
 
33
 
34
 
34
 
35
   
35
   
36
 
36
 
37
    public MKDebugData()
37
    public MKDebugData()
38
    {
38
    {
39
        names=new String[32];
39
        names=new String[32];
40
        analog=new int[32];
40
        analog=new int[32];
41
        got_name=new boolean[32];
41
        got_name=new boolean[32];
42
        for (i=0;i<32;i++)
42
        for (i=0;i<32;i++)
43
            {
43
            {
44
            analog[i]=-1;
44
            analog[i]=-1;
45
            names[i]="-#"+i+"->";
45
            names[i]="-#"+i+"->";
46
            got_name[i]=false;
46
            got_name[i]=false;
47
            }
47
            }
48
 
48
 
49
    }
49
    }
50
 
50
 
51
    public void set_names_by_mk_data(int[] in_arr)
51
    public void set_names_by_mk_data(int[] in_arr)
52
    {
52
    {
53
        int id=in_arr[0];
53
        int id=in_arr[0];
54
        names[id]="";
54
        names[id]="";
55
        for (i=0;i<16;i++)
55
        for (i=0;i<16;i++)
56
            {
56
            {
57
                if ((char)in_arr[i+1]!=' ')
57
                if ((char)in_arr[i+1]!=' ')
58
                    names[id]+=(char)in_arr[i+1];
58
                    names[id]+=(char)in_arr[i+1];
59
                got_name[id]=true;
59
                got_name[id]=true;
60
            }
60
            }
61
        names[id]+=":";
61
        names[id]+=":";
62
    }
62
    }
63
 
-
 
64
    public int parse_signed_int_2(int i1,int i2)
-
 
65
    {
-
 
66
        int res=(int)((i2<<8)|i1);
-
 
67
        if ((res&(1<<15))!=0)
-
 
68
            return -(res&(0xFFFF-1))^(0xFFFF-1);
-
 
69
        else
-
 
70
            return res;
-
 
71
 
63
 
72
    }
64
 
73
    public void set_by_mk_data(int[] in_arr,MKVersion version)
65
    public void set_by_mk_data(int[] in_arr,MKVersion version)
74
    {
66
    {
75
 
67
 
76
        for (i=0;i<32;i++)
68
        for (i=0;i<32;i++)
77
            //      {
69
            //      {
78
                analog[i]=parse_signed_int_2( in_arr[2+i*2], in_arr[3+i*2] );
70
                analog[i]=MKHelper.parse_signed_int_2( in_arr[2+i*2], in_arr[3+i*2] );
79
                    //(int)((in_arr[3+i*2]<<8) | in_arr[2+i*2]);
71
                    //(int)((in_arr[3+i*2]<<8) | in_arr[2+i*2]);
80
                    //          if ((analog[i]&(1<<15))!=0)
72
                    //          if ((analog[i]&(1<<15))!=0)
81
                    //analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1);
73
                    //analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1);
82
        //          }
74
        //          }
83
   
75
   
84
        motor_complete=motor_val(0)+motor_val(1)+motor_val(2)+motor_val(3);
76
        motor_complete=motor_val(0)+motor_val(1)+motor_val(2)+motor_val(3);
85
 
77
 
86
 
78
 
87
    }
79
    }
88
 
80
 
89
 
81
 
90
 
82
 
91
}
83
}
92
 
84