public Fuses ReadFuse(CancellationToken CancellationToken) { string output = Run(CancellationToken, new ConnectionParameter(), new DeviceNameParameter(_chipName), new ReadFuseParameter()); CheckOutputForErrors(output, "Fuse byte 0 read"); var r = new Regex(@"Fuse byte (?<key>[012]) read \(0x(?<byte>[0-9a-fA-F]{2})\)"); var res = new Fuses(); foreach (Match m in r.Matches(output).OfType<Match>()) { int i = int.Parse(m.Groups["key"].Value); byte val = Convert.ToByte(m.Groups["byte"].Value, 16); switch (i) { case 0: res.FuseL = val; break; case 1: res.FuseH = val; break; case 2: res.FuseE = val; break; } } return res; }
public void WriteFuse(Fuses f, CancellationToken CancellationToken) { string output = Run(CancellationToken, new ConnectionParameter(), new DeviceNameParameter(_chipName), new WriteFuseParameter(f.FuseH, f.FuseL), new WriteExtendedFuseParameter(f.FuseE)); CheckOutputForErrors(output, "Fuse bits programmed"); }