Пример #1
0
        public EIB_Adress(string EibAdrString)
        {
            EIB_Adress adr = EIB_Adress.Parse(EibAdrString);

            m_Adr = adr.m_Adr;
            m_Typ = adr.m_Typ;
        }
Пример #2
0
 // Konstruktor Gruppenadr. oder Physik. Adr aus Integer anlegen
 public EIB_Adress(int Adr, EIB_Adress_Typ Typ)
 {
     if (Adr > MAX_ADR)
     {
         throw new Exception("zu grosse Adresse");
     }
     if (Adr < MIN_ADR)
     {
         throw new Exception("Adresse darf nicht negativ sein");
     }
     m_Adr = (ushort)Adr;
     m_Typ = Typ;
 }
Пример #3
0
        private EIB_Adress_Typ m_Typ = EIB_Adress_Typ.GroupAdr;     // Art der Adresse

        // Konstruktor Gruppenadr. aus Integer anlegen
        public EIB_Adress(int GA)
        {
            if (GA > MAX_ADR)
            {
                throw new Exception("Gruppenadresse zu gross");
            }
            if (GA < MIN_ADR)
            {
                throw new Exception("Gruppenadresse darf nicht negativ sein");
            }
            m_Adr = (ushort)GA;
            m_Typ = EIB_Adress_Typ.GroupAdr;
        }
Пример #4
0
        // Physikadr. setzen
        private ushort Set_PA(ushort Bereich, ushort Linie, ushort Teilnehmer)
        {
            if (Teilnehmer > 255)
            {
                throw new Exception("Teilnehmer zu gross");
            }
            if (Linie > 15)
            {
                throw new Exception("Linie zu gross");
            }
            if (Bereich > 15)
            {
                throw new Exception("Bereich zu gross");
            }

            m_Adr = (ushort)((Bereich << 12) + (Linie << 8) + Teilnehmer);
            m_Typ = EIB_Adress_Typ.PhysAdr;
            return(m_Adr);
        }
Пример #5
0
        // Gruppenadr. setzen
        private ushort Set_GA(ushort HG, ushort MG, ushort UG)
        {
            if (UG > 255)
            {
                throw new Exception("Untergruppe zu gross");
            }
            if (MG > 7)
            {
                throw new Exception("Untergruppe zu gross");
            }
            if (HG > 31)
            {
                throw new Exception("Untergruppe zu gross");
            }

            m_Adr = (ushort)((HG << 11) + (MG << 8) + UG);
            m_Typ = EIB_Adress_Typ.GroupAdr;
            return(m_Adr);
        }