Esempio n. 1
0
 public cEMI(EIB_Telegramm tele)
 {
     this.m_destination = tele.DestAdr;
     this.m_APCI        = tele.apci;
     this.m_source      = tele.SourceAdr;
     m_value            = tele.RawData;
     m_DataLen          = tele.DataLen;
 }
Esempio n. 2
0
 public HDKnx(cEMI emi)
 {
     this.emi = emi;
     //m_sourceAdr = emi.sourceAdr;
     m_destAdr = emi.destinationAdr;
     time      = emi.receiveTime;
     name      = "auto_" + time.ToShortTimeString();
     rawValue  = emi.GetRawData();
 }
Esempio n. 3
0
 public HDKnx(cEMI emi)
 {
     this.emi = emi;
     //m_sourceAdr = emi.sourceAdr;
     m_destAdr = emi.destinationAdr;
     time = emi.receiveTime;
     name = "auto_" + time.ToShortTimeString();
     rawValue = emi.GetRawData();
 }
Esempio n. 4
0
 /// <summary>
 /// Konstruktor for EIS3/EIS4 (Datum oder Zeit)
 /// </summary>
 /// <param name="EIB Destination Adress"></param>
 /// <param name="bool"></param>
 public cEMI(EIB_Adress eIB_Adress, DateTime time, bool IsDatum)
 {
     this.m_destination = eIB_Adress;
     m_APCI             = APCI_Typ.Send;
     if (IsDatum)
     {
         Eis4 = time;
     }
     else
     {
         Eis3 = time;
     }
 }
Esempio n. 5
0
        /// <summary>
        /// Konstruktor aus Byte Array
        /// </summary>
        /// <param name="array"></param>
        public cEMI(byte[] array)
        {
            m_ReceiveTime = DateTime.Now;

            try
            {
                // Quelle eintragen
                m_source = new EIB_Adress((array[sourceAdrH] << 8) + array[sourceAdrL], EIB_Adress_Typ.PhysAdr);
                // Ziel eintragen
                if ((array[control2] & 0x80) == 0x80)
                {
                    m_destination = new EIB_Adress((array[DestAdrH] << 8) + array[DestAdrL], EIB_Adress_Typ.GroupAdr);
                }
                else
                {
                    m_destination = new EIB_Adress((array[DestAdrH] << 8) + array[DestAdrL], EIB_Adress_Typ.PhysAdr);
                }
                // Datenlänge
                m_DataLen = array[dataLen] & 0x0f;

                // APCI bestimmen
                m_APCI = (APCI_Typ)((array[10] >> 6) & 0x03);

                // Daten kopieren
                m_value = new byte[m_DataLen];
                Array.Copy(array, 10, m_value, 0, m_DataLen);

                for (ushort i = 0; i < m_DataLen; i++)
                {
                    m_value[i] = array[i + 10];
                }
                // APCI-Flag aus den Daten ausblenden
                if (m_DataLen > 0)
                {
                    m_value[0] = (byte)((byte)m_value[0] & (byte)0x3F);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Fehler in cEMI-Konstruktor aus Array", e);
            }

            return;
        }
Esempio n. 6
0
 /// <summary>
 /// Konstruktor for EIS1 (bool)
 /// </summary>
 /// <param name="EIB Destination Adress"></param>
 /// <param name="bool"></param>
 public cEMI(EIB_Adress eIB_Adress, bool flag)
 {
     this.m_destination = eIB_Adress;
     m_APCI             = APCI_Typ.Send;
     Eis1 = flag;
 }
Esempio n. 7
0
 /// <summary>
 /// Konstruktor for EIS11 (long)
 /// </summary>
 /// <param name="EIB Destination Adress"></param>
 /// <param name="value"></param>
 public cEMI(EIB_Adress eIB_Adress, uint value)
 {
     this.m_destination = eIB_Adress;
     m_APCI             = APCI_Typ.Send;
     Eis11 = value;
 }
Esempio n. 8
0
 /// <summary>
 /// Konstruktor for EIS5 (float)
 /// </summary>
 /// <param name="EIB Destination Adress"></param>
 /// <param name="Float"></param>
 public cEMI(EIB_Adress eIB_Adress, float value)
 {
     this.m_destination = eIB_Adress;
     m_APCI             = APCI_Typ.Send;
     Eis5 = (float)value;
 }
Esempio n. 9
0
 /// <summary>
 /// Konstruktor for EIS3 (Zeit)
 /// </summary>
 /// <param name="EIB Destination Adress"></param>
 /// <param name="bool"></param>
 public cEMI(EIB_Adress eIB_Adress, DateTime time)
 {
     this.m_destination = eIB_Adress;
     m_APCI             = APCI_Typ.Send;
     Eis3 = time;
 }
Esempio n. 10
0
 /// <summary>
 /// Konstruktoe für EIS2 (Dim)
 /// </summary>
 /// <param name="eIB_Adress"></param>
 /// <param name="flag"></param>
 public cEMI(EIB_Adress eIB_Adress, byte val)
 {
     this.m_destination = eIB_Adress;
     m_APCI             = APCI_Typ.Send;
     Eis2 = val;
 }