public CBTSettings() { DisplayEnabled = false; FirstBoot = true; DisplayIndex = 0; HwSelfTest = true; BusConfig = new BusConfig[3]; for (int b = 0; b < BusConfig.Length; b++) { BusConfig[b].BitRate = 125; BusConfig[b].Mode = CanMode.Normal; } Pid = new Pid[8]; for (int p = 0; p < Pid.Length; p++) Pid[p] = new Pid(); }
public CBTSettings(byte[] eeprom) { if (eeprom.Length != EEPROM_SIZE) { throw new Exception("Invalid EEPROM size (expected " + EEPROM_SIZE + "bytes)"); } DisplayEnabled = (eeprom[0] == 1); FirstBoot = (eeprom[1] == 1); DisplayIndex = eeprom[2]; int pos = 3; BusConfig = new BusConfig[3]; for (int b = 0; b < BusConfig.Length; b++) { BusConfig[b].BitRate = eeprom[pos] + (eeprom[pos + 1] << 8); BusConfig[b].Mode = (CanMode)eeprom[pos + 2]; pos += 4; } HwSelfTest = (eeprom[pos++] == 1); pos += 4; // Skip unused placeholders Pid = new Pid[8]; for (int p = 0; p < Pid.Length; p++) { Pid[p] = new Pid { BusId = eeprom[pos], Settings = eeprom[pos + 1], Value = eeprom[pos + 2] + (eeprom[pos + 3] << 8) }; Buffer.BlockCopy(eeprom, pos + 4, Pid[p].TXD, 0, 8); Buffer.BlockCopy(eeprom, pos + 12, Pid[p].RXF, 0, 6); Buffer.BlockCopy(eeprom, pos + 18, Pid[p].RXD, 0, 2); Buffer.BlockCopy(eeprom, pos + 20, Pid[p].MTH, 0, 6); var name = ""; for (var c = 0; c < 8; c++) { name += (char)eeprom[pos + 26 + c]; } Pid[p].Name = name.Trim(); pos += 34; } }
public CBTSettings() { DisplayEnabled = false; FirstBoot = true; DisplayIndex = 0; HwSelfTest = true; BusConfig = new BusConfig[3]; for (int b = 0; b < BusConfig.Length; b++) { BusConfig[b].BitRate = 125; BusConfig[b].Mode = CanMode.Normal; } Pid = new Pid[8]; for (int p = 0; p < Pid.Length; p++) { Pid[p] = new Pid(); } }
public CBTSettings(byte[] eeprom) { if (eeprom.Length != EEPROM_SIZE) throw new Exception("Invalid EEPROM size (expected " + EEPROM_SIZE + "bytes)"); DisplayEnabled = (eeprom[0] == 1); FirstBoot = (eeprom[1] == 1); DisplayIndex = eeprom[2]; int pos = 3; BusConfig = new BusConfig[3]; for (int b = 0; b < BusConfig.Length; b++) { BusConfig[b].BitRate = eeprom[pos] + (eeprom[pos + 1] << 8); BusConfig[b].Mode = (CanMode)eeprom[pos + 2]; pos += 4; } HwSelfTest = (eeprom[pos++] == 1); pos += 4; // Skip unused placeholders Pid = new Pid[8]; for (int p = 0; p < Pid.Length; p++) { Pid[p] = new Pid { BusId = eeprom[pos], Settings = eeprom[pos + 1], Value = eeprom[pos + 2] + (eeprom[pos + 3] << 8) }; Buffer.BlockCopy(eeprom, pos + 4, Pid[p].TXD, 0, 8); Buffer.BlockCopy(eeprom, pos + 12, Pid[p].RXF, 0, 6); Buffer.BlockCopy(eeprom, pos + 18, Pid[p].RXD, 0, 2); Buffer.BlockCopy(eeprom, pos + 20, Pid[p].MTH, 0, 6); var name = ""; for (var c = 0; c < 8; c++) name += (char)eeprom[pos + 26 + c]; Pid[p].Name = name.Trim(); pos += 34; } }