BusUart

Base U[S]ART interface.

Concrete implementations in MCU drivers should be passed to code.

Alexander Shiryaev, 2016.09, 2017.04, 2019.10, 2020.12 Modified by Tenko for use with ECS

Types

Bus* = RECORD* END;

Procedures

Bus.Any

Return number of characters available in read buffer.

PROCEDURE* (VAR this : Bus) Any*(): LENGTH;

Bus.TXDone

Return FALSE if we are currently transmitting data.

PROCEDURE* (VAR this : Bus) TXDone*(): BOOLEAN;

Bus.ReadBytes

Read bytes into buffer with start and length.

PROCEDURE* (VAR this: Bus) ReadBytes*(VAR buffer : ARRAY OF BYTE; start, length : LENGTH): LENGTH;

Bus.ReadChar

Read CHAR value. Return TRUE if success.

PROCEDURE* (VAR this: Bus) ReadChar*(VAR value : CHAR): BOOLEAN;

Bus.WriteBytes

Write bytes from buffer with start and length.

PROCEDURE* (VAR this: Bus) WriteBytes*(VAR buffer : ARRAY OF BYTE; start, length: LENGTH): LENGTH;

Bus.WriteChar

Write CHAR value. Return TRUE if success.

PROCEDURE* (VAR this: Bus) WriteChar*(value : CHAR): BOOLEAN;