using CommunityToolkit.Mvvm.ComponentModel; namespace HC_APTBS.Models { /// /// A named EEPROM unlock password. Persisted in /// %UserProfile%\.HC_APTBS\config\eeprom_passwords.xml and managed by /// the Developer Tools page's password library. /// /// Applying a password sends the KWP unlock packet /// [0x18 0x00 Zone KeyHi KeyLo] over the persistent K-Line session. /// Keys vary across pump variants, so users typically include the variant /// in to disambiguate. /// public sealed partial class EepromPassword : ObservableObject { /// Display name shown in the password list (e.g. "Bosch v2 — Zone 0"). [ObservableProperty] private string _name = string.Empty; /// EEPROM zone identifier (typically 0–3 plus 8 for the magic zone). [ObservableProperty] private byte _zone; /// 16-bit unlock key. Big-endian on the wire (KeyHi then KeyLo). [ObservableProperty] private ushort _key; } }