public DevComSlave(IDevComHardwareInterface rInterface, int vSlaveAddress) { hwInterface = rInterface; recBuffer = new ThreadsafeReceiveBuffer(); hwInterface.setReceiveBuffer(recBuffer); slaveAddr = vSlaveAddress; recBuffer.ByteReceived += new ByteReceivedEventHandler(recBuffer_ByteReceived); resetFrame = protocol.GetResetFrame().GetDataframe(); state = DevComSlaveState.NotReady; }
/// <summary> /// Erzeugt eine neue Instanz der Klasse mit spezifiziertem Hardwareinterface und Protokoll /// </summary> /// <param name="pHwIfc">Zu verwendendes Hardwareinterface</param> /// <param name="vProtocol">Zu verwendendes Protokoll</param> public DevComMaster(IDevComHardwareInterface pHwIfc, DevComProtocol vProtocol) { construct(pHwIfc, vProtocol); }
private System.Timers.Timer watchDog; // Watchdog für diverse Timeouts #endregion Fields #region Constructors /// <summary> /// Instanziert einen DevCom_Master und bereitet eine Verbindung via übergebenem Interface vor /// </summary> /// <param name="pHwIfc">Instanziertes <see cref="IDevComHardwareInterface">devComHardwareInterface</see></param> /// <remarks>Protocol defaults to latest Version of M3S-Version (Version 2)</remarks> public DevComMaster(IDevComHardwareInterface pHwIfc) { construct(pHwIfc, DevComProtocol.M3S_Version2); }
/// <summary> /// Konstruktor Method with most arguments. Every Constructor should call this with default values /// </summary> /// <param name="pHwIfc">Hardwareinterface</param> /// <param name="vProtocol">Verwendetes Protokoll</param> private void construct(IDevComHardwareInterface pHwIfc, DevComProtocol vProtocol) { hwInterface = pHwIfc; switch(vProtocol) { case DevComProtocol.M3S_Version1: protocol = new M3S_V1_Handler(); break; case DevComProtocol.M3S_Version2: protocol = new M3S_V2_Handler(); break; } init_members(); }