public void readImages()
 {
     for (int i = 0; i < m_GPIOBanks.Count; i++)
     {
         GPIOObjects obj = m_GPIOBanks[i];
         obj.readImages();
     }
 }
 public void createPropertySet(IPropertySet property)
 {
     for (int i = 0; i < m_GPIOBanks.Count; i++)
     {
         GPIOObjects obj = m_GPIOBanks[i];
         obj.createPropertySet(property);
     }
 }
        GPIOOInOutBanks AllocateActiveGPIOs(IPropertySet property)
        {
            GPIOOInOutBanks GPIOInOutBanks = new GPIOOInOutBanks("");

            GPIOOBank m_OutPuts = new GPIOOBank("Outputs");


            GPIOOBank m_Inputs = new GPIOOBank("Inputs");
            //   ObservableCollection<GPIOObjects>m_GPIOOutputs = new ObservableCollection<GPIOObjects>();

            GPIOObjects m_GPIOOutputs = new GPIOObjects("GPIOOutPuts");
            GPIOObjects m_GPIOInputs  = new GPIOObjects("GPIOInPuts");


            for (int i = 0; i < m_InOutBanks.Count; i++)
            {
                GPIOOBank bank = m_InOutBanks[i];

                foreach (GPIOObjects OutPuts in bank.GPIOBanks)
                {
                    foreach (GPIOObject GPIOObj in OutPuts.GPIOs)
                    {
                        if (GPIOObj.IsEnabled)
                        {
                            switch (GPIOObj.GPIOtyp)
                            {
                            case GPIOObject.GPIOTyp.output:
                                m_GPIOOutputs.GPIOs.Add(GPIOObj);
                                break;

                            case GPIOObject.GPIOTyp.input:
                                m_GPIOInputs.GPIOs.Add(GPIOObj);
                                break;
                            }
                        }
                    }
                }
            }
            if (m_GPIOOutputs.GPIOs.Count > 0)
            {
                m_Inputs.GPIOBanks.Add(m_GPIOInputs);
            }
            if (m_GPIOOutputs.GPIOs.Count > 0)
            {
                m_OutPuts.GPIOBanks.Add(m_GPIOOutputs);
            }

            GPIOInOutBanks.InOutBanks.Add(m_Inputs);
            GPIOInOutBanks.InOutBanks.Add(m_OutPuts);

            GPIOInOutBanks.createPropertySet(property);

            return(GPIOInOutBanks);
        }
 public GPIOObjects getGPIOBankByName(string name)
 {
     for (int i = 0; i < m_GPIOBanks.Count; i++)
     {
         GPIOObjects obj = m_GPIOBanks[i];
         if (obj.BankName == name)
         {
             return(obj);
         }
     }
     return(null);
 }
        public GPIOObject getGPIOByName(string name)
        {
            for (int i = 0; i < m_GPIOBanks.Count; i++)
            {
                GPIOObjects obj = m_GPIOBanks[i];

                GPIOObject ret = obj.getGPIOByName(name);
                if (ret != null)
                {
                    return(ret);
                }
            }

            return(null);
        }
        static GPIOOInOutBanks Allocate(IPropertySet property)
        {
            GPIOOInOutBanks m_GPIOInOutBanks = new GPIOOInOutBanks("");

            //   m_Banks = new List<GPIOOBank>();

            GPIOOBank m_OutPuts = new GPIOOBank("Outputs");


            GPIOOBank m_Inputs = new GPIOOBank("Inputs");
            //   ObservableCollection<GPIOObjects>m_GPIOOutputs = new ObservableCollection<GPIOObjects>();


            GPIOObjects m_GPIOOutPut5V = new GPIOObjects("GPIOOutPut.5V");

            m_GPIOOutPut5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 17, 0, 0));
            m_GPIOOutPut5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 27, 0, 0));
            m_GPIOOutPut5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 23, 0, 0));
            m_GPIOOutPut5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 22, 0, 0));

            GPIOObjects m_GPIOOutPut3V3 = new GPIOObjects("GPIOOutPut.3V3");

            m_GPIOOutPut3V3.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 13, 0, 0));
            m_GPIOOutPut3V3.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 19, 0, 0));
            m_GPIOOutPut3V3.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 11, 0, 0));
            m_GPIOOutPut3V3.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 21, 0, 0));

            GPIOObjects m_GPIOOutPutOC = new GPIOObjects("GPIOOutPut.OpenCol. ");

            m_GPIOOutPutOC.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 4, 0, 0));
            m_GPIOOutPutOC.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 10, 0, 0));
            m_GPIOOutPutOC.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 9, 0, 0));
            m_GPIOOutPutOC.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.output, 16, 0, 0));

            m_OutPuts.GPIOBanks.Add(m_GPIOOutPut5V);

            m_OutPuts.GPIOBanks.Add(m_GPIOOutPut3V3);

            m_OutPuts.GPIOBanks.Add(m_GPIOOutPutOC);

            GPIOObjects GPIOInputs5V = new GPIOObjects("GPIOInputs.4Bank");

            GPIOInputs5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 15, 0, 0));
            GPIOInputs5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 14, 0, 0));
            GPIOInputs5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 12, 0, 0));
            GPIOInputs5V.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 20, 0, 0));

            GPIOObjects GPIOInputs5V8 = new GPIOObjects("GPIOInputs.8Bank");

            GPIOInputs5V8.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 26, 0, 0));
            GPIOInputs5V8.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 25, 0, 0));
            GPIOInputs5V8.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 24, 0, 0));
            GPIOInputs5V8.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 5, 0, 0));

            GPIOObjects GPIOInputs5V4 = new GPIOObjects("GPIOInputs.8Bank");

            GPIOInputs5V4.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 6, 0, 0));
            GPIOInputs5V4.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 7, 0, 0));
            GPIOInputs5V4.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 8, 0, 0));
            GPIOInputs5V4.GPIOs.Add(new GPIOObject("GPIO", GPIOObject.GPIOTyp.input, 18, 0, 0));

            m_Inputs.GPIOBanks.Add(GPIOInputs5V);
            m_Inputs.GPIOBanks.Add(GPIOInputs5V8);
            m_Inputs.GPIOBanks.Add(GPIOInputs5V4);


            m_GPIOInOutBanks.InOutBanks.Add(m_Inputs);
            m_GPIOInOutBanks.InOutBanks.Add(m_OutPuts);

            m_GPIOInOutBanks.createPropertySet(property);

            return(m_GPIOInOutBanks);
        }