Subversion Repositories Projects

Rev

Rev 265 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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