diff --git a/commands.cpp b/commands.cpp
index e3c1e0ff7..9e0d90142 100755
--- a/commands.cpp
+++ b/commands.cpp
@@ -2048,6 +2048,14 @@ void Commands::lispGetStats()
emitData(vb);
}
+void Commands::lispSendReplCmd(QString str)
+{
+ VByteArray vb;
+ vb.vbAppendUint8(COMM_LISP_REPL_CMD);
+ vb.vbAppendString(str);
+ emitData(vb);
+}
+
void Commands::setBleName(QString name)
{
VByteArray vb;
diff --git a/commands.h b/commands.h
index e2264f3dd..b4f3988d6 100644
--- a/commands.h
+++ b/commands.h
@@ -246,6 +246,7 @@ public slots:
void lispEraseCode();
void lispSetRunning(bool running);
void lispGetStats();
+ void lispSendReplCmd(QString str);
void setBleName(QString name);
void setBlePin(QString pin);
diff --git a/datatypes.h b/datatypes.h
index ad3166e2c..9f5708f8a 100644
--- a/datatypes.h
+++ b/datatypes.h
@@ -950,7 +950,12 @@ typedef enum {
COMM_LISP_ERASE_CODE,
COMM_LISP_SET_RUNNING,
COMM_LISP_GET_STATS,
- COMM_LISP_PRINT
+ COMM_LISP_PRINT,
+
+ COMM_BMS_SET_BATT_TYPE,
+ COMM_BMS_GET_BATT_TYPE,
+
+ COMM_LISP_REPL_CMD,
} COMM_PACKET_ID;
// CAN commands
diff --git a/pages/pagelisp.cpp b/pages/pagelisp.cpp
index 808797d0f..07c9d5d90 100644
--- a/pages/pagelisp.cpp
+++ b/pages/pagelisp.cpp
@@ -49,7 +49,7 @@ PageLisp::PageLisp(QWidget *parent) :
ui->uploadButton->setIcon(QIcon(theme +"icons/Download-96.png"));
ui->readExistingButton->setIcon(QIcon(theme +"icons/Upload-96.png"));
ui->eraseButton->setIcon(QIcon(theme +"icons/Delete-96.png"));
- ui->rescaleButton->setIcon(QPixmap(theme + "icons/expand_off.png"));
+ ui->replHelpButton->setIcon(QPixmap(theme + "icons/Help-96.png"));
QIcon mycon = QIcon(theme + "icons/expand_off.png");
mycon.addPixmap(QPixmap(theme + "icons/expand_on.png"), QIcon::Normal, QIcon::On);
@@ -798,3 +798,14 @@ void PageLisp::on_helpButton_clicked()
HelpDialog::showHelpMonospace(this, "VESC Tool Script Editor", html.replace(" "," "));
}
+
+void PageLisp::on_replEdit_returnPressed()
+{
+ mVesc->commands()->lispSendReplCmd(ui->replEdit->text());
+ ui->replEdit->clear();
+}
+
+void PageLisp::on_replHelpButton_clicked()
+{
+ mVesc->commands()->lispSendReplCmd(":help");
+}
diff --git a/pages/pagelisp.h b/pages/pagelisp.h
index abba3ab74..0c324d579 100644
--- a/pages/pagelisp.h
+++ b/pages/pagelisp.h
@@ -54,6 +54,8 @@ private slots:
void on_eraseButton_clicked();
void on_rescaleButton_clicked();
void on_helpButton_clicked();
+ void on_replEdit_returnPressed();
+ void on_replHelpButton_clicked();
private:
Ui::PageLisp *ui;
diff --git a/pages/pagelisp.ui b/pages/pagelisp.ui
index d61dbb887..3e2bcc097 100644
--- a/pages/pagelisp.ui
+++ b/pages/pagelisp.ui
@@ -317,15 +317,56 @@
Console
-
+
-
-
-
-
- DejaVu Sans Mono
-
+
+
+ 3
-
+
-
+
+
+
+ DejaVu Sans Mono
+
+
+
+
+ -
+
+
-
+
+
+ Repl
+
+
+
+ -
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Print available commands
+
+
+
+
+
+
+ :/res/+theme_light/icons/Help-96.png:/res/+theme_light/icons/Help-96.png
+
+
+
+
+
+
-
@@ -680,6 +721,11 @@
1
+
+ HistoryLineEdit
+ QLineEdit
+ widgets/historylineedit.h
+