Пример #1
0
        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;
        }
Пример #2
0
 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");
 }