132,21 → 132,22 |
|
} |
} |
public void start_playing(String name) |
|
|
public boolean play(String what) |
{ |
|
// start play |
try { |
act_player_state=PLAYERSTATE_PLAYING; |
player=init_player(name); |
player=init_player(what); |
player.start(); |
} |
catch (Exception e) { |
|
act_player_state=PLAYERSTATE_FIN; |
} |
} |
|
public void wait_for_end() |
{ |
// wait for end |
while (act_player_state!=PLAYERSTATE_FIN) |
{ |
try { Thread.sleep(5); } |
154,8 → 155,92 |
} |
|
|
return true; |
} |
|
// play number |
public void play(int what) |
{ |
|
if (what==0) |
{ |
play("0"); |
return; |
} |
|
if (((what/1000)%10)!=0) |
{ |
play((what/1000)%10); |
play("thousand"); |
what%=1000; |
} |
|
|
if (((what/100)%10)!=0) |
{ |
play((what/100)%10); |
play("hundred"); |
what%=100; |
|
} |
|
|
|
|
|
if (what<20) |
{ |
|
if (what<13) |
{ |
if(what!=0) |
play(""+what); |
} |
else |
{ |
switch (what%10) |
{ |
case 3: |
play("thir"); |
break; |
case 5: |
play("fiv"); |
break; |
default: |
play (""+what%10); |
} |
play("teen"); |
} |
} |
else |
{ |
|
switch (what/10) |
{ |
|
case 2: |
play("twen"); |
break; |
case 3: |
play("thir"); |
break; |
case 5: |
play("fiv"); |
break; |
default: |
play (""+what/10); |
} |
play("ty"); |
if ((what%10)!=0) |
play (what%10); |
} |
|
|
} |
|
|
|
|
int info_from_debug_set=-1; |
int volt_timeout=0; |
|
167,41 → 252,132 |
public int loop_cnt; |
public int volts_play_cnt; |
|
boolean conn_told=false; |
boolean disconn_told=true; |
boolean sender_warning_told=false; |
|
|
public void run() |
{ |
|
|
while(true) |
{ |
loop_cnt++; |
if ((canvas.mk!=null)&&(canvas.mk.connected)&&(canvas.settings.do_sound)&&(canvas.mk.UBatt()!=-1)&&(!canvas.mk.force_disconnect)) |
if ((canvas.mk!=null)&&(canvas.settings.do_sound)) |
{ |
|
if ((canvas.mk.connected)&&(!canvas.mk.force_disconnect)) |
{ |
if (!conn_told) |
{ |
if (canvas.mk.version.known) |
{ |
play("connected"); |
play("to"); |
play("mikrokopter"); |
play("version"); |
|
play(canvas.mk.version.major); |
play("point"); |
play(canvas.mk.version.minor); |
play("established"); |
conn_told=true; |
disconn_told=false; |
} |
} |
else |
{ |
|
|
if ((canvas.mk.SenderOkay()<1)) |
{ |
if (!sender_warning_told) |
{ |
play("warning"); |
play("rc-signal"); |
play("lost"); |
sender_warning_told=true; |
} |
} |
else |
sender_warning_told=false; |
|
|
if ((canvas.mk.AngleNick()>400)||(canvas.mk.AngleRoll()>400)||(canvas.mk.AngleNick()<-400)||(canvas.mk.AngleRoll()<-400)) |
{ |
play("tilt"); |
play("warning"); |
} |
|
volt_timeout--; |
|
if (info_from_debug_set!=canvas.mk.stats.debug_data_count) |
{ // only when newdata |
|
|
if (canvas.settings.do_volts_sound&&(volt_timeout<0)) |
{ |
play("battery"); |
play("at"); |
volts_play_cnt++; |
|
volt_timeout=(delay*1000)/BASE_SLEEP; |
int ubatt=canvas.mk.UBatt(); |
info_from_debug_set=canvas.mk.stats.debug_data_count; |
start_playing(""+(ubatt/10)); |
wait_for_end(); |
play((ubatt/10)); |
|
if((ubatt%10)!=0) |
{ |
start_playing("komma"); |
wait_for_end(); |
start_playing(""+(ubatt%10)); |
wait_for_end(); |
play("point"); |
play((ubatt%10)); |
|
} |
start_playing("volt"); |
wait_for_end(); |
play("volts"); |
|
|
play("altitude"); |
|
play( canvas.mk.Alt()/10); |
play("point"); |
play( canvas.mk.Alt()%10); |
play("meter"); |
|
|
if ((canvas.mk.stats.flying_time()!=0)) |
{ |
play("flight"); |
play("time"); |
switch (canvas.mk.stats.flying_time()/60) |
{ |
case 0: |
case 1: |
play("1"); |
play("minute"); |
break; |
default: |
play(canvas.mk.stats.flying_time()/60); |
play("minutes"); |
} |
|
switch (canvas.mk.stats.flying_time()%60) |
{ |
case 0: |
// case 1: |
// play("1"); |
break; |
default: |
play(canvas.mk.stats.flying_time()%60); |
play("minutes"); |
} |
|
|
|
} |
} |
|
|
|
if (canvas.settings.do_altimeter_sound) |
{ |
if (last_alt==-1) last_alt=canvas.mk.Alt(); |
209,17 → 385,15 |
|
if (last_alt>canvas.mk.Alt()+canvas.settings.altsteps) |
{ |
// start_playing("down"); |
play_down(); |
wait_for_end(); |
play("down"); |
|
last_alt-=canvas.settings.altsteps; |
} |
if (last_alt<canvas.mk.Alt()-canvas.settings.altsteps) |
|
{ |
//start_playing("up"); |
play_up(); |
wait_for_end(); |
play("up"); |
|
last_alt+=canvas.settings.altsteps; |
} |
} |
226,8 → 400,17 |
else |
last_alt=-1; |
} |
} |
} |
else |
{ |
if (!disconn_told) |
play("disconnected"); |
conn_told=false; |
disconn_told=true; |
|
} |
} |
|
try { |
Thread.sleep(BASE_SLEEP); |