HamBook – Diff between revs 43 and 44

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 43 Rev 44
Line -... Line 1...
-   1 using HamBook.Radios.Generic;
1 using System; 2 using System;
2 using System.Collections.Generic; 3 using System.Collections.Generic;
3 using System.Linq; 4 using System.Linq;
4 using System.Text; 5 using System.Text;
5 using System.Threading.Tasks; 6 using System.Threading.Tasks;
Line 6... Line 7...
6   7  
7 namespace HamBook.Radios.Yaesu.FT_891 8 namespace HamBook.Radios.Yaesu.FT_891
8 { 9 {
9 [Radio("Yaesu FT-891")] 10 [Radio("Yaesu FT-891")]
10 public class RadioMode : Generic.RadioMode 11 public class RadioMode : Generic.RadioMode
11 { 12 {
Line 12... Line 13...
12 public override char Mode { get; } 13 public override char Code { get; }
13   -  
14 public RadioMode(string mode) -  
15 { -  
16 Mode = Parse(mode); -  
17 } -  
18   -  
19 public RadioMode(char mode) -  
20 { -  
21 Mode = Parse(mode); -  
22 } -  
23   -  
24 public override char AsChar(Generic.RadioMode radioMode) -  
25 { -  
26 return radioMode.Mode; -  
27 } -  
28   -  
29 public override Generic.RadioMode AsRadioMode(string mode) -  
30 { -  
Line 31... Line 14...
31 return new RadioMode(mode); 14  
32 } 15 public override string Name { get; }
33   -  
34 public override Generic.RadioMode AsRadioMode(char mode) -  
35 { -  
36 return new RadioMode(mode); -  
37 } -  
38   -  
39 public override string AsString(Generic.RadioMode radioMode) -  
40 { -  
41 switch (radioMode.Mode) -  
42 { -  
43 case '1': -  
44 return "SSB_1"; -  
45 case '2': -  
46 return "SSB_2"; -  
47 case '3': -  
48 return "CW_1"; -  
49 case '4': -  
50 return "FM"; -  
51 case '5': -  
52 return "AM"; -  
53 case '6': -  
54 return "RTTY_1"; -  
55 case '7': -  
56 return "CW_2"; -  
57 case '8': -  
58 return "DATA_1"; -  
59 case '9': -  
60 return "RTTY_2"; -  
61 case 'B': -  
62 return "FM-N"; -  
63 case 'C': -  
64 return "DATA_2"; -  
65 case 'D': -  
66 return "AM-N"; -  
67 default: -  
68 throw new ArgumentException(); -  
69 } -  
70 } 16  
71 public override bool TryParse(string mode, out Generic.RadioMode radioMode) -  
72 { -  
73 switch (mode) -  
74 { -  
75   -  
76 case "SSB_1": -  
77 case "SSB_2": -  
78 case "CW_1": -  
79 case "FM": -  
80 case "AM": -  
81 case "RTTY_1": -  
82 case "CW_2": -  
83 case "DATA_1": -  
84 case "RTTY_2": -  
85 case "FM-N": -  
86 case "DATA_2": -  
87 case "AM-N": -  
88 radioMode = new RadioMode(mode); 17 public RadioMode(string name)
89 return true; -  
90 default: -  
91 radioMode = null; 18 {
Line 92... Line 19...
92 return false; 19 Name = name;
93 } 20 Code = NameToCode(name);
94 } 21 }
95   -  
96 public override bool TryParse(char mode, out Generic.RadioMode radioMode) -  
97 { -  
98 switch (mode) -  
99 { -  
100 case '1': -  
101 case '2': -  
102 case '3': -  
103 case '4': -  
104 case '5': -  
105 case '6': -  
106 case '7': -  
107 case '8': -  
108 case '9': -  
109 case 'B': -  
110 case 'C': -  
111 case 'D': 22  
112 radioMode = new RadioMode(mode); -  
113 return true; -  
114 default: 23 public RadioMode(char code)
Line 115... Line 24...
115 radioMode = null; 24 {
116 return false; 25 Code = code;
117 } 26 Name = CodeToName(code);
118 } 27 }
Line 119... Line 28...
119   28  
Line 149... Line 58...
149 default: 58 default:
150 throw new ArgumentException(); 59 throw new ArgumentException();
151 } 60 }
152 } 61 }
Line 153... Line 62...
153   62  
154 private char Parse(char mode) 63 public override string CodeToName(char code)
155 { 64 {
156 switch (mode) 65 switch (code)
157 { 66 {
-   67 case '1':
158 case '1': 68 return "SSB_1";
-   69 case '2':
159 case '2': 70 return "SSB_2";
-   71 case '3':
160 case '3': 72 return "CW_1";
-   73 case '4':
161 case '4': 74 return "FM";
-   75 case '5':
162 case '5': 76 return "AM";
-   77 case '6':
163 case '6': 78 return "RTTY_1";
-   79 case '7':
164 case '7': 80 return "CW_2";
-   81 case '8':
165 case '8': 82 return "DATA_1";
-   83 case '9':
166 case '9': 84 return "RTTY_2";
-   85 case 'B':
167 case 'B': 86 return "FM-N";
-   87 case 'C':
168 case 'C': 88 return "DATA_2";
169 case 'D': 89 case 'D':
170 return mode; 90 return "AM-N";
171 default: 91 default:
172 throw new ArgumentException(); 92 throw new ArgumentException();
173 } 93 }
174 } 94 }