973,8 → 973,9 |
} |
if (_bVoiceDistancePlay && !_bVoiceDistanceActive) |
{ |
Thread t = new Thread(()=>_mediaPlayer("Voice\\Distance.mp3")); |
t.Start(); |
ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\Distance.mp3"); |
//Thread t = new Thread(()=>_mediaPlayer("Voice\\Distance.mp3")); |
//t.Start(); |
_bVoiceDistanceActive = true; |
} |
_iDistanceJitter++; |
1512,8 → 1513,9 |
} |
if (_bVoiceVoltPlay && !_bCritVoiceVoltActive) |
{ |
Thread t = new Thread(() => _mediaPlayer("Voice\\CriticalBattery.mp3")); |
t.Start(); |
ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\CriticalBattery.mp3"); |
//Thread t = new Thread(() => _mediaPlayer("Voice\\CriticalBattery.mp3")); |
//t.Start(); |
_bCritVoiceVoltActive = true; |
} |
} |
1528,8 → 1530,9 |
|
if (_bVoiceVoltPlay && !_bWarnVoiceVoltActive) |
{ |
Thread t = new Thread(() => _mediaPlayer("Voice\\LowBattery.mp3")); |
t.Start(); |
ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\LowBattery.mp3"); |
//Thread t = new Thread(() => _mediaPlayer("Voice\\LowBattery.mp3")); |
//t.Start(); |
_bWarnVoiceVoltActive = true; |
} |
} |
1555,7 → 1558,7 |
case 10: //heading |
Dispatcher.Invoke((Action)(() => tbHeading.Text = sAnalogData[index] + "°")); |
Dispatcher.Invoke(() => ArtHor.rotate = iAnalogData[index]); |
Dispatcher.Invoke(() => ((CustomMarkerCopter)(copter.Shape)).rotate = iAnalogData[index]); |
//Dispatcher.Invoke(() => ((CustomMarkerCopter)(copter.Shape)).rotate = iAnalogData[index]); |
break; |
case 12: // SPI error |
Dispatcher.Invoke((Action)(() => tbSPI.Text = sAnalogData[index])); |
1599,8 → 1602,9 |
} |
if (_bVoiceMagneticFieldPlay && !_bVoiceMagneticFieldActive) |
{ |
Thread t = new Thread(() => _mediaPlayer("Voice\\MagneticField.mp3")); |
t.Start(); |
ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\MagneticField.mp3"); |
//Thread t = new Thread(() => _mediaPlayer("Voice\\MagneticField.mp3")); |
//t.Start(); |
_bVoiceMagneticFieldActive = true; |
} |
} |
1809,8 → 1813,9 |
} |
if (_bVoiceSatFixPlay && !_bVoiceSatFixActive) |
{ |
Thread th = new Thread(() => _mediaPlayer("Voice\\SatFixLost.mp3")); |
th.Start(); |
ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\SatFixLost.mp3"); |
//Thread th = new Thread(() => _mediaPlayer("Voice\\SatFixLost.mp3")); |
//th.Start(); |
_bVoiceSatFixActive = true; |
} |
|
1887,6 → 1892,25 |
Dispatcher.Invoke((Action)(() => tbCapacity.Text = iVal.ToString() + " mAh")); |
Dispatcher.Invoke((Action)(() => tbTopCapacity.Text = iVal.ToString() + " mAh")); |
|
//--------------- Ground speed ------------------------ |
i_16 = data[59]; |
i_16 = (Int16)(i_16 << 8); |
iVal = data[58] + i_16; |
Dispatcher.Invoke((Action)(() => tbNCGrSpeed.Text = ((double)(iVal)/100).ToString("0.00 m/s"))); |
|
//--------------- Heading north ------------------------ |
i_16 = data[61]; |
i_16 = (Int16)(i_16 << 8); |
iVal = data[60] + i_16; |
Dispatcher.Invoke((Action)(() => tbHeadingNorth.Text = iVal.ToString() + " °")); |
|
//--------------- Heading compass ------------------------ |
i_16 = data[63]; |
i_16 = (Int16)(i_16 << 8); |
iVal = data[62] + i_16; |
Dispatcher.Invoke((Action)(() => tbHeadingCompass.Text = iVal.ToString() + " °")); |
//Dispatcher.Invoke(() => ArtHor.rotate = iVal); |
Dispatcher.Invoke(() => ((CustomMarkerCopter)(copter.Shape)).rotate = iVal); |
//--------------- Flying time ------------------------ |
i_16 = data[56]; |
i_16 = (Int16)(i_16 << 8); |
1921,8 → 1945,9 |
} |
if (_bVoiceRCLevelPlay && !_bVoiceRCLevelActive) |
{ |
Thread th = new Thread(() => _mediaPlayer("Voice\\RCLevel.mp3")); |
th.Start(); |
ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\MagneticField.mp3"); |
//Thread th = new Thread(() => _mediaPlayer("Voice\\RCLevel.mp3")); |
//th.Start(); |
_bVoiceRCLevelActive = true; |
} |
_iRCLevelJitter++; |
2547,12 → 2572,12 |
|
#endregion controller messages |
|
void _mediaPlayer(string file) |
void _mediaPlayer(object file) |
{ |
if (File.Exists(file)) |
if (File.Exists((string)file)) |
{ |
MediaPlayer.MediaPlayer mp = new MediaPlayer.MediaPlayer(); |
mp.Open(file); |
mp.Open((string)file); |
mp.Play(); |
} |
} |