diff --git a/Config_File.cfg b/Config_File.cfg index 1735dd6..4c625c5 100644 --- a/Config_File.cfg +++ b/Config_File.cfg @@ -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 \ No newline at end of file +file.firmware=C:/file/FlashRadar/bin/srr_master_GAZ_radar_report_right_jpda_bsd_on_kx_off.bin \ No newline at end of file diff --git a/bin/sbl_sbl6_awr1642_id1.bin b/bin/sbl_sbl6_awr1642_id1.bin new file mode 100644 index 0000000..7bc1d38 Binary files /dev/null and b/bin/sbl_sbl6_awr1642_id1.bin differ diff --git a/bin/sbl_sbl6_awr1642_id2.bin b/bin/sbl_sbl6_awr1642_id2.bin new file mode 100644 index 0000000..a625e5e Binary files /dev/null and b/bin/sbl_sbl6_awr1642_id2.bin differ diff --git a/bin/srr_master_GAZ_radar_report_left_jpda_bsd_on_kx_off.bin b/bin/srr_master_GAZ_radar_report_left_jpda_bsd_on_kx_off.bin new file mode 100644 index 0000000..a61ac4a Binary files /dev/null and b/bin/srr_master_GAZ_radar_report_left_jpda_bsd_on_kx_off.bin differ diff --git a/bin/srr_master_GAZ_radar_report_right_jpda_bsd_on_kx_off.bin b/bin/srr_master_GAZ_radar_report_right_jpda_bsd_on_kx_off.bin new file mode 100644 index 0000000..7966ecd Binary files /dev/null and b/bin/srr_master_GAZ_radar_report_right_jpda_bsd_on_kx_off.bin differ diff --git a/include/mainwindow.h b/include/mainwindow.h index 04b3186..c1e3ec0 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -2,6 +2,10 @@ #define MAINWINDOW_H #include +#include +#include +#include +#include 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 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2223e9d..4329cb1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,17 +1,7 @@ #include "../include/mainwindow.h" #include "../ui_mainwindow.h" -#include -#include -#include -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->lineEdit->setText("Успешно"); - ui->lineEdit->setStyleSheet("background-color: lightGreen"); ui->pushButton_left->setDisabled(false); ui->pushButton_right->setDisabled(false); ui->pushButton_flash->setDisabled(false); - }