From 6f53d5097c8c89305dcaa61f521baa568edfa321 Mon Sep 17 00:00:00 2001 From: Gama Date: Mon, 20 Sep 2021 17:38:34 +0300 Subject: [PATCH] first push --- .gitignore | 73 ++++++++++++++++++++++++++ CMakeLists.txt | 49 ++++++++++++++++++ Config_File.cfg | 7 +++ FlashAwr/qt.conf | 3 ++ FlashRadar_ru_RU.ts | 27 ++++++++++ include/mainwindow.h | 28 ++++++++++ mainwindow.ui | 119 +++++++++++++++++++++++++++++++++++++++++++ src/main.cpp | 11 ++++ src/mainwindow.cpp | 103 +++++++++++++++++++++++++++++++++++++ 9 files changed, 420 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 Config_File.cfg create mode 100644 FlashAwr/qt.conf create mode 100644 FlashRadar_ru_RU.ts create mode 100644 include/mainwindow.h create mode 100644 mainwindow.ui create mode 100644 src/main.cpp create mode 100644 src/mainwindow.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fab7372 --- /dev/null +++ b/.gitignore @@ -0,0 +1,73 @@ +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..fa6ecd4 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 3.5) + +project(FlashRadar LANGUAGES CXX) + +set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Qt5 COMPONENTS Widgets LinguistTools REQUIRED) +find_package(PIP REQUIRED) + +if(NOT DEFINED BUILD_NUMBER) + set(BUILD_NUMBER 9999) +endif() + +set(COMPANY_NAME "НПП «ИТЭЛМА»") +set_version(${PROJECT_NAME} MAJOR 1 MINOR 2 BUILD ${BUILD_NUMBER}) +set_deploy_property(${PROJECT_NAME} + LABEL "${PROJECT_NAME}" + COMPANY ${COMPANY_NAME} + FULLNAME "su.itelma.flashradar" + INFO "Flasher Radar") +make_rc(${PROJECT_NAME} out_RC) + +add_executable(${PROJECT_NAME} + src/main.cpp + src/mainwindow.cpp + include/mainwindow.h + mainwindow.ui + ) + +target_link_libraries(FlashRadar PRIVATE Qt5::Widgets) + +qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) + +if(COMMAND qt_create_translation) + qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +else() + qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +endif() + +install(TARGETS ${PROJECT_NAME} DESTINATION bin) +deploy_target(${PROJECT_NAME} DEPLOY_DIR ${CMAKE_INSTALL_PREFIX}/bin DESTINATION ${CMAKE_INSTALL_PREFIX}/release) diff --git a/Config_File.cfg b/Config_File.cfg new file mode 100644 index 0000000..1735dd6 --- /dev/null +++ b/Config_File.cfg @@ -0,0 +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 +awrcanflasher.path=C:/flasher/awrcanflasher/awrcanflasher.exe +file.firmware=C:/flasher/awrcanflasher/awrcanflasher.exe \ No newline at end of file diff --git a/FlashAwr/qt.conf b/FlashAwr/qt.conf new file mode 100644 index 0000000..cba1197 --- /dev/null +++ b/FlashAwr/qt.conf @@ -0,0 +1,3 @@ +[Paths] + Plugins = ./ + Translations = lang/ diff --git a/FlashRadar_ru_RU.ts b/FlashRadar_ru_RU.ts new file mode 100644 index 0000000..d3a0289 --- /dev/null +++ b/FlashRadar_ru_RU.ts @@ -0,0 +1,27 @@ + + + + + MainWindow + + + MainWindow + + + + + Левый + + + + + Правый + + + + + Прошить + + + + diff --git a/include/mainwindow.h b/include/mainwindow.h new file mode 100644 index 0000000..04b3186 --- /dev/null +++ b/include/mainwindow.h @@ -0,0 +1,28 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private slots: + void on_pushButton_left_pressed(); + + void on_pushButton_right_pressed(); + + void on_pushButton_flash_pressed(); + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..921e1d6 --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,119 @@ + + + MainWindow + + + + 0 + 0 + 939 + 653 + + + + MainWindow + + + + + + + Qt::Vertical + + + + Qt::Horizontal + + + + true + + + + Times New Roman + 22 + + + + false + + + Левый + + + false + + + false + + + + + true + + + + Times New Roman + 22 + + + + Правый + + + + + + true + + + + Times New Roman + 22 + + + + 24 + + + + + + Times New Roman + 22 + + + + true + + + + + + Times New Roman + 22 + + + + Прошить + + + + + + + + + + 0 + 0 + 939 + 22 + + + + + + + + diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..32c6a54 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,11 @@ +#include "../include/mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp new file mode 100644 index 0000000..2223e9d --- /dev/null +++ b/src/mainwindow.cpp @@ -0,0 +1,103 @@ +#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; + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + QString file_path = QCoreApplication::applicationDirPath() + "/Config_File.cfg"; + QFile file(file_path); + file.open(QIODevice::OpenModeFlag::ReadOnly); + if(!file.isOpen()) exit(-1); + + for(int i = 0; i < 7; i ++){ + QString str = file.readLine(); + str.remove("\r\n"); + QStringList lst = str.split("=", QString::SkipEmptyParts); + switch(i){ + case 0: + can = lst[1]; + break; + case 1: + serial_stm = lst[1]; + break; + case 2: + serial_radar = lst[1]; + break; + case 3: + FlashAwr = lst[1]; + break; + case 4: + file_sbl = lst[1]; + break; + case 5: + awrcanflasher = lst[1]; + break; + case 6: + file_firemware = lst[1]; + break; + default: + exit(-2); + break; + } + } + ui->setupUi(this); + ui->progressBar->setValue(0); + ui->lineEdit->setAlignment(Qt::AlignmentFlag::AlignCenter); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + + +void MainWindow::on_pushButton_left_pressed() +{ + ui->pushButton_right->setStyleSheet("background-color: lightGray"); + ui->pushButton_left->setStyleSheet("background-color: lightGreen"); + ui->lineEdit->setText("Готов"); + ui->lineEdit->setStyleSheet("background-color: white"); +} + +void MainWindow::on_pushButton_right_pressed() +{ + ui->pushButton_right->setStyleSheet("background-color: lightGreen"); + ui->pushButton_left->setStyleSheet("background-color: lightGray"); + ui->lineEdit->setText("Готов"); + ui->lineEdit->setStyleSheet("background-color: white"); +} + +void MainWindow::on_pushButton_flash_pressed() +{ + + ui->pushButton_left->setDisabled(true); + ui->pushButton_right->setDisabled(true); + ui->pushButton_flash->setDisabled(true); + + ui->lineEdit->setText("Идёт прошивка"); + ui->lineEdit->setStyleSheet("background-color: yellow"); + for(int i = 0; i <= 100; i++ ){ + ui->progressBar->setValue(i); + qApp->processEvents(); + } + ui->lineEdit->setText("Успешно"); + ui->lineEdit->setStyleSheet("background-color: lightGreen"); + + ui->pushButton_left->setDisabled(false); + ui->pushButton_right->setDisabled(false); + ui->pushButton_flash->setDisabled(false); + +}