Changeset 9 for branches/ByteArray/Devices/Serial.pas
- Timestamp:
- Aug 6, 2024, 10:31:16 PM (2 months ago)
- Location:
- branches/ByteArray
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ByteArray
-
Property svn:ignore
set to
lib
heaptrclog.trc
ByteArray
ByteArray.dbg
ByteArray.lps
ByteArray.res
-
Property svn:ignore
set to
-
branches/ByteArray/Devices/Serial.pas
r5 r9 4 4 5 5 uses 6 Classes, SysUtils, Device, BigInt, Channel;6 Classes, SysUtils, Device, Int, Channel; 7 7 8 8 type … … 17 17 FOnWrite: TWriteEvent; 18 18 public 19 function Read(Address: TBigInt; Size: TBigIntSize): TBigInt; 20 procedure Write(Address: TBigInt; Size: TBigIntSize; Value: TBigInt); 21 function GetAddressCount: Integer; override; 22 procedure SetChannel(Channel: TChannel); override; 19 function ReadData(Size: TIntSize): TInt; 20 procedure WriteData(Size: TIntSize; Value: TInt); 21 function GetHandlers: THandlers; override; 23 22 property OnWrite: TWriteEvent read FOnWrite write FOnWrite; 24 23 property OnRead: TReadEvent read FOnRead write FOnRead; … … 30 29 { TSerial } 31 30 32 function TSerial.Read (Address: TBigInt; Size: TBigIntSize): TBigInt;31 function TSerial.ReadData(Size: TIntSize): TInt; 33 32 begin 34 case Integer(Address) of 35 0: if Assigned(FOnRead) then Result := FOnRead; 36 end; 33 if Assigned(FOnRead) then Result := FOnRead; 37 34 end; 38 35 39 procedure TSerial.Write (Address: TBigInt; Size: TBigIntSize; Value: TBigInt);36 procedure TSerial.WriteData(Size: TIntSize; Value: TInt); 40 37 begin 41 case Integer(Address) of 42 0: if Assigned(FOnWrite) then FOnWrite(Value); 43 end; 38 if Assigned(FOnWrite) then FOnWrite(Value); 44 39 end; 45 40 46 function TSerial.Get AddressCount: Integer;41 function TSerial.GetHandlers: THandlers; 47 42 begin 48 Result := 1; 49 end; 50 51 procedure TSerial.SetChannel(Channel: TChannel); 52 begin 53 Channel.Read := Read; 54 Channel.Write := Write; 43 Result := THandlers.Create; 44 Result.ReadHandlers.Add(ReadData); 45 Result.WriteHandlers.Add(WriteData); 55 46 end; 56 47
Note:
See TracChangeset
for help on using the changeset viewer.