private void EnterEngMode(int bank, int page) { if (company == Company.SNOEC) { //byte[] buff = new byte[6]; //buff[0] = 0x12; //buff[1] = 0x34; //buff[2] = 0x56; //buff[3] = 0x78; //buff[4] = (byte)bank; //buff[5] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA0, 122, softHard, buff); byte[] buff = new byte[1]; buff[0] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 127, softHard, buff); //byte[] buff = new byte[6]; //buff[0] = 0x93; //buff[1] = 0x78; //buff[2] = 0xCC; //buff[3] = 0xAE; //buff[4] = (byte)bank; //buff[5] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA0, 122, softHard, buff); } }
private void EnterEngMode(int page) { if (company == Company.SNOEC) { byte[] buff = new byte[1]; buff[0] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 127, softHard, buff); } }
public void Apply_Immediate_Staged_1() { try { EnterEngMode(0x00, 0x10); byte[] data = new byte[1] { 0xFF }; IOPort.WriteReg(DUT_USB_Port, 0xA0, 0xB3, softHard, data); } catch { //Log.SaveLogToTxt(ex.Message); } }
public void SoftRest() { try { EnterEngMode(0x00, 0x00); byte[] data = new byte[1] { 0x08 }; IOPort.WriteReg(DUT_USB_Port, 0xA0, 0x1A, softHard, data); } catch { //Log.SaveLogToTxt(ex.Message); } }
public bool TxChannelEnable(int channel) { lock (syncRoot) { EnterEngMode(0); byte[] buff = new byte[1]; try { switch (channel) { case 1: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] & 0xFE); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; case 2: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] & 0xFD); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; case 3: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] & 0xFB); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; case 4: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] & 0xF7); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; default: break; } return(true); } catch { //Log.SaveLogToTxt(ex.ToString()); return(false); } } }
public bool SetSoftTxDis(int channel) { lock (syncRoot) { byte[] buff = new byte[1]; try { EnterEngMode(0); switch (channel) { case 1: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] | 0x01); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; case 2: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] | 0x02); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; case 3: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] | 0x04); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; case 4: buff = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); buff[0] = (byte)(buff[0] | 0x08); IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, buff); break; default: break; } return(true); } catch { //Log.SaveLogToTxt(ex.ToString()); return(false); } } }
public bool PSM4_SetHeator(int channel, UInt16 value) { lock (syncRoot) { byte[] buff_L = new byte[1]; buff_L[0] = (byte)(value % 256); byte[] buff_H = new byte[1]; buff_H[0] = (byte)(value / 256); try { //EnterEngMode(0); switch (channel) { case 1: IOPort.WriteReg(DUT_USB_Port, 0xA0, 6, softHard, buff_L); IOPort.WriteReg(DUT_USB_Port, 0xA0, 7, softHard, buff_H); break; case 2: IOPort.WriteReg(DUT_USB_Port, 0xA0, 8, softHard, buff_L); IOPort.WriteReg(DUT_USB_Port, 0xA0, 9, softHard, buff_H); break; case 3: IOPort.WriteReg(DUT_USB_Port, 0xA0, 10, softHard, buff_L); IOPort.WriteReg(DUT_USB_Port, 0xA0, 11, softHard, buff_H); break; case 4: IOPort.WriteReg(DUT_USB_Port, 0xA0, 12, softHard, buff_L); IOPort.WriteReg(DUT_USB_Port, 0xA0, 13, softHard, buff_H); break; default: break; } return(true); } catch { //Log.SaveLogToTxt(ex.ToString()); return(false); } } }
public bool PSM4_SetIbias(int channel, byte value) { lock (syncRoot) { byte[] buff = new byte[1]; buff[0] = value; try { //EnterEngMode(0); switch (channel) { case 1: IOPort.WriteReg(DUT_USB_Port, 0xA0, 0, softHard, buff); break; case 2: IOPort.WriteReg(DUT_USB_Port, 0xA0, 1, softHard, buff); break; case 3: IOPort.WriteReg(DUT_USB_Port, 0xA0, 2, softHard, buff); break; case 4: IOPort.WriteReg(DUT_USB_Port, 0xA0, 3, softHard, buff); break; case 5: IOPort.WriteReg(DUT_USB_Port, 0xA0, 4, softHard, buff); break; default: break; } return(true); } catch { //Log.SaveLogToTxt(ex.ToString()); return(false); } } }
public bool TxAllChannelEnable() { lock (syncRoot) { EnterEngMode(0); byte[] dataToWrite = { 0x00 }; byte[] dataReadArray; for (int i = 0; i < 3; i++) { IOPort.WriteReg(DUT_USB_Port, 0xA0, 86, softHard, dataToWrite); dataReadArray = IOPort.ReadReg(DUT_USB_Port, 0xA0, 86, softHard, 1); if (dataReadArray[0] == 0x00) { return(true); } } return(false); } }
public void DataPathPwrDn_2() { try { EnterEngMode(0x00, 0x00); byte[] data = new byte[1] { 0x00 }; Byte[] buff = IOPort.WriteReg(DUT_USB_Port, 0xA0, 0x1A, softHard, data); EnterEngMode(0x00, 0x10); data = IOPort.ReadReg(DUT_USB_Port, 0xA0, 0x80, softHard, 1); data[0] &= 0x0F; IOPort.WriteReg(DUT_USB_Port, 0xA0, 0x80, softHard, data); } catch { //Log.SaveLogToTxt(ex.Message); } }
private void EnterEngMode(int page) { if (company == Company.Inno) { byte[] buff = new byte[5]; buff[0] = 0xca; buff[1] = 0x2d; buff[2] = 0x81; buff[3] = 0x5f; buff[4] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); } else if (company == Company.SNOEC) { //byte[] buff = new byte[5]; //buff[0] = 0xdf; //buff[1] = 0x5e; //buff[2] = 0x75; //buff[3] = 0xcd; //buff[4] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); byte[] buff = new byte[5]; buff[0] = 0x12; buff[1] = 0x34; buff[2] = 0x56; buff[3] = 0x78; buff[4] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); //byte[] buff = new byte[5]; //buff[0] = 0x80; //buff[1] = 0x00; //buff[2] = 0x46; //buff[3] = 0x49; //buff[4] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA2, 123, softHard, buff); //byte[] buff = new byte[1];//sip //buff[0] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA0, 127, softHard, buff); } else if (company == Company.Generic) { byte[] buff = new byte[5]; buff[0] = 0x00; buff[1] = 0x00; buff[2] = 0x10; buff[3] = 0x11; buff[4] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); } else if (company == Company.Luxshare) { //byte[] buff = new byte[5];//100G //buff[0] = 0xA6; //buff[1] = 0x06; //buff[2] = 0x4C; //buff[3] = 0x6E; //buff[4] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); //byte[] buff = new byte[5];//56G //buff[0] = 0xE0; //buff[1] = 0x55; //buff[2] = 0x3E; //buff[3] = 0x8A; //buff[4] = (byte)page; //IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); byte[] buff = new byte[5];//56G buff[0] = 0x4C; buff[1] = 0x4F; buff[2] = 0x45; buff[3] = 0x54; buff[4] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 123, softHard, buff); } else if (company == Company.Nopasswords) { byte[] buff = new byte[1]; buff[0] = (byte)page; IOPort.WriteReg(DUT_USB_Port, 0xA0, 127, softHard, buff); } else if (company == Company.Nopasswords_Nopage) { //no code } }
public byte[] WriteReg(int deviceIndex, int deviceAddress, int page, int regAddress, byte[] dataToWrite) { EnterEngMode(page); return(IOPort.WriteReg(deviceIndex, deviceAddress, regAddress, softHard, dataToWrite)); }
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); } }