mirror of
https://abf.rosa.ru/djam/IMSProg.git
synced 2025-02-23 08:02:50 +00:00
286 lines
13 KiB
Diff
286 lines
13 KiB
Diff
![]() |
.gear/IMSProg.spec | 101 ++++++++++++++++++++++++++++
|
|||
|
.gear/rules | 3 +
|
|||
|
.gear/tags/list | 1 +
|
|||
|
.gear/upstream/remotes | 3 +
|
|||
|
IMSProg_editor/CMakeLists.txt | 15 ++---
|
|||
|
IMSProg_editor/main.cpp | 2 +-
|
|||
|
IMSProg_editor/other/IMSProg_editor.desktop | 7 +-
|
|||
|
IMSProg_programmer/CMakeLists.txt | 17 +++--
|
|||
|
IMSProg_programmer/main.cpp | 2 +-
|
|||
|
IMSProg_programmer/mainwindow.cpp | 11 +--
|
|||
|
IMSProg_programmer/other/IMSProg.desktop | 5 +-
|
|||
|
11 files changed, 132 insertions(+), 35 deletions(-)
|
|||
|
|
|||
|
diff --git a/.gear/IMSProg.spec b/.gear/IMSProg.spec
|
|||
|
new file mode 100644
|
|||
|
index 0000000..0a33fd2
|
|||
|
--- /dev/null
|
|||
|
+++ b/.gear/IMSProg.spec
|
|||
|
@@ -0,0 +1,101 @@
|
|||
|
+# Unpackaged files in buildroot should terminate build
|
|||
|
+%define _unpackaged_files_terminate_build 1
|
|||
|
+
|
|||
|
+Name: IMSProg
|
|||
|
+Version: 1.0.27
|
|||
|
+Release: alt1
|
|||
|
+
|
|||
|
+Summary: I2C, SPI and MicroWire EEPROM/Flash chip programmer for CH341a devices
|
|||
|
+Summary(ru_RU.UTF-8): I2C, SPI and MicroWire EEPROM/Flash программатор для CH341a устройств
|
|||
|
+License: GPL-3.0-or-later
|
|||
|
+Group: Engineering
|
|||
|
+
|
|||
|
+Url: https://github.com/bigbigmdm/IMSProg
|
|||
|
+Source: %name-%version.tar
|
|||
|
+Patch: %name-%version-%release.patch
|
|||
|
+
|
|||
|
+BuildRequires(pre): rpm-macros-cmake
|
|||
|
+BuildRequires: cmake gcc-c++
|
|||
|
+BuildRequires: qt5-base-devel
|
|||
|
+BuildRequires: qt5-tools
|
|||
|
+BuildRequires: pkgconfig(libusb-1.0)
|
|||
|
+
|
|||
|
+%description
|
|||
|
+IMSProg - Linux IMSProg - I2C, SPI and MicroWire EEPROM/Flash chip programmer
|
|||
|
+for CH341a devices. The IMSProm is a free I2C EEPROM programmer tool for
|
|||
|
+CH341A device based on QhexEdit2 and modify SNANDer programmer.
|
|||
|
+
|
|||
|
+This is a GUI program used widget QhexEditor. For setting the SPI chip
|
|||
|
+parameters you can use the Detect button for reading chip parameters
|
|||
|
+(JEDEC information reading) or manually setting it. The I2C and MicroWire
|
|||
|
+EEPROM only manually selected.
|
|||
|
+
|
|||
|
+The chip database format is clone with EZP2019, EZP2020, EZP2023, Minpro I,
|
|||
|
+XP866+ programmers. You can edit the database use the EZP Chip data Editor.
|
|||
|
+
|
|||
|
+%description -l ru_RU.UTF-8
|
|||
|
+IMSProg - Linux IMSProg - I2C, SPI and MicroWire EEPROM/Flash программатор
|
|||
|
+для CH341a устройств. IMSProm является бесплатной утилитой для
|
|||
|
+использования CH341A устройств в качестве программатора микросхем. Основана на
|
|||
|
+QhexEdit2 и модифицированном программаторе SNANDer.
|
|||
|
+
|
|||
|
+Графический интерфейс программы использует виджеты QhexEditor. Для настройки
|
|||
|
+параметров чипа SPI вы можете использовать кнопку «Поиск» для чтения параметров
|
|||
|
+чипа (считывание информации JEDEC) или настроить его вручную. I2C и MicroWire
|
|||
|
+EEPROM выбираются только вручную.
|
|||
|
+
|
|||
|
+Формат базы данных чипов клонируется программаторами EZP2019, EZP2020, EZP2023,
|
|||
|
+Minpro I, XP866+. Вы можете редактировать базу данных с помощью редактора данных
|
|||
|
+EZP Chip.
|
|||
|
+
|
|||
|
+%prep
|
|||
|
+%setup
|
|||
|
+%patch -p1
|
|||
|
+
|
|||
|
+# update translations
|
|||
|
+lrelease-qt5 IMSProg_editor/language/*.ts
|
|||
|
+lrelease-qt5 IMSProg_programmer/language/*.ts
|
|||
|
+
|
|||
|
+%build
|
|||
|
+pushd IMSProg_editor
|
|||
|
+%cmake
|
|||
|
+%cmake_build
|
|||
|
+popd
|
|||
|
+
|
|||
|
+pushd IMSProg_programmer
|
|||
|
+%cmake
|
|||
|
+%cmake_build
|
|||
|
+popd
|
|||
|
+
|
|||
|
+%install
|
|||
|
+pushd IMSProg_editor
|
|||
|
+%cmake_install
|
|||
|
+popd
|
|||
|
+
|
|||
|
+pushd IMSProg_programmer
|
|||
|
+%cmake_install
|
|||
|
+popd
|
|||
|
+
|
|||
|
+# move udev rules to %_udevrulesdir
|
|||
|
+mkdir -p %buildroot%_udevrulesdir
|
|||
|
+mv %buildroot%_sysconfdir/udev/rules.d/99-CH341.rules \
|
|||
|
+ %buildroot%_udevrulesdir/99-CH341.rules
|
|||
|
+
|
|||
|
+# rename README
|
|||
|
+cp IMSProg_editor/README.md IMSProg_editor.md
|
|||
|
+cp IMSProg_programmer/README.md IMSProg_programmer.md
|
|||
|
+
|
|||
|
+%files
|
|||
|
+%doc README.md IMSProg_editor.md IMSProg_programmer.md
|
|||
|
+%_bindir/%name
|
|||
|
+%_bindir/%{name}_editor
|
|||
|
+%_datadir/%name
|
|||
|
+%_desktopdir/%name.desktop
|
|||
|
+%_desktopdir/%{name}_editor.desktop
|
|||
|
+%_udevrulesdir/99-CH341.rules
|
|||
|
+%_iconsdir/hicolor/64x64/apps/%{name}_editor.png
|
|||
|
+%_iconsdir/hicolor/64x64/apps/%name.png
|
|||
|
+
|
|||
|
+%changelog
|
|||
|
+* Fri Oct 13 2023 Anton Midyukov <antohami@altlinux.org> 1.0.27-alt1
|
|||
|
+- initial build (Closes: 47993)
|
|||
|
diff --git a/.gear/rules b/.gear/rules
|
|||
|
new file mode 100644
|
|||
|
index 0000000..05e5dc2
|
|||
|
--- /dev/null
|
|||
|
+++ b/.gear/rules
|
|||
|
@@ -0,0 +1,3 @@
|
|||
|
+tar: upstream:. exclude=release exclude=img
|
|||
|
+diff: upstream:. . exclude=release exclude=img
|
|||
|
+spec: .gear/IMSProg.spec
|
|||
|
diff --git a/.gear/tags/list b/.gear/tags/list
|
|||
|
new file mode 100644
|
|||
|
index 0000000..57c5b79
|
|||
|
--- /dev/null
|
|||
|
+++ b/.gear/tags/list
|
|||
|
@@ -0,0 +1 @@
|
|||
|
+5699c8c134d175bbadbdb0c88ac495b6546fb2dc upstream
|
|||
|
diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes
|
|||
|
new file mode 100644
|
|||
|
index 0000000..3f0dc3e
|
|||
|
--- /dev/null
|
|||
|
+++ b/.gear/upstream/remotes
|
|||
|
@@ -0,0 +1,3 @@
|
|||
|
+[remote "upstream"]
|
|||
|
+ url = https://github.com/bigbigmdm/IMSProg
|
|||
|
+ fetch = +refs/heads/*:refs/remotes/upstream/*
|
|||
|
diff --git a/IMSProg_editor/CMakeLists.txt b/IMSProg_editor/CMakeLists.txt
|
|||
|
index 426fb2b..54163cd 100644
|
|||
|
--- a/IMSProg_editor/CMakeLists.txt
|
|||
|
+++ b/IMSProg_editor/CMakeLists.txt
|
|||
|
@@ -32,13 +32,12 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
|||
|
target_link_libraries(${PROJECT_NAME} Qt5::Core)
|
|||
|
target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
|
|||
|
|
|||
|
-install(TARGETS ${PROJECT_NAME} DESTINATION /opt/IMSProg)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg_editor.desktop" DESTINATION /opt/IMSProg)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg_editor.desktop" DESTINATION /usr/share/applications)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/chipEdit64.png" DESTINATION /opt/IMSProg)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_ru_RU.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_de_DE.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_es_ES.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_zn_CH.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
+install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg_editor.desktop" DESTINATION ${SHARE_INSTALL_PREFIX}/applications)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/chipEdit64.png" DESTINATION ${SHARE_INSTALL_PREFIX}/icons/hicolor/64x64/apps RENAME IMSProg_editor.png)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_ru_RU.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_de_DE.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_es_ES.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_zn_CH.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
|
|||
|
|
|||
|
diff --git a/IMSProg_editor/main.cpp b/IMSProg_editor/main.cpp
|
|||
|
index d05d6ec..25c6d7d 100644
|
|||
|
--- a/IMSProg_editor/main.cpp
|
|||
|
+++ b/IMSProg_editor/main.cpp
|
|||
|
@@ -8,7 +8,7 @@ int main(int argc, char *argv[])
|
|||
|
QApplication a(argc, argv);
|
|||
|
QTranslator translator;
|
|||
|
QString translateName = "chipEditor_" + QLocale::system().name();
|
|||
|
- if(translator.load(translateName, "language/")) a.installTranslator(&translator);
|
|||
|
+ if(translator.load(translateName, "/usr/share/IMSProg/language/")) a.installTranslator(&translator);
|
|||
|
a.installTranslator(&translator);
|
|||
|
MainWindow w;
|
|||
|
w.show();
|
|||
|
diff --git a/IMSProg_editor/other/IMSProg_editor.desktop b/IMSProg_editor/other/IMSProg_editor.desktop
|
|||
|
index 6e9c120..6ac235e 100644
|
|||
|
--- a/IMSProg_editor/other/IMSProg_editor.desktop
|
|||
|
+++ b/IMSProg_editor/other/IMSProg_editor.desktop
|
|||
|
@@ -2,10 +2,9 @@
|
|||
|
Version=1.0
|
|||
|
Type=Application
|
|||
|
Name=IMSProg_editor
|
|||
|
-Comment=Chip Database Editor
|
|||
|
-Exec=/opt/IMSProg/IMSProg_editor
|
|||
|
-Icon=/opt/IMSProg/chipEdit64.png
|
|||
|
-Path=/opt/IMSProg
|
|||
|
+Comment=Chip Database Editor
|
|||
|
+Exec=IMSProg_editor
|
|||
|
+Icon=IMSProg_editor
|
|||
|
Terminal=false
|
|||
|
Encoding=UTF-8
|
|||
|
Categories=Electronics;Development;
|
|||
|
diff --git a/IMSProg_programmer/CMakeLists.txt b/IMSProg_programmer/CMakeLists.txt
|
|||
|
index 6eb9b00..5f6a0ed 100644
|
|||
|
--- a/IMSProg_programmer/CMakeLists.txt
|
|||
|
+++ b/IMSProg_programmer/CMakeLists.txt
|
|||
|
@@ -82,13 +82,12 @@ target_link_libraries(${PROJECT_NAME} Qt5::Core)
|
|||
|
#target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
|
|||
|
target_link_libraries(${PROJECT_NAME} Qt5::Widgets ${LibUSB_LIBRARIES})
|
|||
|
|
|||
|
-install(TARGETS ${PROJECT_NAME} DESTINATION /opt/IMSProg)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg.desktop" DESTINATION /opt/IMSProg)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg.desktop" DESTINATION /usr/share/applications)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/write64.png" DESTINATION /opt/IMSProg)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/database/IMSProg.Dat" DESTINATION /opt/IMSProg)
|
|||
|
+install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg.desktop" DESTINATION ${SHARE_INSTALL_PREFIX}/applications)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/write64.png" DESTINATION ${SHARE_INSTALL_PREFIX}/icons/hicolor/64x64/apps RENAME IMSProg.png)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/database/IMSProg.Dat" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg)
|
|||
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/99-CH341.rules" DESTINATION /etc/udev/rules.d)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_ru_RU.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_es_ES.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_de_DE.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_zn_CH.qm" DESTINATION /opt/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_ru_RU.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_es_ES.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_de_DE.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_zn_CH.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
|
|||
|
diff --git a/IMSProg_programmer/main.cpp b/IMSProg_programmer/main.cpp
|
|||
|
index 4addf5c..c5db922 100644
|
|||
|
--- a/IMSProg_programmer/main.cpp
|
|||
|
+++ b/IMSProg_programmer/main.cpp
|
|||
|
@@ -25,7 +25,7 @@ int main(int argc, char *argv[])
|
|||
|
QApplication a(argc, argv);
|
|||
|
QTranslator translator;
|
|||
|
QString translateName = "chipProgrammer_" + QLocale::system().name();
|
|||
|
- if(translator.load(translateName, "language/")) a.installTranslator(&translator);
|
|||
|
+ if(translator.load(translateName, "/usr/share/IMSProg/language/")) a.installTranslator(&translator);
|
|||
|
a.installTranslator(&translator);
|
|||
|
MainWindow w;
|
|||
|
w.show();
|
|||
|
diff --git a/IMSProg_programmer/mainwindow.cpp b/IMSProg_programmer/mainwindow.cpp
|
|||
|
index fc87a7d..084be24 100644
|
|||
|
--- a/IMSProg_programmer/mainwindow.cpp
|
|||
|
+++ b/IMSProg_programmer/mainwindow.cpp
|
|||
|
@@ -126,7 +126,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
|
hexEdit->setHexFontColor(defaultTextColor);
|
|||
|
//opening chip database file
|
|||
|
ui->statusBar->showMessage(tr("Opening DAT file"));
|
|||
|
- QFile datfile("IMSProg.Dat");
|
|||
|
+ QFile datfile("/usr/share/IMSProg/IMSProg.Dat");
|
|||
|
QByteArray dataChips;
|
|||
|
if (!datfile.open(QIODevice::ReadOnly))
|
|||
|
{
|
|||
|
@@ -1223,14 +1223,7 @@ void MainWindow::on_actionChecksum_calculate_triggered()
|
|||
|
|
|||
|
void MainWindow::on_actionEdit_chips_Database_triggered()
|
|||
|
{
|
|||
|
- if(QFileInfo::exists("IMSProg_editor") && !QDir("IMSProg_editor").exists()){
|
|||
|
- //The file exists and is not a folder
|
|||
|
- QProcess::execute("IMSProg_editor");
|
|||
|
- }
|
|||
|
- else {
|
|||
|
- //The file doesn't exist, either the path doesn't exist or is the path of a folder
|
|||
|
- QMessageBox::about(this, tr("Error"), tr("Not found file `IMSProg_editor`!"));
|
|||
|
- }
|
|||
|
+ QProcess::execute("IMSProg_editor");
|
|||
|
}
|
|||
|
|
|||
|
void MainWindow::doNotDisturb()
|
|||
|
diff --git a/IMSProg_programmer/other/IMSProg.desktop b/IMSProg_programmer/other/IMSProg.desktop
|
|||
|
index df1a761..d192d0b 100644
|
|||
|
--- a/IMSProg_programmer/other/IMSProg.desktop
|
|||
|
+++ b/IMSProg_programmer/other/IMSProg.desktop
|
|||
|
@@ -2,9 +2,8 @@
|
|||
|
Version=1.0
|
|||
|
Type=Application
|
|||
|
Name=IMSProg
|
|||
|
-Icon=/opt/IMSProg/write64.png
|
|||
|
-Exec=/opt/IMSProg/IMSProg
|
|||
|
-Path=/opt/IMSProg/
|
|||
|
+Icon=IMSProg
|
|||
|
+Exec=IMSProg
|
|||
|
NoDisplay=false
|
|||
|
Categories=Electronics;Development;
|
|||
|
StartupNotify=true
|