unit GhLbType;

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.
