HamBook – Diff between revs 24 and 25

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 24 Rev 25
Line 26... Line 26...
26 using Configuration; 26 using Configuration;
27 using System.Collections.Generic; 27 using System.Collections.Generic;
28 using NAudio.Utils; 28 using NAudio.Utils;
29 using System.Linq; 29 using System.Linq;
30 using static System.Net.Mime.MediaTypeNames; 30 using static System.Net.Mime.MediaTypeNames;
-   31 using System.Diagnostics;
-   32 using Newtonsoft.Json.Linq;
Line 31... Line 33...
31   33  
32 namespace HamBook 34 namespace HamBook
33 { 35 {
34 public partial class Form1 : Form 36 public partial class Form1 : Form
35 { 37 {
-   38 private ScheduledContinuation _changedConfigurationContinuation;
-   39 private ScheduledContinuation _squelchScheduledContinuation;
-   40 private ScheduledContinuation _powerScheduledContinuation;
36 private ScheduledContinuation _changedConfigurationContinuation; 41  
37 private Configuration.Configuration Configuration { get; set; } 42 private Configuration.Configuration Configuration { get; set; }
38 private SerialPortStream _serialPort; 43 private SerialPortStream _serialPort;
39 private LogMemorySink _memorySink; 44 private LogMemorySink _memorySink;
40 private ViewLogsForm _viewLogsForm; 45 private ViewLogsForm _viewLogsForm;
Line 63... Line 68...
63 _cancellationTokenSource = new CancellationTokenSource(); 68 _cancellationTokenSource = new CancellationTokenSource();
64 _cancellationToken = _cancellationTokenSource.Token; 69 _cancellationToken = _cancellationTokenSource.Token;
Line 65... Line 70...
65   70  
Line -... Line 71...
-   71 _changedConfigurationContinuation = new ScheduledContinuation();
-   72  
-   73 _squelchScheduledContinuation = new ScheduledContinuation();
66 _changedConfigurationContinuation = new ScheduledContinuation(); 74 _powerScheduledContinuation = new ScheduledContinuation();
Line 67... Line 75...
67   75  
68 } 76 }
69   77  
Line 641... Line 649...
641   649  
642 }); 650 });
643 } 651 }
644 catch (Exception exception) 652 catch (Exception exception)
645 { 653 {
646 Log.Error(exception, Resources.Failed_to_read_memory_channel); 654 Log.Error(exception, Resources.Failed_to_read_power_state);
647 } 655 }
648 }, _cancellationToken); 656 }, _cancellationToken);
Line 649... Line 657...
649 } 657 }
Line 810... Line 818...
810 { 818 {
811 Log.Error(exception, Resources.Error_while_cycling_text); 819 Log.Error(exception, Resources.Error_while_cycling_text);
812 } 820 }
813 } 821 }
Line 814... Line 822...
814   822  
815 private async void scrollableToolStripComboBox5_MouseWheel(object sender, MouseEventArgs e) 823 private void scrollableToolStripComboBox5_MouseWheel(object sender, MouseEventArgs e)
-   824 {
816 { 825 var toolStripComboBox = (ScrollableToolStripComboBox)sender;
817 using (var soundPlayer = new SoundPlayer(Assembly.GetExecutingAssembly().GetManifestResourceStream("HamBook.Effects.pot.wav"))) 826 if (int.TryParse(toolStripComboBox.Text, out var memoryChannel))
818 { -  
819 var toolStripComboBox = (ScrollableToolStripComboBox)sender; 827 {
820 if (int.TryParse(toolStripComboBox.Text, out var memoryChannel)) 828 switch (Math.Sign(e.Delta))
821 { -  
822 switch (Math.Sign(e.Delta)) -  
823 { 829 {
824 case -1: 830 case -1:
825 memoryChannel = memoryChannel - 1; 831 memoryChannel = memoryChannel - 1;
826 break; 832 break;
827 case 1: 833 case 1:
828 memoryChannel = memoryChannel + 1; 834 memoryChannel = memoryChannel + 1;
829 break; -  
830 } -  
831   -  
832   -  
833 if (memoryChannel < 0) -  
834 { -  
835 memoryChannel = 0; 835 break;
Line 836... Line -...
836 } -  
Line 837... Line 836...
837   836 }
838 soundPlayer.Play(); 837  
839   838  
-   839 if (memoryChannel < 0)
Line 840... Line 840...
840 try 840 {
Line 841... Line 841...
841 { 841 memoryChannel = 0;
842 await _catAssemblies.CatWriteAsync<int>("MC", new object[] { memoryChannel }, _cancellationToken); -  
843   -  
844 toolStripComboBox.Text = $"{memoryChannel}"; -  
845   -  
846 Log.Information($"{Resources.Set_VFO_A_frequency} {memoryChannel}"); -  
847 } -  
848 catch (Exception exception) 842 }
849 { 843  
Line 850... Line 844...
850 Log.Error(exception, Resources.Failed_to_set_memory_channel); 844 toolStripComboBox.Text = $"{memoryChannel}";
851 } 845  
Line 903... Line 897...
903 { 897 {
904 Log.Error(exception, Resources.Failed_tuning_current_frequency); 898 Log.Error(exception, Resources.Failed_tuning_current_frequency);
905 } 899 }
906 } 900 }
Line 907... Line 901...
907   901  
908 private async void scrollableToolStripComboBox7_MouseWheel(object sender, MouseEventArgs e) 902 private void scrollableToolStripComboBox7_MouseWheel(object sender, MouseEventArgs e)
909 { 903 {
910 var toolStripComboBox = (ScrollableToolStripComboBox)sender; -  
911 if (int.TryParse(toolStripComboBox.Text, out var amplification)) -  
912 { -  
913 switch (Math.Sign(e.Delta)) -  
914 { -  
915 case -1: -  
916 amplification = amplification - 1; -  
917 break; -  
918 case 1: -  
919 amplification = amplification + 1; -  
920 break; -  
Line -... Line 904...
-   904 var toolStripComboBox = (ScrollableToolStripComboBox)sender;
-   905  
921 } 906 contextMenuStrip1.InvokeIfRequired(async contextMenuStrip1 =>
922   907 {
-   908 if (int.TryParse(toolStripComboBox.Text, out var amplification))
-   909 {
923 if (amplification < 0) 910 switch (Math.Sign(e.Delta))
-   911 {
-   912 case -1:
-   913 amplification = amplification - 1;
-   914 break;
-   915 case 1:
924 { 916 amplification = amplification + 1;
Line 925... Line 917...
925 amplification = 0; 917 break;
926 } 918 }
927   919  
-   920 if (amplification < 0)
Line 928... Line 921...
928 try 921 {
Line 929... Line 922...
929 { 922 amplification = 0;
930 await _catAssemblies.CatWriteAsync<int>("PC", new object[] { amplification }, _cancellationToken); 923 }
931   -  
932 toolStripComboBox.Text = $"{amplification}"; -  
933   -  
934 Log.Information($"{Resources.Amplification_set} {amplification}W"); -  
935 } 924  
936 catch (Exception exception) -  
937 { -  
938 Log.Error(exception, Resources.Failed_to_set_amplification); -  
939 } -  
940 } -  
941 } -  
942   -  
943 private async void scrollableToolStripComboBox7_TextChanged(object sender, EventArgs e) -  
944 { -  
945 var toolStripComboBox = (ScrollableToolStripComboBox)sender; -  
946 if (int.TryParse(toolStripComboBox.Text, out var amplification)) -  
947 { -  
948   -  
Line 949... Line -...
949 try -  
950 { -  
951 await _catAssemblies.CatWriteAsync<int>("PC", new object[] { amplification }, _cancellationToken); -  
952   -  
953 toolStripComboBox.Text = $"{amplification}"; -  
954   -  
955 Log.Information($"{Resources.Amplification_set} {amplification}W"); -  
956 } 925 toolStripComboBox.Text = $"{amplification}";
Line 957... Line 926...
957 catch (Exception exception) 926  
958 { 927 Log.Information($"{Resources.Amplification_set} {amplification}W");
959 Log.Error(exception, Resources.Failed_to_set_amplification); 928 }
960 } -  
961 } -  
962 } -  
963   -  
964 private async void scrollableToolStripComboBox8_MouseWheel(object sender, MouseEventArgs e) -  
965 { -  
966 var toolStripComboBox = (ScrollableToolStripComboBox)sender; -  
967 if (int.TryParse(toolStripComboBox.Text, out var squelch)) -  
968 { -  
969 var value = _catAssemblies.CatGetDefault<int>("SQ", new object[] { }); -  
970   -  
971 switch (Math.Sign(e.Delta)) -  
972 { -  
973 case -1: -  
974 squelch = squelch - value; -  
975 break; -  
976 case 1: -  
977 squelch = squelch + value; -  
978 break; -  
979 } -  
980 -  
981 if(squelch < 0) -  
982 { -  
983 squelch = 0; -  
984 } -  
985   -  
986 try -  
987 { -  
988 await _catAssemblies.CatWriteAsync<int>("SQ", new object[] { squelch }, _cancellationToken); -  
989   -  
990 toolStripComboBox.Text = $"{squelch}"; -  
991   -  
992 Log.Information($"{Resources.Squelch_set} {squelch}"); -  
Line 993... Line -...
993 } -  
994 catch (Exception exception) -  
995 { 929 });
996 Log.Error(exception, Resources.Failed_to_set_squelch); -  
997 } 930  
998 } -  
999 } 931 }
1000   932  
1001 private async void scrollableToolStripComboBox8_TextChanged(object sender, EventArgs e) 933 private void scrollableToolStripComboBox7_TextChanged(object sender, EventArgs e)
-   934 {
Line -... Line 935...
-   935 var toolStripComboBox = (ScrollableToolStripComboBox)sender;
1002 { 936  
-   937 _powerScheduledContinuation.Schedule(TimeSpan.FromSeconds(1), () =>
Line -... Line 938...
-   938 {
-   939 contextMenuStrip1.InvokeIfRequired(async contextMenuStrip1 =>
1003 var toolStripComboBox = (ScrollableToolStripComboBox)sender; 940 {
1004 if (int.TryParse(toolStripComboBox.Text, out var squelch)) 941 if (int.TryParse(toolStripComboBox.Text, out var amplification))
1005 { 942 {
1006   943  
1007 try 944 try
-   945 {
1008 { 946 await _catAssemblies.CatWriteAsync<int>("PC", new object[] { amplification }, _cancellationToken);
1009 await _catAssemblies.CatWriteAsync<int>("SQ", new object[] { squelch }, _cancellationToken); 947  
-   948 toolStripComboBox.Text = $"{amplification}";
1010   949  
Line 1011... Line 950...
1011 toolStripComboBox.Text = $"{squelch}"; 950 Log.Information($"{Resources.Amplification_set} {amplification}W");
1012   951 }
1013 Log.Information($"{Resources.Squelch_set} {squelch}"); 952 catch (Exception exception)
Line 1068... Line 1007...
1068 catch(Exception exception) 1007 catch(Exception exception)
1069 { 1008 {
Line 1070... Line 1009...
1070   1009  
1071 } 1010 }
-   1011 }
-   1012  
-   1013 private void toolStripMenuItem21_DropDownOpened(object sender, EventArgs e)
-   1014 {
-   1015 Task.Delay(TimeSpan.FromSeconds(1), _cancellationToken).ContinueWith(async task =>
-   1016 {
-   1017 try
-   1018 {
-   1019 var ac = await _catAssemblies.CatReadAsync<TunerState>("AC", new object[] { }, _cancellationToken);
-   1020  
-   1021 contextMenuStrip1.InvokeIfRequired(contextMenuStrip =>
-   1022 {
-   1023 switch (ac)
-   1024 {
-   1025 case TunerState.TUNING_START:
-   1026 case TunerState.TUNER_ON:
-   1027 toolStripMenuItem23.Checked = true;
-   1028 break;
-   1029 case TunerState.TUNER_OFF:
-   1030 toolStripMenuItem23.Checked = false;
-   1031 break;
-   1032 }
-   1033  
-   1034  
-   1035 });
-   1036 }
-   1037 catch (Exception exception)
-   1038 {
-   1039 Log.Error(exception, Resources.Failed_to_read_the_tuner_state);
-   1040 }
-   1041  
-   1042 try
-   1043 {
-   1044 var pa = await _catAssemblies.CatReadAsync<IpoState>("PA", new object[] { }, _cancellationToken);
-   1045  
-   1046 contextMenuStrip1.InvokeIfRequired(contextMenuStrip =>
-   1047 {
-   1048 switch (pa)
-   1049 {
-   1050 case IpoState.AMP:
-   1051 toolStripMenuItem22.Checked = false;
-   1052 break;
-   1053 case IpoState.IPO:
-   1054 toolStripMenuItem22.Checked = true;
-   1055 break;
-   1056 }
-   1057  
-   1058  
-   1059 });
-   1060 }
-   1061 catch (Exception exception)
-   1062 {
-   1063 Log.Error(exception, Resources.Failed_to_read_IPO);
-   1064 }
-   1065 }, _cancellationToken);
-   1066 }
-   1067  
-   1068 private async void toolStripMenuItem19_DropDownOpened(object sender, EventArgs e)
-   1069 {
-   1070 try
-   1071 {
-   1072 var sq = await _catAssemblies.CatReadAsync<int>("SQ", new object[] { }, _cancellationToken);
-   1073  
-   1074 contextMenuStrip1.InvokeIfRequired(contextMenuStrip =>
-   1075 {
-   1076 scrollableToolStripComboBox8.Text = $"{sq}";
-   1077  
-   1078 });
-   1079 }
-   1080 catch (Exception exception)
-   1081 {
-   1082 Log.Error(exception, Resources.Failed_to_read_squelch);
-   1083 }
-   1084 }
-   1085  
-   1086 private void scrollableToolStripComboBox8_MouseWheel(object sender, MouseEventArgs e)
-   1087 {
-   1088 var toolStripComboBox = (ScrollableToolStripComboBox)sender;
-   1089  
-   1090 var value = _catAssemblies.CatGetDefault<int>("SQ", new object[] { });
-   1091  
-   1092 contextMenuStrip1.InvokeIfRequired(contextMenuStrip1 =>
-   1093 {
-   1094 if (int.TryParse(toolStripComboBox.Text, out var squelch))
-   1095 {
-   1096 switch (Math.Sign(e.Delta))
-   1097 {
-   1098 case -1:
-   1099 squelch = squelch - value;
-   1100 break;
-   1101 case 1:
-   1102 squelch = squelch + value;
-   1103 break;
-   1104 }
-   1105  
-   1106 if (squelch < 0)
-   1107 {
-   1108 squelch = 0;
-   1109 }
-   1110  
-   1111 toolStripComboBox.Text = $"{squelch}";
-   1112  
-   1113 Log.Information($"{Resources.Squelch_set} {squelch}");
-   1114 }
-   1115 });
-   1116 }
-   1117  
-   1118 private void scrollableToolStripComboBox8_TextChanged(object sender, EventArgs e)
-   1119 {
-   1120 var toolStripComboBox = (ScrollableToolStripComboBox)sender;
-   1121  
-   1122 _squelchScheduledContinuation.Schedule(TimeSpan.FromSeconds(1), () =>
-   1123 {
-   1124 contextMenuStrip1.InvokeIfRequired(async contextMenuStrip1 =>
-   1125 {
-   1126 if (int.TryParse(toolStripComboBox.Text, out var squelch))
-   1127 {
-   1128  
-   1129 try
-   1130 {
-   1131 await _catAssemblies.CatWriteAsync<int>("SQ", new object[] { squelch }, _cancellationToken);
-   1132  
-   1133 toolStripComboBox.Text = $"{squelch}";
-   1134  
-   1135 Log.Information($"{Resources.Squelch_set} {squelch}W");
-   1136 }
-   1137 catch (Exception exception)
-   1138 {
-   1139 Log.Error(exception, Resources.Failed_to_set_squelch);
-   1140 }
-   1141 }
-   1142 });
-   1143 }, _cancellationToken);
1072 } 1144 }
1073 } 1145 }