Rev 2385 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2385 | Rev 2398 | ||
---|---|---|---|
Line 971... | Line 971... | ||
971 | Dispatcher.Invoke(() => stbDistanceWarnAnim.Begin()); |
971 | Dispatcher.Invoke(() => stbDistanceWarnAnim.Begin()); |
972 | _bAnimDistanceActive = true; |
972 | _bAnimDistanceActive = true; |
973 | } |
973 | } |
974 | if (_bVoiceDistancePlay && !_bVoiceDistanceActive) |
974 | if (_bVoiceDistancePlay && !_bVoiceDistanceActive) |
975 | { |
975 | { |
- | 976 | ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\Distance.mp3"); |
|
976 | Thread t = new Thread(()=>_mediaPlayer("Voice\\Distance.mp3")); |
977 | //Thread t = new Thread(()=>_mediaPlayer("Voice\\Distance.mp3")); |
977 | t.Start(); |
978 | //t.Start(); |
978 | _bVoiceDistanceActive = true; |
979 | _bVoiceDistanceActive = true; |
979 | } |
980 | } |
980 | _iDistanceJitter++; |
981 | _iDistanceJitter++; |
981 | } |
982 | } |
982 | } |
983 | } |
Line 1510... | Line 1511... | ||
1510 | Dispatcher.Invoke(() => stbVoltageCritAnim.Begin()); |
1511 | Dispatcher.Invoke(() => stbVoltageCritAnim.Begin()); |
1511 | _bCritAnimVoltActive = true; |
1512 | _bCritAnimVoltActive = true; |
1512 | } |
1513 | } |
1513 | if (_bVoiceVoltPlay && !_bCritVoiceVoltActive) |
1514 | if (_bVoiceVoltPlay && !_bCritVoiceVoltActive) |
1514 | { |
1515 | { |
- | 1516 | ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\CriticalBattery.mp3"); |
|
1515 | Thread t = new Thread(() => _mediaPlayer("Voice\\CriticalBattery.mp3")); |
1517 | //Thread t = new Thread(() => _mediaPlayer("Voice\\CriticalBattery.mp3")); |
1516 | t.Start(); |
1518 | //t.Start(); |
1517 | _bCritVoiceVoltActive = true; |
1519 | _bCritVoiceVoltActive = true; |
1518 | } |
1520 | } |
1519 | } |
1521 | } |
1520 | else |
1522 | else |
1521 | { |
1523 | { |
Line 1526... | Line 1528... | ||
1526 | } |
1528 | } |
1527 | _bCritVoiceVoltActive = false; |
1529 | _bCritVoiceVoltActive = false; |
Line 1528... | Line 1530... | ||
1528 | 1530 | ||
1529 | if (_bVoiceVoltPlay && !_bWarnVoiceVoltActive) |
1531 | if (_bVoiceVoltPlay && !_bWarnVoiceVoltActive) |
- | 1532 | { |
|
1530 | { |
1533 | ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\LowBattery.mp3"); |
1531 | Thread t = new Thread(() => _mediaPlayer("Voice\\LowBattery.mp3")); |
1534 | //Thread t = new Thread(() => _mediaPlayer("Voice\\LowBattery.mp3")); |
1532 | t.Start(); |
1535 | //t.Start(); |
1533 | _bWarnVoiceVoltActive = true; |
1536 | _bWarnVoiceVoltActive = true; |
1534 | } |
1537 | } |
1535 | } |
1538 | } |
1536 | } |
1539 | } |
Line 1553... | Line 1556... | ||
1553 | Dispatcher.Invoke(() => tbTopCurrent.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 A")); |
1556 | Dispatcher.Invoke(() => tbTopCurrent.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 A")); |
1554 | break; |
1557 | break; |
1555 | case 10: //heading |
1558 | case 10: //heading |
1556 | Dispatcher.Invoke((Action)(() => tbHeading.Text = sAnalogData[index] + "°")); |
1559 | Dispatcher.Invoke((Action)(() => tbHeading.Text = sAnalogData[index] + "°")); |
1557 | Dispatcher.Invoke(() => ArtHor.rotate = iAnalogData[index]); |
1560 | Dispatcher.Invoke(() => ArtHor.rotate = iAnalogData[index]); |
1558 | Dispatcher.Invoke(() => ((CustomMarkerCopter)(copter.Shape)).rotate = iAnalogData[index]); |
1561 | //Dispatcher.Invoke(() => ((CustomMarkerCopter)(copter.Shape)).rotate = iAnalogData[index]); |
1559 | break; |
1562 | break; |
1560 | case 12: // SPI error |
1563 | case 12: // SPI error |
1561 | Dispatcher.Invoke((Action)(() => tbSPI.Text = sAnalogData[index])); |
1564 | Dispatcher.Invoke((Action)(() => tbSPI.Text = sAnalogData[index])); |
1562 | break; |
1565 | break; |
1563 | case 14: //i2c error |
1566 | case 14: //i2c error |
Line 1597... | Line 1600... | ||
1597 | Dispatcher.Invoke(() => stbMagneticFieldAnim.Begin()); |
1600 | Dispatcher.Invoke(() => stbMagneticFieldAnim.Begin()); |
1598 | _bAnimMagneticFieldActive = true; |
1601 | _bAnimMagneticFieldActive = true; |
1599 | } |
1602 | } |
1600 | if (_bVoiceMagneticFieldPlay && !_bVoiceMagneticFieldActive) |
1603 | if (_bVoiceMagneticFieldPlay && !_bVoiceMagneticFieldActive) |
1601 | { |
1604 | { |
- | 1605 | ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\MagneticField.mp3"); |
|
1602 | Thread t = new Thread(() => _mediaPlayer("Voice\\MagneticField.mp3")); |
1606 | //Thread t = new Thread(() => _mediaPlayer("Voice\\MagneticField.mp3")); |
1603 | t.Start(); |
1607 | //t.Start(); |
1604 | _bVoiceMagneticFieldActive = true; |
1608 | _bVoiceMagneticFieldActive = true; |
1605 | } |
1609 | } |
1606 | } |
1610 | } |
1607 | } |
1611 | } |
1608 | break; |
1612 | break; |
Line 1807... | Line 1811... | ||
1807 | Dispatcher.Invoke(() => stbSatFixLostAnim.Begin()); |
1811 | Dispatcher.Invoke(() => stbSatFixLostAnim.Begin()); |
1808 | _bAnimSatFixActive = true; |
1812 | _bAnimSatFixActive = true; |
1809 | } |
1813 | } |
1810 | if (_bVoiceSatFixPlay && !_bVoiceSatFixActive) |
1814 | if (_bVoiceSatFixPlay && !_bVoiceSatFixActive) |
1811 | { |
1815 | { |
- | 1816 | ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\SatFixLost.mp3"); |
|
1812 | Thread th = new Thread(() => _mediaPlayer("Voice\\SatFixLost.mp3")); |
1817 | //Thread th = new Thread(() => _mediaPlayer("Voice\\SatFixLost.mp3")); |
1813 | th.Start(); |
1818 | //th.Start(); |
1814 | _bVoiceSatFixActive = true; |
1819 | _bVoiceSatFixActive = true; |
1815 | } |
1820 | } |
Line 1816... | Line 1821... | ||
1816 | 1821 | ||
1817 | _bSatFix = false; |
1822 | _bSatFix = false; |
Line 1885... | Line 1890... | ||
1885 | i_16 = (Int16)(i_16 << 8); |
1890 | i_16 = (Int16)(i_16 << 8); |
1886 | iVal = data[80] + i_16; |
1891 | iVal = data[80] + i_16; |
1887 | Dispatcher.Invoke((Action)(() => tbCapacity.Text = iVal.ToString() + " mAh")); |
1892 | Dispatcher.Invoke((Action)(() => tbCapacity.Text = iVal.ToString() + " mAh")); |
1888 | Dispatcher.Invoke((Action)(() => tbTopCapacity.Text = iVal.ToString() + " mAh")); |
1893 | Dispatcher.Invoke((Action)(() => tbTopCapacity.Text = iVal.ToString() + " mAh")); |
Line -... | Line 1894... | ||
- | 1894 | ||
- | 1895 | //--------------- Ground speed ------------------------ |
|
- | 1896 | i_16 = data[59]; |
|
- | 1897 | i_16 = (Int16)(i_16 << 8); |
|
- | 1898 | iVal = data[58] + i_16; |
|
- | 1899 | Dispatcher.Invoke((Action)(() => tbNCGrSpeed.Text = ((double)(iVal)/100).ToString("0.00 m/s"))); |
|
- | 1900 | ||
- | 1901 | //--------------- Heading north ------------------------ |
|
- | 1902 | i_16 = data[61]; |
|
- | 1903 | i_16 = (Int16)(i_16 << 8); |
|
- | 1904 | iVal = data[60] + i_16; |
|
- | 1905 | Dispatcher.Invoke((Action)(() => tbHeadingNorth.Text = iVal.ToString() + " °")); |
|
- | 1906 | ||
- | 1907 | //--------------- Heading compass ------------------------ |
|
- | 1908 | i_16 = data[63]; |
|
- | 1909 | i_16 = (Int16)(i_16 << 8); |
|
- | 1910 | iVal = data[62] + i_16; |
|
- | 1911 | Dispatcher.Invoke((Action)(() => tbHeadingCompass.Text = iVal.ToString() + " °")); |
|
- | 1912 | //Dispatcher.Invoke(() => ArtHor.rotate = iVal); |
|
1889 | 1913 | Dispatcher.Invoke(() => ((CustomMarkerCopter)(copter.Shape)).rotate = iVal); |
|
1890 | //--------------- Flying time ------------------------ |
1914 | //--------------- Flying time ------------------------ |
1891 | i_16 = data[56]; |
1915 | i_16 = data[56]; |
1892 | i_16 = (Int16)(i_16 << 8); |
1916 | i_16 = (Int16)(i_16 << 8); |
1893 | iVal = data[55] + i_16; |
1917 | iVal = data[55] + i_16; |
Line 1919... | Line 1943... | ||
1919 | Dispatcher.Invoke(() => stbRCLevelAnim.Begin()); |
1943 | Dispatcher.Invoke(() => stbRCLevelAnim.Begin()); |
1920 | _bAnimRCLevelActive = true; |
1944 | _bAnimRCLevelActive = true; |
1921 | } |
1945 | } |
1922 | if (_bVoiceRCLevelPlay && !_bVoiceRCLevelActive) |
1946 | if (_bVoiceRCLevelPlay && !_bVoiceRCLevelActive) |
1923 | { |
1947 | { |
- | 1948 | ThreadPool.QueueUserWorkItem(new WaitCallback(_mediaPlayer), "Voice\\MagneticField.mp3"); |
|
1924 | Thread th = new Thread(() => _mediaPlayer("Voice\\RCLevel.mp3")); |
1949 | //Thread th = new Thread(() => _mediaPlayer("Voice\\RCLevel.mp3")); |
1925 | th.Start(); |
1950 | //th.Start(); |
1926 | _bVoiceRCLevelActive = true; |
1951 | _bVoiceRCLevelActive = true; |
1927 | } |
1952 | } |
1928 | _iRCLevelJitter++; |
1953 | _iRCLevelJitter++; |
1929 | } |
1954 | } |
1930 | } |
1955 | } |
Line 2545... | Line 2570... | ||
2545 | 2570 | ||
Line 2546... | Line 2571... | ||
2546 | #endregion OSD-Menue |
2571 | #endregion OSD-Menue |
Line 2547... | Line 2572... | ||
2547 | 2572 | ||
2548 | #endregion controller messages |
2573 | #endregion controller messages |
2549 | 2574 | ||
2550 | void _mediaPlayer(string file) |
2575 | void _mediaPlayer(object file) |
2551 | { |
2576 | { |
2552 | if (File.Exists(file)) |
2577 | if (File.Exists((string)file)) |
2553 | { |
2578 | { |
2554 | MediaPlayer.MediaPlayer mp = new MediaPlayer.MediaPlayer(); |
2579 | MediaPlayer.MediaPlayer mp = new MediaPlayer.MediaPlayer(); |
2555 | mp.Open(file); |
2580 | mp.Open((string)file); |
Line 2556... | Line 2581... | ||
2556 | mp.Play(); |
2581 | mp.Play(); |