SirenOfShame.Lib.Device.SirenOfShameDevice.PerformFirmwareUpgrade C# (CSharp) Method

PerformFirmwareUpgrade() public method

public PerformFirmwareUpgrade ( Stream hexFileStream, Action progressFunc ) : void
hexFileStream Stream
progressFunc Action
return void
        public void PerformFirmwareUpgrade(Stream hexFileStream, Action<int> progressFunc)
        {
            _log.Info("Starting firmware upgrade");
            TryConnect();
            if (IsConnected)
            {
                SendControlPacket(controlByte: ControlByte1Flags.FirmwareUpgrade);
            }
            progressFunc(10);
            var programmer = new TeensyHidBootloaderProgrammer(McuType.ATMega32u2);
            programmer.Program(hexFileStream, true, true, new TimeSpan(0, 0, 1, 0), i => progressFunc(10 + (int)(i * 90.0 / 100.0)));
        }