HamBook – Diff between revs 37 and 46

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 37 Rev 46
Line 20... Line 20...
20   20  
Line 21... Line 21...
21 public override CatLength CatLength => new CatLength { Set = 4, Answer = 4, Read = 3 }; 21 public override CatLength CatLength => new CatLength { Set = 4, Answer = 4, Read = 3 };
22   22  
23 public ST(SerialPortStream serialPort) : base(serialPort) 23 public ST(SerialPortStream serialPort) : base(serialPort)
24 { 24 {
Line 25... Line 25...
25 readRegex = new Regex($"^{Name}(?<state>[012]){Generic.Constants.EOT}$", RegexOptions.Compiled); 25 readRegex = new Regex($"^{Name}(?<state>[012]){Constants.EOT}$", RegexOptions.Compiled);
26 } 26 }
27   27  
28 public override SplitState Read() 28 public override SplitState Read()
29 { 29 {
30 SerialPort.Write($"{Name}{Generic.Constants.EOT}"); 30 SerialPort.Write($"{Name}{Constants.EOT}");
31 var buffer = new byte[CatLength.Answer]; 31 var buffer = new byte[CatLength.Answer];
32 if (SerialPort.Read(buffer, 0, CatLength.Answer) != CatLength.Answer) 32 if (SerialPort.Read(buffer, 0, CatLength.Answer) != CatLength.Answer)
Line 44... Line 44...
44 return state; 44 return state;
45 } 45 }
Line 46... Line 46...
46   46  
47 public override async Task<SplitState> ReadAsync(CancellationToken cancellationToken) 47 public override async Task<SplitState> ReadAsync(CancellationToken cancellationToken)
48 { 48 {
49 var payload = Constants.Encoding.GetBytes($"{Name}{Generic.Constants.EOT}"); 49 var payload = Constants.Encoding.GetBytes($"{Name}{Constants.EOT}");
Line 50... Line 50...
50 await SerialPort.WriteAsync(payload, 0, payload.Length, cancellationToken); 50 await SerialPort.WriteAsync(payload, 0, payload.Length, cancellationToken);
51   51  
52 var buffer = new byte[CatLength.Answer]; 52 var buffer = new byte[CatLength.Answer];
Line 66... Line 66...
66 return state; 66 return state;
67 } 67 }
Line 68... Line 68...
68   68  
69 public override bool Set(SplitState state) 69 public override bool Set(SplitState state)
70 { 70 {
Line 71... Line 71...
71 SerialPort.Write($"{Name}{(int)state}{Generic.Constants.EOT}"); 71 SerialPort.Write($"{Name}{(int)state}{Constants.EOT}");
72   72  
Line 73... Line 73...
73 return Read() == state; 73 return Read() == state;
74 } 74 }
75   75  
76 public override async Task<bool> SetAsync(SplitState state, CancellationToken cancellationToken) 76 public override async Task<bool> SetAsync(SplitState state, CancellationToken cancellationToken)
Line 77... Line 77...
77 { 77 {
Line 78... Line 78...
78 var payload = Constants.Encoding.GetBytes($"{Name}{(int)state}{Generic.Constants.EOT}"); 78 var payload = Constants.Encoding.GetBytes($"{Name}{(int)state}{Constants.EOT}");
79 await SerialPort.WriteAsync(payload, 0, payload.Length, cancellationToken); 79 await SerialPort.WriteAsync(payload, 0, payload.Length, cancellationToken);
Line 80... Line 80...
80   80  
81 var result = await ReadAsync(cancellationToken); 81 var result = await ReadAsync(cancellationToken);
82   82  
83 return result == state; 83 return result == state;
Line 84... Line 84...
84 } 84 }
85   85  
86 public override void Write(SplitState state) 86 public override void Write(SplitState state)
Line 87... Line 87...
87 { 87 {
88 SerialPort.Write($"{Name}{(int)state}{Generic.Constants.EOT}"); 88 SerialPort.Write($"{Name}{(int)state}{Constants.EOT}");
89 } 89 }
90   90