Skip to content

Commit 3a458e6

Browse files
committed
Implemented firmware update progress
1 parent 1a0ae0a commit 3a458e6

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

qt/main_window.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,8 +604,20 @@ void MainWindow::setProgress(unsigned int progress)
604604

605605
void MainWindow::slotProgFirmwareUpdateCompleted(int status)
606606
{
607+
disconnect(prog, SIGNAL(firmwareUpdateProgress(unsigned int)), this,
608+
SLOT(slotProgFirmwareUpdateProgress(unsigned int)));
609+
disconnect(prog, SIGNAL(firmwareUpdateCompleted(int)), this,
610+
SLOT(slotProgFirmwareUpdateCompleted(int)));
611+
607612
if (!status)
608613
qInfo() << "Firmware update completed. Please restart device.";
614+
615+
setProgress(100);
616+
}
617+
618+
void MainWindow::slotProgFirmwareUpdateProgress(unsigned int progress)
619+
{
620+
setProgress(progress);
609621
}
610622

611623
void MainWindow::slotFirmwareUpdate()
@@ -619,5 +631,7 @@ void MainWindow::slotFirmwareUpdate()
619631
qInfo() << "Firmware update ...";
620632
connect(prog, SIGNAL(firmwareUpdateCompleted(int)), this,
621633
SLOT(slotProgFirmwareUpdateCompleted(int)));
634+
connect(prog, SIGNAL(firmwareUpdateProgress(unsigned int)), this,
635+
SLOT(slotProgFirmwareUpdateProgress(unsigned int)));
622636
prog->firmwareUpdate(fileName);
623637
}

qt/main_window.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ private slots:
5252
void slotProgDetectChipConfCompleted(int status);
5353
void slotProgDetectChipReadChipIdCompleted(int status);
5454
void slotProgFirmwareUpdateCompleted(int status);
55+
void slotProgFirmwareUpdateProgress(unsigned int progress);
5556

5657
public slots:
5758
void slotFileOpen();

qt/programmer.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,8 @@ int Programmer::firmwareImageRead()
446446

447447
void Programmer::firmwareUpdateProgressCb(unsigned int progress)
448448
{
449-
emit firmwareUpdateProgress(progress);
449+
emit firmwareUpdateProgress(progress * 100ULL /
450+
firmwareImage[updateImage].size);
450451
}
451452

452453
void Programmer::firmwareUpdateCb(int ret)

0 commit comments

Comments
 (0)