public bool BridgeRead(byte addr, byte RdNum, ref string RdStr) { uint xferValue = 0; int ret = SL_Comm_Base.SPI_ReadReg(addr, RdNum, ref xferValue); RdStr = "0x" + Convert.ToString(xferValue, 16); return((ret == 0) ? true : false); }
public bool MipiHSWrite(byte[] Data) { byte[] WhiskyValue = Data; int DataNum = WhiskyValue.Length - 1; byte HD = 0, M_HD = 0, M_LD = 0, LD = 0, ConfRegH = 0, ConfRegL = 0; uint tmpb7 = 0, tmpbd = 0, tmpbc = 0; //General Packet if (WhiskyValue[0] == 0x29) { ConfRegH = 0x06; ConfRegL = 0x19; } if (WhiskyValue[0] == 0x03) { ConfRegH = 0x02; ConfRegL = 0x19; } if (WhiskyValue[0] == 0x13) { ConfRegH = 0x02; ConfRegL = 0x19; } if (WhiskyValue[0] == 0x23) { ConfRegH = 0x06; ConfRegL = 0x19; } //DCS if (WhiskyValue[0] == 0x39) { ConfRegH = 0x06; ConfRegL = 0x59; } if (WhiskyValue[0] == 0x05) { ConfRegH = 0x02; ConfRegL = 0x59; } if (WhiskyValue[0] == 0x15) { ConfRegH = 0x02; ConfRegL = 0x59; } LD = (byte)(DataNum & 0xff); M_LD = (byte)((DataNum >> 8) & 0xff); M_HD = (byte)((DataNum >> 16) & 0xff); HD = (byte)((DataNum >> 24) & 0xff); SL_Comm_Base.SPI_WriteReg(0xb7, ConfRegH, ConfRegL); SL_Comm_Base.SPI_WriteReg(0xbd, HD, M_HD); SL_Comm_Base.SPI_WriteReg(0xbc, M_LD, LD); SL_Comm_Base.SPI_ReadReg(0xb7, 2, ref tmpb7); SL_Comm_Base.SPI_ReadReg(0xbd, 2, ref tmpbd); SL_Comm_Base.SPI_ReadReg(0xbc, 2, ref tmpbc); SL_Comm_Base.SL_CommBase_WriteReg(0xb3, 0x10); SL_Comm_Base.SL_CommBase_WriteReg(0x8b, 0xbf); SL_Comm_Base.SL_AddrWrite(0x8c); for (int i = 1; i < WhiskyValue.Length; i++) { SL_Comm_Base.SL_DataWrite(WhiskyValue[i]); } SL_Comm_Base.SL_CommBase_WriteReg(0xb3, 0x11); return(true); }