public byte[] WriteReg(int deviceIndex, int deviceAddress, int page, int regAddress, byte[] dataToWrite) { EnterEngMode(0x00, page); return(IOPort.WriteReg(deviceIndex, deviceAddress, regAddress, softHard, dataToWrite)); }
public byte[] ReadReg(int deviceIndex, int deviceAddress, int page, int regAddress, int length) { EnterEngMode(0x00, page); return(IOPort.ReadReg(deviceIndex, deviceAddress, regAddress, softHard, length)); }
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); } }