Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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