Subversion Repositories Projects

Rev

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

Rev 82 Rev 135
1
/**************************************
1
/**************************************
2
 *
2
 *
3
 * WatchDog for MK-Connection
3
 * WatchDog for MK-Connection
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
 
11
 
12
public class MKWatchDog
12
public class MKWatchDog
13
   implements Runnable
13
    implements Runnable,DUBwiseDefinitions
14
{
14
{
15
 
15
 
16
    MKCommunicator mk=null;
16
    MKCommunicator mk=null;
17
 
17
 
18
    int debug_data_count_buff=-123;
18
    int debug_data_count_buff=-123;
19
    int lcd_data_count_buff=-123;
19
    int lcd_data_count_buff=-123;
20
 
20
 
21
 
21
 
22
    public MKWatchDog(MKCommunicator _mk)
22
    public MKWatchDog(MKCommunicator _mk)
23
    {
23
    {
24
 
24
 
25
        mk=_mk;
25
        mk=_mk;
26
        new Thread( this ).start(); // fire up main Thread 
26
        new Thread( this ).start(); // fire up main Thread 
27
    }
27
    }
-
 
28
 
-
 
29
    int lcd_timeout=0; // detect if we lost packets
-
 
30
 
-
 
31
    public int act_paramset=0;
28
 
32
 
29
    public void run()
33
    public void run()
-
 
34
    {
-
 
35
       
-
 
36
 
-
 
37
 
-
 
38
       
-
 
39
        // get all params
-
 
40
       
-
 
41
        int act_debug_name=0;
-
 
42
 
30
    {
43
 
31
        while(true)
44
        while(true)
-
 
45
            {
32
            {
46
 
33
                try { Thread.sleep(3000); }
47
                try { Thread.sleep(30); } // 3000
34
                catch (Exception e)  {   }
48
                catch (Exception e)  {   }
35
               
49
               
36
                if (mk.connected&&(!mk.force_disconnect))
50
                if (mk.connected&&(!mk.force_disconnect))
37
                    {
51
                    {
-
 
52
 
38
                        if (debug_data_count_buff==mk.debug_data_count)
53
                        if ( mk.version.major==-1 )
39
                            {
54
                            {
-
 
55
                                try { Thread.sleep(150); }
-
 
56
                                catch (Exception e)  {   }
40
                                //                              mk.close_connections(false);
57
                                mk.get_version();
41
                            }
58
                            }
42
                        if ((lcd_data_count_buff==mk.lcd_data_count)||(mk.lcd_data_count==0))
59
                        else  if ((act_paramset<5)&&(mk.root.canvas.user_intent==USER_INTENT_PARAMS) &&(! mk.root.canvas.ufo_prober.is_navi()))
-
 
60
                            {
43
                            mk.LCD.trigger_LCD();
61
                                mk.get_params(act_paramset+1);
44
               
62
                               
45
                        debug_data_count_buff=mk.debug_data_count;
63
                                try { Thread.sleep(450); }
-
 
64
                                catch (Exception e)  {   }
-
 
65
                               
-
 
66
                                if(mk.params.field[act_paramset]!=null)
-
 
67
                                    act_paramset++;
-
 
68
                            }
-
 
69
                        else if (( act_debug_name<32)&&(mk.root.canvas.user_intent==USER_INTENT_RAWDEBUG))
-
 
70
                            {
-
 
71
                                mk.get_debug_name(act_debug_name);
46
                        lcd_data_count_buff=mk.lcd_data_count;
-
 
47
 
-
 
-
 
72
                               
-
 
73
                                try { Thread.sleep(350); }
-
 
74
                                catch (Exception e)  {   }
-
 
75
                               
-
 
76
 
-
 
77
                                if (mk.debug_data.got_name[act_debug_name]) act_debug_name++;
-
 
78
                            }
-
 
79
                   
-
 
80
 
-
 
81
               
-
 
82
           
-
 
83
 
-
 
84
 
-
 
85
 
-
 
86
                        /*
-
 
87
 
-
 
88
 
-
 
89
                        if (debug_data_count_buff==mk.debug_data_count)
-
 
90
                            {
-
 
91
                                //                              mk.close_connections(false);
-
 
92
                            }
-
 
93
 
-
 
94
                        */
48
                       
95
 
49
 
96
                        /*if (mk.version.major==-1)
50
                        if (mk.version.major==-1)
97
                            mk.get_version();
51
                            mk.get_version();
98
                        else
52
 
99
                        */  
53
                        for ( int cnt=0;cnt<5;cnt++)
100
                        /*for ( int cnt=0;cnt<5;cnt++)
54
                            if (mk.params.field[cnt]==null)
101
                            if (mk.params.field[cnt]==null)
55
                                {
102
                                {
56
                                    mk.get_params(cnt+1);
103
                                    mk.get_params(cnt+1);
57
                                    break;
104
                                    break;
58
                                }
105
                                    }*/
59
 
106
                        /*
60
                        for (int c=0;c<32;c++)
107
                        for (int c=0;c<32;c++)
61
                            if (!mk.debug_data.got_name[c])
108
                            if (!mk.debug_data.got_name[c])
62
                                {
109
                                {
63
                                    mk.get_debug_name(c);
110
                                    mk.get_debug_name(c);
64
                                    break;
111
                                    break;
65
                                }
112
                                }
-
 
113
                        */
-
 
114
 
-
 
115
                        else if ((lcd_data_count_buff!=mk.lcd_data_count)||(mk.lcd_data_count==0)||(lcd_timeout==23))
-
 
116
                            {
-
 
117
                                lcd_timeout=0;
-
 
118
                                lcd_data_count_buff=mk.lcd_data_count;
-
 
119
                                mk.LCD.trigger_LCD();
-
 
120
                                try { Thread.sleep(50); }
-
 
121
                                catch (Exception e)  {   }
-
 
122
                                //debug_data_count_buff=mk.debug_data_count;
-
 
123
                               
-
 
124
                            }
-
 
125
                        else
-
 
126
                            {
-
 
127
                                lcd_timeout++;
-
 
128
                            }
-
 
129
                       
66
                       
130
 
67
                       
131
                       
68
                    }
132
                    }
69
               
133
               
70
 
134
 
71
            }
135
            }
72
    }
136
    }
73
 
137
 
74
   
138
   
75
}
139
}
76
 
140