Пример #1
0
 public byte[] WriteReg(int deviceIndex, int deviceAddress, int page, int regAddress, byte[] dataToWrite)
 {
     EnterEngMode(0x00, page);
     return(IOPort.WriteReg(deviceIndex, deviceAddress, regAddress, softHard, dataToWrite));
 }
Пример #2
0
 public byte[] ReadReg(int deviceIndex, int deviceAddress, int page, int regAddress, int length)
 {
     EnterEngMode(0x00, page);
     return(IOPort.ReadReg(deviceIndex, deviceAddress, regAddress, softHard, length));
 }
Пример #3
0
        private void btnLoad_I2C_Batch_Click(object sender, EventArgs e)
        {
            try
            {
                IOPort.SoftHard softHard = IOPort.SoftHard.SerialPort;
                switch (this.comboBoxSoftHard.Text)
                {
                case "OnEasyB_I2C":
                    softHard = IOPort.SoftHard.OnEasyB_I2C;
                    try
                    {
                        byte i, re;
                        OnEasyB_I2C.serialNumber = new StringBuilder(255);
                        byte          MaxDevNum = OnEasyB_I2C.USBIO_GetMaxNumofDev();
                        List <String> list      = new List <string>();

                        for (i = 0; i < MaxDevNum; i++)
                        {
                            re = OnEasyB_I2C.USBIO_GetSerialNo(i, OnEasyB_I2C.serialNumber);
                            if (re != 0)
                            {
                                list.Add(OnEasyB_I2C.serialNumber.ToString());
                            }
                        }

                        if (list.Count == 0)
                        {
                            MessageBox.Show("Disconnect to OnEasyB_I2C", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Disconnect to OnEasyB_I2C", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    this.comboBoxDeviceIndex.SelectedIndex = 0;
                    break;

                case "SerialPort":
                    softHard = IOPort.SoftHard.SerialPort;
                    break;

                default:
                    softHard = IOPort.SoftHard.SerialPort;
                    break;
                }

                if (this.txtI2C_Batch_FilePath.Text == "")
                {
                    return;
                }

                this.btnLoad_I2C_Batch.Enabled   = false;
                this.btnLoad_I2C_Batch.BackColor = Color.Yellow;
                this.btnLoad_I2C_Batch.Refresh();

                DirectoryInfo directoryInfo = Directory.GetParent(this.txtI2C_Batch_FilePath.Text);
                if (!directoryInfo.Exists)
                {
                    MessageBox.Show("File is no exist", "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.btnLoadSetting.Enabled   = true;
                    this.btnLoadSetting.BackColor = SystemColors.Control;
                    return;
                }

                DataTable setting_table = this.GetExcelTable(this.txtI2C_Batch_FilePath.Text);

                for (int row = 0; row < setting_table.Rows.Count; row++)
                {
                    byte[] deviceAddress = new byte[1];
                    int    regAddress    = 0;
                    byte[] writeData     = new byte[1];

                    try
                    {
                        deviceAddress = Algorithm.HexStringToBytes(setting_table.Rows[row][0].ToString());

                        byte[] buf_regAdress = Algorithm.HexStringToBytes(setting_table.Rows[row][1].ToString());

                        for (int i = 0; i < buf_regAdress.Length; i++)
                        {
                            regAddress += buf_regAdress[i] << 8 * i;
                        }

                        writeData = Algorithm.HexStringToBytes(setting_table.Rows[row][2].ToString());
                    }
                    catch
                    {
                        MessageBox.Show("Unfomart", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.btnLoad_I2C_Batch.Enabled   = true;
                        this.btnLoad_I2C_Batch.BackColor = SystemColors.Control;
                        return;
                    }


                    byte[] buff = IOPort.WriteReg(this.comboBoxDeviceIndex.SelectedIndex, deviceAddress[0], regAddress, softHard, writeData);
                    if (buff == null)
                    {
                        this.btnLoad_I2C_Batch.Enabled   = true;
                        this.btnLoad_I2C_Batch.BackColor = SystemColors.Control;
                        return;
                    }
                }

                this.btnLoad_I2C_Batch.Enabled   = true;
                this.btnLoad_I2C_Batch.BackColor = SystemColors.Control;
                MessageBox.Show("Done", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "No link.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }