File tree 1 file changed +15
-1
lines changed
1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change 1
1
(* *****************************************************************************)
2
2
(* uuart.pas 01.02.2021 *)
3
3
(* *)
4
- (* Version : 0.02 *)
4
+ (* Version : 0.03 *)
5
5
(* *)
6
6
(* Author : Uwe Schächterle (Corpsman) *)
7
7
(* *)
24
24
(* *)
25
25
(* History : 0.01 - Initial version *)
26
26
(* 0.02 - do not kill uart connection on a error *)
27
+ (* 0.03 - Add: "Purge" *)
27
28
(* *)
28
29
(* *****************************************************************************)
29
30
101
102
102
103
FOnReceive: TOnReceive;
103
104
fNeedDisconnect: Boolean;
105
+ fNeedPurge: Boolean;
104
106
105
107
fCom: TBlockSerial; // Handle auf die COM-Schnittstelle
106
108
134
136
Function Connect (aPort: String; aBaudrate, aBits: Integer; aParity: Char; aStop: Integer; asoftflow, ahardflow: boolean): Boolean;
135
137
Procedure Disconnect ();
136
138
139
+ Procedure Purge ;
140
+
137
141
Function SendBytes (Value : TBytes): Boolean;
138
142
Function SendString (Value : String): Boolean;
139
143
256
260
freceived := TBytesFifo.create;
257
261
fSend := TBytesFifo.create;
258
262
fNeedDisconnect := false;
263
+ fNeedPurge := false;
259
264
End ;
260
265
261
266
Procedure TUart.Shutdown ();
362
367
fNeedDisconnect := true;
363
368
End ;
364
369
370
+ Procedure TUart.Purge ();
371
+ Begin
372
+ fNeedPurge := true;
373
+ End ;
374
+
365
375
Function TUart.SendBytes (Value : TBytes): Boolean;
366
376
Begin
367
377
result := IsConnected;
407
417
Init();
408
418
fIsRunning := true;
409
419
While Not Terminated Do Begin
420
+ If fNeedPurge And assigned(fCom) Then Begin
421
+ fCom.Purge;
422
+ fNeedPurge := false;
423
+ End ;
410
424
If fNeedDisconnect And assigned(fCom) Then Begin
411
425
fNeedDisconnect := false;
412
426
CheckComState(true);
You can’t perform that action at this time.
0 commit comments