add flash sbl

This commit is contained in:
2021-09-21 19:04:29 +03:00
parent 6f53d5097c
commit 3628a30231
7 changed files with 78 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
can=PEAK
serial.stm=COM11
serial.radar=COM6
FlashAwr.path=C:/ti/uniflash_6.2.0/deskdb/content/TICloudAgent/win/ccs_base/DebugServer/bin/DSLite.exe
file.sbl=C:/ti/uniflash_6.2.0/deskdb/content/TICloudAgent/win/ccs_base/DebugServer/bin/DSLite.exe
serial.radar=COM5
FlashAwr.path=C:/file/FlashRadar/FlashAwr/FlashAwr.exe
file.sbl=C:/file/FlashRadar/bin/sbl_sbl6_awr1642_id1.bin
awrcanflasher.path=C:/flasher/awrcanflasher/awrcanflasher.exe
file.firmware=C:/flasher/awrcanflasher/awrcanflasher.exe
file.firmware=C:/file/FlashRadar/bin/srr_master_GAZ_radar_report_right_jpda_bsd_on_kx_off.bin

Binary file not shown.

Binary file not shown.

View File

@@ -2,6 +2,10 @@
#define MAINWINDOW_H
#include <QMainWindow>
#include <QProcess>
#include <iostream>
#include <QFile>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
@@ -22,7 +26,34 @@ private slots:
void on_pushButton_flash_pressed();
void print_sbl();
void started_sbl();
void finished_sbl();
private:
int flash_sbl();
Ui::MainWindow *ui;
QProcess *flash = new QProcess(this);
QString FlashAwr_arg;
QString can;
QString serial_stm;
QString serial_radar;
QString FlashAwr;
QString file_sbl;
QString awrcanflasher;
QString file_firemware;
};
#endif // MAINWINDOW_H

View File

@@ -1,17 +1,7 @@
#include "../include/mainwindow.h"
#include "../ui_mainwindow.h"
#include <iostream>
#include <QFile>
#include <QDebug>
using namespace std;
QString can;
QString serial_stm;
QString serial_radar;
QString FlashAwr;
QString file_sbl;
QString awrcanflasher;
QString file_firemware;
using namespace std;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
@@ -56,6 +46,7 @@ MainWindow::MainWindow(QWidget *parent)
ui->setupUi(this);
ui->progressBar->setValue(0);
ui->lineEdit->setAlignment(Qt::AlignmentFlag::AlignCenter);
ui->pushButton_flash->setDisabled(true);
}
MainWindow::~MainWindow()
@@ -70,6 +61,10 @@ void MainWindow::on_pushButton_left_pressed()
ui->pushButton_left->setStyleSheet("background-color: lightGreen");
ui->lineEdit->setText("Готов");
ui->lineEdit->setStyleSheet("background-color: white");
file_sbl.replace("id1", "id2");
file_firemware.replace("right", "left");
FlashAwr_arg = FlashAwr + " -s " + serial_radar + " -f " + file_sbl;
ui->pushButton_flash->setDisabled(false);
}
void MainWindow::on_pushButton_right_pressed()
@@ -78,26 +73,56 @@ void MainWindow::on_pushButton_right_pressed()
ui->pushButton_left->setStyleSheet("background-color: lightGray");
ui->lineEdit->setText("Готов");
ui->lineEdit->setStyleSheet("background-color: white");
file_sbl.replace("id2", "id1");
file_firemware.replace("left", "right");
FlashAwr_arg = FlashAwr + " -s " + serial_radar + " -f " + file_sbl;
ui->pushButton_flash->setDisabled(false);
}
void MainWindow::on_pushButton_flash_pressed()
{
ui->pushButton_left->setDisabled(true);
ui->pushButton_right->setDisabled(true);
ui->pushButton_flash->setDisabled(true);
flash_sbl();
}
int MainWindow::flash_sbl()
{
QObject::connect(flash, SIGNAL(readyReadStandardOutput()), this, SLOT(print_sbl()));
QObject::connect(flash, SIGNAL(started()), this, SLOT(started_sbl()));
QObject::connect(flash, SIGNAL(finished(int , QProcess::ExitStatus )), this, SLOT(finished_sbl()));
flash->start(FlashAwr_arg);
return 0;
}
void MainWindow::print_sbl()
{
QString output = flash->readAllStandardOutput ();
if(output.left(8) == "loaded: "){
output.remove("%\r\n");
ui->progressBar->setValue(output.split(" ", QString::SkipEmptyParts)[1].toInt()/2);
}
}
void MainWindow::started_sbl()
{
ui->lineEdit->setText("Идёт прошивка");
ui->lineEdit->setStyleSheet("background-color: yellow");
for(int i = 0; i <= 100; i++ ){
ui->progressBar->setValue(i);
qApp->processEvents();
}
void MainWindow::finished_sbl()
{
if(flash->exitCode() != 0){
ui->lineEdit->setText("Не удалось");
ui->lineEdit->setStyleSheet("background-color: Red");
}
else{
ui->lineEdit->setText("Успешно");
ui->lineEdit->setStyleSheet("background-color: lightGreen");
}
ui->pushButton_left->setDisabled(false);
ui->pushButton_right->setDisabled(false);
ui->pushButton_flash->setDisabled(false);
}