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)));
}