diff --git a/pages/pageespprog.cpp b/pages/pageespprog.cpp index 141bef65..754eea2f 100644 --- a/pages/pageespprog.cpp +++ b/pages/pageespprog.cpp @@ -111,8 +111,18 @@ void PageEspProg::timerSlot() ui->serialDisconnectButton->setEnabled(mEspFlash.isEspConnected()); ui->flashBlButton->setEnabled(!mEspFlash.isEspConnected() && vescConn && !mVescUploadOngoing); - if (!mEspFlash.isEspConnected() && ui->flashButton->isEnabled()) { - ui->flashButton->setEnabled(false); + if (!mEspFlash.isEspConnected()) { + if (ui->flashButton->isEnabled()) { + ui->flashButton->setEnabled(false); + } + + if (ui->eraseLispButton->isEnabled()) { + ui->eraseLispButton->setEnabled(false); + } + + if (ui->eraseQmlButton->isEnabled()) { + ui->eraseQmlButton->setEnabled(false); + } } } @@ -154,6 +164,8 @@ void PageEspProg::on_serialConnectButton_clicked() } } ui->flashButton->setEnabled(true); + ui->eraseLispButton->setEnabled(true); + ui->eraseQmlButton->setEnabled(true); } break; default: @@ -351,3 +363,22 @@ void PageEspProg::listAllFw() } } +void PageEspProg::on_eraseLispButton_clicked() +{ + ui->eraseLispButton->setEnabled(false); + ui->progWidget->setText("Erasing Lisp..."); + ui->progWidget->setValue(0.0); + mEspFlash.eraseFlash(512 * 1024, ui->lispOffsetBox->value()); + ui->eraseLispButton->setEnabled(true); + ui->progWidget->setText("Done erasing Lisp!"); +} + +void PageEspProg::on_eraseQmlButton_clicked() +{ + ui->eraseLispButton->setEnabled(false); + ui->progWidget->setText("Erasing Qml..."); + ui->progWidget->setValue(0.0); + mEspFlash.eraseFlash(128 * 1024, ui->qmlOffsetBox->value()); + ui->eraseLispButton->setEnabled(true); + ui->progWidget->setText("Done erasing Qml!"); +} diff --git a/pages/pageespprog.h b/pages/pageespprog.h index 7e7efdfb..a8bb67f3 100644 --- a/pages/pageespprog.h +++ b/pages/pageespprog.h @@ -52,6 +52,8 @@ private slots: void on_appChooseButton_clicked(); void on_flashBlButton_clicked(); void on_cancelButton_clicked(); + void on_eraseLispButton_clicked(); + void on_eraseQmlButton_clicked(); private: QTimer *mTimer; diff --git a/pages/pageespprog.ui b/pages/pageespprog.ui index 64fdc6c0..c0307180 100644 --- a/pages/pageespprog.ui +++ b/pages/pageespprog.ui @@ -6,8 +6,8 @@ 0 0 - 1021 - 541 + 918 + 444 @@ -110,7 +110,7 @@ - QTabWidget::Triangular + QTabWidget::TabShape::Triangular 0 @@ -123,7 +123,7 @@ - QAbstractItemView::SelectRows + QAbstractItemView::SelectionBehavior::SelectRows @@ -231,7 +231,7 @@ - Qt::Vertical + Qt::Orientation::Vertical @@ -251,17 +251,36 @@ Flash + + + + + 0 + 0 + + + + + 0 + 30 + + + + - - - - 0 - 0 - + + + Qt::Orientation::Horizontal - + + + 40 + 20 + + + @@ -291,6 +310,20 @@ + + + + Erase Lisp + + + + + + + Erase QML + + + @@ -298,7 +331,7 @@ - Qt::Horizontal + Qt::Orientation::Horizontal @@ -309,22 +342,31 @@ - - - Partition Table Offset + + + Partition Table: 0x + + + 9999999 + + + 32768 + + + 16 - + - 0x + App: 0x 9999999 - 32768 + 131072 16 @@ -332,22 +374,31 @@ - - - App Offset + + + Lisp: 0x + + + 9999999 + + + 3407872 + + + 16 - + - 0x + Qml: 0x 9999999 - 131072 + 3932160 16