Rev 206 | Rev 223 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
206 | 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.ufo; |
||
12 | |||
13 | public class MKDebugData |
||
14 | { |
||
15 | |||
16 | public int[] analog; |
||
17 | public String[] names; |
||
18 | public boolean[] got_name; |
||
19 | public int motor_complete=-1; |
||
20 | |||
21 | |||
22 | private int i; |
||
23 | |||
24 | public int motor_val(int id) { return analog[12+id]; } |
||
25 | public int nick_int() { return analog[0]; } |
||
26 | public int roll_int() { return analog[1]; } |
||
27 | public int accnick() { return analog[2]; } |
||
28 | public int accroll() { return analog[3]; } |
||
29 | |||
30 | |||
31 | public int UBatt() { return analog[9]; } |
||
32 | public int SenderOkay() { return analog[10]; } |
||
33 | |||
34 | |||
35 | |||
36 | |||
37 | public MKDebugData() |
||
38 | { |
||
39 | names=new String[32]; |
||
40 | analog=new int[32]; |
||
41 | got_name=new boolean[32]; |
||
42 | for (i=0;i<32;i++) |
||
43 | { |
||
44 | analog[i]=-1; |
||
45 | names[i]="-#"+i+"->"; |
||
46 | got_name[i]=false; |
||
47 | } |
||
48 | |||
49 | } |
||
50 | |||
51 | public void set_names_by_mk_data(int[] in_arr) |
||
52 | { |
||
53 | int id=in_arr[0]; |
||
54 | names[id]=""; |
||
55 | for (i=0;i<16;i++) |
||
56 | { |
||
57 | if ((char)in_arr[i+1]!=' ') |
||
58 | names[id]+=(char)in_arr[i+1]; |
||
59 | got_name[id]=true; |
||
60 | } |
||
61 | names[id]+=":"; |
||
62 | } |
||
63 | |||
222 | ligi | 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 | |||
72 | } |
||
206 | ligi | 73 | public void set_by_mk_data(int[] in_arr,MKVersion version) |
74 | { |
||
75 | |||
76 | for (i=0;i<32;i++) |
||
222 | ligi | 77 | // { |
78 | analog[i]=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]); |
||
80 | // if ((analog[i]&(1<<15))!=0) |
||
81 | //analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1); |
||
82 | // } |
||
206 | ligi | 83 | |
84 | motor_complete=motor_val(0)+motor_val(1)+motor_val(2)+motor_val(3); |
||
85 | |||
86 | |||
87 | } |
||
88 | |||
89 | |||
90 | |||
91 | } |