HamBook – Diff between revs 1 and 3
?pathlinks?
Rev 1 | Rev 3 | |||
---|---|---|---|---|
Line 15... | Line 15... | |||
15 | namespace HamBook.Radios.Yaesu.FT_891 |
15 | namespace HamBook.Radios.Yaesu.FT_891 |
|
16 | { |
16 | { |
|
17 | [Radio("Yaesu FT-891")] |
17 | [Radio("Yaesu FT-891")] |
|
18 | public class MD : Generic.CAT.MD |
18 | public class MD : Generic.CAT.MD |
|
19 | { |
19 | { |
|
20 | private static readonly Regex readRegex = new Regex(@"^MD0(?<mode>[1,2,3,4,5,6,7,8,9,A,B,C,D])$", RegexOptions.Compiled); |
20 | private static readonly Regex readRegex = new Regex(@"^MD0(?<mode>[123456789ABCD]){1}$", RegexOptions.Compiled); |
|
Line 21... | Line 21... | |||
21 | |
21 | |
|
22 | public MD(SerialPort serialPort) : base(serialPort) |
22 | public MD(SerialPort serialPort) : base(serialPort) |
|
23 | { |
23 | { |
|
Line 24... | Line 24... | |||
24 | } |
24 | } |
|
25 | |
25 | |
|
26 | public override void Set(RadioMode mode) |
- | ||
27 | { |
- | ||
28 | switch(mode) |
- | ||
29 | { |
- | ||
30 | case RadioMode.SSB_1: |
- | ||
31 | SerialPort.Write($"{Name}01{EOT}"); |
- | ||
32 | break; |
26 | public override void Set(RadioMode radioMode) |
|
33 | case RadioMode.SSB_2: |
- | ||
34 | SerialPort.Write($"{Name}02{EOT}"); |
- | ||
35 | break; |
- | ||
36 | case RadioMode.AM: |
- | ||
37 | SerialPort.Write($"{Name}05{EOT}"); |
- | ||
38 | break; |
- | ||
39 | case RadioMode.FM: |
- | ||
40 | SerialPort.Write($"{Name}04{EOT}"); |
- | ||
41 | break; |
- | ||
42 | case RadioMode.CW: |
- | ||
43 | SerialPort.Write($"{Name}03{EOT}"); |
- | ||
44 | break; |
27 | { |
|
Line 45... | Line 28... | |||
45 | } |
28 | SerialPort.Write($"{Name}0{radioMode.Mode}{Generic.Constants.EOT}"); |
|
46 | } |
29 | } |
|
47 | |
30 | |
|
48 | public override RadioMode Read() |
31 | public override RadioMode Read() |
|
49 | { |
32 | { |
|
50 | SerialPort.Write($"{Name}0{EOT}"); |
33 | SerialPort.Write($"{Name}0{Generic.Constants.EOT}"); |
|
51 | var result = SerialPort.ReadTo(EOT); |
- | ||
52 | var match = readRegex.Match(result); |
- | ||
53 | var value = char.Parse(match.Result("${mode}")); |
- | ||
54 | switch(value) |
- | ||
55 | { |
- | ||
56 | case '1': |
- | ||
57 | return RadioMode.SSB_1; |
- | ||
58 | case '2': |
- | ||
59 | return RadioMode.SSB_2; |
- | ||
60 | case '5': |
- | ||
61 | return RadioMode.AM; |
- | ||
62 | case '4': |
- | ||
63 | return RadioMode.FM; |
- | ||
64 | case '3': |
- | ||
65 | return RadioMode.CW; |
34 | var result = SerialPort.ReadTo(Generic.Constants.EOT); |
|
66 | } |
35 | var match = readRegex.Match(result); |
|
67 | |
36 | var radioMode = char.Parse(match.Result("${mode}")); |
|
68 | return RadioMode.NONE; |
37 | return radioMode; |