Subversion Repositories FlightCtrl

Rev

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

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