unit GHLabType;

interface

const
  GHLabPacketValueCount = 32;
type

  TGHLabX = longint;
  TGHLabY = integer;
  PGHLabPoint = ^TGHLabPoint;
  TGHLabPoint = record
    X: TGHLabX;
    Y: TGHLabY;
    Flags: word;
  end;

  TGHLabPacket = array[0..GHLabPacketValueCount-1] of TGHLabY;
  TGHLabPacketInfo = record
    Pkt: TGHLabPacket;
    EndTime: longint;{when arrived the whole packet (last byte of the packet)}
    {for receiving:}
    Time: longint;{time of the first byte, set from EndTime of last packet}
    CurPos: byte;{position where to put next byte arrived}
    {LastByteTime:longint;{when the last byte (at CurByte - 1 pos)
      of packet arrived, used if packet not filled in one interrupt call}
    CurVal: TGHLabY;{currently beeing built Y value from incoming bytes}
    CurValPos: byte;{what byte of 2 byte subpkt value is expected to come
      - 0.. first byte, 1 .. second byte}
  end;

implementation

end.
