Subversion Repositories Projects

Rev

Rev 266 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 266 Rev 381
1
/********************************************************************************
1
/********************************************************************************
2
 * Statistics from MK-Connection ( needed for 2. Thread and Readability of Code )
2
 * Statistics from MK-Connection ( needed for 2. Thread and Readability of Code )
3
 *                                                                              
3
 *                                                                              
4
 * Author:        Marcus -LiGi- Bueschleb                                        
4
 * Author:        Marcus -LiGi- Bueschleb                                        
5
 *
5
 *
6
 * see README for further Infos
6
 * see README for further Infos
7
 *
7
 *
8
********************************************************************************/
8
********************************************************************************/
9
 
9
 
10
package org.ligi.ufo;
10
package org.ligi.ufo;
11
 
11
 
12
public class MKStatistics
12
public class MKStatistics
13
 
13
 
14
{
14
{
15
    public int bytes_in=0;
15
    public int bytes_in=0;
16
    public int bytes_out=0;
16
    public int bytes_out=0;
17
 
17
 
18
 
18
 
19
 
19
 
20
    public int resend_count=0;
20
    public int resend_count=0;
-
 
21
    public int crc_fail=0;
21
 
22
 
22
    public int debug_data_count=0;
23
    public int debug_data_count=0;
23
    public int debug_names_count=0;
24
    public int debug_names_count=0;
24
    public int angle_data_count=0;
25
    public int angle_data_count=0;
25
    public int version_data_count=0;
26
    public int version_data_count=0;
26
    public int other_data_count=0;
27
    public int other_data_count=0;
27
    public int lcd_data_count=0;
28
    public int lcd_data_count=0;
28
    public int params_data_count=0;
29
    public int params_data_count=0;
29
    public int navi_data_count=0;
30
    public int navi_data_count=0;
30
    public int stick_data_count=0;
31
    public int stick_data_count=0;
31
    public int external_control_confirm_frame_count=0;
32
    public int external_control_confirm_frame_count=0;
32
 
33
 
33
 
34
 
34
    public int debug_data_request_count=0;
35
    public int debug_data_request_count=0;
35
    public int debug_name_request_count=0;
36
    public int debug_name_request_count=0;
36
    public int version_data_request_count=0;
37
    public int version_data_request_count=0;
37
    public int lcd_data_request_count=0;
38
    public int lcd_data_request_count=0;
38
    public int params_data_request_count=0;
39
    public int params_data_request_count=0;
39
    //    public int navi_data_count=0;
40
    //    public int navi_data_count=0;
40
    public int stick_data_request_count=0;
41
    public int stick_data_request_count=0;
41
    public int motortest_request_count=0;
42
    public int motortest_request_count=0;
42
    public int external_control_request_count=0;
43
    public int external_control_request_count=0;
43
 
44
 
44
 
45
 
45
 
46
 
46
    public long flying_start=-1;
47
    public long flying_start=-1;
47
   
48
   
48
    public int heading_start=0;
49
    public int heading_start=0;
49
    public int last_heading=0;
50
    public int last_heading=0;
50
    public int max_speed=0;
51
    public int max_speed=0;
51
 
52
 
52
 
53
 
53
    public long speed_sum=0;
54
    public long speed_sum=0;
54
    public int speed_cnt=1;
55
    public int speed_cnt=1;
55
 
56
 
56
    public int max_alt=0;
57
    public int max_alt=0;
-
 
58
 
-
 
59
 
-
 
60
    public MKStatistics()
-
 
61
    {
-
 
62
        reset();
57
 
63
    }
58
    public int avg_speed()
64
    public int avg_speed()
59
    {
65
    {
60
        return (int)(speed_sum/speed_cnt);
66
        return (int)(speed_sum/speed_cnt);
61
    }
67
    }
62
    public void process_speed(int speed)
68
    public void process_speed(int speed)
63
    {
69
    {
64
        if (speed>max_speed)
70
        if (speed>max_speed)
65
            max_speed=speed;
71
            max_speed=speed;
66
        speed_sum+=speed;
72
        speed_sum+=speed;
67
        speed_cnt++;
73
        speed_cnt++;
68
    }
74
    }
69
 
75
 
70
    public void process_alt(int alt)
76
    public void process_alt(int alt)
71
    {
77
    {
72
        if (alt>max_alt)
78
        if (alt>max_alt)
73
            max_alt=alt;
79
            max_alt=alt;
74
 
80
 
75
    }
81
    }
76
    public void process_mkflags(int flags)
82
    public void process_mkflags(int flags)
77
    {
83
    {
78
        if (flags==0)
84
        if (flags==0)
79
           
-
 
80
            flying_start=-1;
85
            flying_start=-1;
81
           
86
           
82
        else
87
        else
83
           
88
           
84
            if (flying_start==-1)
89
            if (flying_start==-1)
85
                {
90
                {
86
                    flying_start=System.currentTimeMillis();
91
                    flying_start=System.currentTimeMillis();
87
                    heading_start=last_heading;
92
                    heading_start=last_heading;
88
                }
93
                }
89
 
94
 
90
    }
95
    }
91
 
96
 
92
    public void process_compas(int heading)
97
    public void process_compas(int heading)
93
    {
98
    {
94
        last_heading=heading;
99
        last_heading=heading;
95
    }
100
    }
96
 
101
 
97
    public int flying_time()
102
    public int flying_time()
98
    {
103
    {
99
        if (flying_start!=-1)
104
        if (flying_start!=-1)
100
            return (int)((System.currentTimeMillis()-flying_start)/1000);
105
            return (int)((System.currentTimeMillis()-flying_start)/1000);
101
        else
106
        else
102
            return 0;
107
            return 0;
103
    }
108
    }
104
 
109
 
105
   
110
   
106
    public void reset()
111
    public void reset()
107
    {
112
    {
-
 
113
        flying_start=-1;
108
 
114
        crc_fail=0;
109
        debug_data_count=0;
115
        debug_data_count=0;
110
        debug_names_count=0;
116
        debug_names_count=0;
111
        angle_data_count=0;
117
        angle_data_count=0;
112
        version_data_count=0;
118
        version_data_count=0;
113
        other_data_count=0;
119
        other_data_count=0;
114
        lcd_data_count=0;
120
        lcd_data_count=0;
115
        params_data_count=0;
121
        params_data_count=0;
116
        navi_data_count=0;
122
        navi_data_count=0;
117
        bytes_in=0;
123
        bytes_in=0;
118
        bytes_out=0;
124
        bytes_out=0;
119
        stick_data_count=0;
125
        stick_data_count=0;
120
 
126
 
121
 
127
 
122
        debug_data_request_count=0;
128
        debug_data_request_count=0;
123
        debug_name_request_count=0;
129
        debug_name_request_count=0;
124
        version_data_request_count=0;
130
        version_data_request_count=0;
125
        lcd_data_request_count=0; //
131
        lcd_data_request_count=0; //
126
        params_data_request_count=0; //
132
        params_data_request_count=0; //
127
        stick_data_request_count=0;
133
        stick_data_request_count=0;
128
        motortest_request_count=0; //
134
        motortest_request_count=0; //
129
 
135
 
130
 
136
 
131
    }
137
    }
132
   
138
   
133
}
139
}
134
 
140