HamBook – Diff between revs 43 and 44
?pathlinks?
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 | } |