コード例 #1
0
ファイル: Form1.cs プロジェクト: SnowCat6/GPIOReadGraph
        public String makeGPIOstring()
        {
            Dictionary <string, gpioPin> pins;

            lock (m_GPIO_values)
            {
                pins = new Dictionary <string, gpioPin>(m_GPIO_values);
            }

            String clipState = String.Empty;

            clipState += "PIN ID\t";
            clipState += String.Join("\t", gpioPin.g_pins) + "\r\n";

            foreach (KeyValuePair <string, gpioPin> key in pins)
            {
                String  value = String.Empty;
                gpioPin pin   = key.Value;

                if (pin.rowDisable)
                {
                    value = "\tignore";
                }
                else
                {
                    for (int ix = 0; ix < gpioPin.g_pins.Length; ++ix)
                    {
                        string v = pin.pinToString(ix);
                        value += "\t";
                        if (ix > 0 || v.Length > 0)
                        {
                            value += v.Length > 0 ? v : "-";
                        }
                        else
                        {
                            value += pin.Value;
                        }
                    }
                }
                clipState += String.Format("GPIO{0}{1}\r\n", key.Key, value);
            }
            return(clipState);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: SnowCat6/GPIOReadGraph
        private void dataGridView1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            int          rowIndex  = e.RowIndex;
            int          cellIndex = e.ColumnIndex;
            DataGridView view      = (DataGridView)sender;

            if (rowIndex >= m_GPIO_values.Count)
            {
                e.Value = String.Empty;
                return;
            }

            gpioPin pin = getRowPin(rowIndex);

            String           cName = view.Columns[cellIndex].Name;
            DataGridViewCell cell  = view.Rows[rowIndex].Cells[cellIndex];

            String cellValue = pin.Value;

            switch (cName)
            {
            case "GPIO":
                cellValue = pin.pinID;
                break;

            case "Value":
                cellValue = pin.Value;
                break;

            default:
                cellValue = pin.pinToString(pin.getPinIndex(cName));
                break;
            }
            if (e.Value == null || e.Value.ToString() != cellValue)
            {
                e.Value = cellValue;
            }
        }