Rev 82 |
Blame |
Last modification |
View Log
| RSS feed
/**************************************
*
* WatchDog for MK-Connection
*
* Author: Marcus -LiGi- Bueschleb
*
* see README for further Infos
*
*
**************************************/
public class MKWatchDog
implements Runnable,DUBwiseDefinitions
{
MKCommunicator mk=
null;
int debug_data_count_buff=-
123;
int lcd_data_count_buff=-
123;
public MKWatchDog
(MKCommunicator _mk
)
{
mk=_mk
;
new Thread( this ).
start(); // fire up main Thread
}
int lcd_timeout=
0; // detect if we lost packets
public int act_paramset=
0;
public void run
()
{
// get all params
int act_debug_name=
0;
while(true)
{
try { Thread.
sleep(30); } // 3000
catch (Exception e
) { }
if (mk.
connected&&(!mk.
force_disconnect))
{
if ( mk.
version.
major==-
1 )
{
try { Thread.
sleep(150); }
catch (Exception e
) { }
mk.
get_version();
}
else if ((act_paramset
<5)&&(mk.
root.
canvas.
user_intent==USER_INTENT_PARAMS
) &&(! mk.
root.
canvas.
ufo_prober.
is_navi()))
{
mk.
get_params(act_paramset+
1);
try { Thread.
sleep(450); }
catch (Exception e
) { }
if(mk.
params.
field[act_paramset
]!=
null)
act_paramset++
;
}
else if (( act_debug_name
<32)&&(mk.
root.
canvas.
user_intent==USER_INTENT_RAWDEBUG
))
{
mk.
get_debug_name(act_debug_name
);
try { Thread.
sleep(350); }
catch (Exception e
) { }
if (mk.
debug_data.
got_name[act_debug_name
]) act_debug_name++
;
}
/*
if (debug_data_count_buff==mk.debug_data_count)
{
// mk.close_connections(false);
}
*/
/*if (mk.version.major==-1)
mk.get_version();
else
*/
/*for ( int cnt=0;cnt<5;cnt++)
if (mk.params.field[cnt]==null)
{
mk.get_params(cnt+1);
break;
}*/
/*
for (int c=0;c<32;c++)
if (!mk.debug_data.got_name[c])
{
mk.get_debug_name(c);
break;
}
*/
else if ((lcd_data_count_buff
!=mk.
lcd_data_count)||
(mk.
lcd_data_count==
0)||
(lcd_timeout==
23))
{
lcd_timeout=
0;
lcd_data_count_buff=mk.
lcd_data_count;
mk.
LCD.
trigger_LCD();
try { Thread.
sleep(50); }
catch (Exception e
) { }
//debug_data_count_buff=mk.debug_data_count;
}
else
{
lcd_timeout++
;
}
}
}
}
}