unit uNetzHw;
{Stellt das Interface in einer einfachen Form zur Verfuegung, V4, jon}

interface

uses uftInterface;

type TAnAus = ( Aus, An );

type TNetzHw = class( TObject )
  constructor Create;
  procedure setSendeLeitung( status : TAnAus );
  function getEmpfangsLeitung : TAnAus;
  procedure Refresh;
  procedure Free;
private
  ftInterface : TftInterface;
public

end;

implementation

constructor TNetzHw.Create;
begin
  ftInterface := TftInterface.Create;
  ftInterface.StartDriver;
  ftInterface.OpenInterface;
end;

procedure TNetzHw.setSendeLeitung( status : TAnAus );
begin
  case status of
    An :  ftInterface.SetMotor(4,1);
    Aus : ftInterface.ClearMotors;
  end;
end;

function TNetzHw.getEmpfangsLeitung : TAnAus;
var wert : word;
begin
  wert := ftInterface.GetInputs;
  // hier koennte natuerlich etwas schiefgehen.
  // wert muss nicht die Werte 0 oder 1 haben.
  if ( wert = 0 ) then
    RESULT := Aus
  else
    RESULT := An;
end;

procedure TNetzHw.Refresh;
begin
  ftInterface.GetInputs;
end;

procedure TNetzHw.Free;
begin
  ftInterface.Free;
end;

end.

