Skip to content

Commit

Permalink
Added qml and lisp erase buttons to esp programmer
Browse files Browse the repository at this point in the history
  • Loading branch information
vedderb committed Sep 18, 2024
1 parent b6634f5 commit 033c956
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 27 deletions.
35 changes: 33 additions & 2 deletions pages/pageespprog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}

Expand Down Expand Up @@ -154,6 +164,8 @@ void PageEspProg::on_serialConnectButton_clicked()
}
}
ui->flashButton->setEnabled(true);
ui->eraseLispButton->setEnabled(true);
ui->eraseQmlButton->setEnabled(true);
} break;

default:
Expand Down Expand Up @@ -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!");
}
2 changes: 2 additions & 0 deletions pages/pageespprog.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
101 changes: 76 additions & 25 deletions pages/pageespprog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1021</width>
<height>541</height>
<width>918</width>
<height>444</height>
</rect>
</property>
<property name="windowTitle">
Expand Down Expand Up @@ -110,7 +110,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="tabShape">
<enum>QTabWidget::Triangular</enum>
<enum>QTabWidget::TabShape::Triangular</enum>
</property>
<property name="currentIndex">
<number>0</number>
Expand All @@ -123,7 +123,7 @@
<item>
<widget class="QListWidget" name="fwList">
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
<enum>QAbstractItemView::SelectionBehavior::SelectRows</enum>
</property>
</widget>
</item>
Expand Down Expand Up @@ -231,7 +231,7 @@
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
Expand All @@ -251,17 +251,36 @@
<string>Flash</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="DisplayPercentage" name="progWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="DisplayPercentage" name="progWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="cancelButton">
Expand Down Expand Up @@ -291,14 +310,28 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="eraseLispButton">
<property name="text">
<string>Erase Lisp</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="eraseQmlButton">
<property name="text">
<string>Erase QML</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
Expand All @@ -309,45 +342,63 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Partition Table Offset</string>
<widget class="QSpinBox" name="partOffsetBox">
<property name="prefix">
<string>Partition Table: 0x</string>
</property>
<property name="maximum">
<number>9999999</number>
</property>
<property name="value">
<number>32768</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="partOffsetBox">
<widget class="QSpinBox" name="appOffsetBox">
<property name="prefix">
<string>0x</string>
<string>App: 0x</string>
</property>
<property name="maximum">
<number>9999999</number>
</property>
<property name="value">
<number>32768</number>
<number>131072</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>App Offset</string>
<widget class="QSpinBox" name="lispOffsetBox">
<property name="prefix">
<string>Lisp: 0x</string>
</property>
<property name="maximum">
<number>9999999</number>
</property>
<property name="value">
<number>3407872</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="appOffsetBox">
<widget class="QSpinBox" name="qmlOffsetBox">
<property name="prefix">
<string>0x</string>
<string>Qml: 0x</string>
</property>
<property name="maximum">
<number>9999999</number>
</property>
<property name="value">
<number>131072</number>
<number>3932160</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
Expand Down

0 comments on commit 033c956

Please sign in to comment.