private void WriteEeprom(IKW1281Dialog kwp1281, uint address, byte value) { UnlockControllerForEepromReadWrite(kwp1281); kwp1281.WriteEeprom((ushort)address, new List <byte> { value }); }
private static void WriteEeprom( IKW1281Dialog kwp1281, ushort startAddr, byte[] bytes, uint maxWriteLength) { var succeeded = true; var length = bytes.Length; for (uint addr = startAddr; addr < (startAddr + length); addr += maxWriteLength) { var writeLength = (byte)Math.Min(startAddr + length - addr, maxWriteLength); if (!kwp1281.WriteEeprom( (ushort)addr, bytes.Skip((int)(addr - startAddr)).Take(writeLength).ToList())) { succeeded = false; } } if (!succeeded) { Logger.WriteLine("EEPROM write failed. You should probably try again."); } }