Skip to content

Commit

Permalink
0.3.5 - bug fixes and other minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Miroshka000 committed Nov 17, 2024
1 parent dc8cb32 commit 963bfe8
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 48 deletions.
1 change: 0 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

108 changes: 68 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,88 @@
# M5ClientMX 🌟
# 🎉 M5ClientMX

Добро пожаловать в проект **M5ClientMX**! Это приложение создано для упрощения процесса прошивки микропрограмм на различные устройства M5, что позволяет вам легко поддерживать оборудование в актуальном состоянии и обеспечивать его оптимальную работу. 🚀
Добро пожаловать в **M5ClientMX** — удобный инструмент для управления устройствами серии M5Stack! 🚀

## Функции 🛠️
- **Удобный интерфейс**: Интуитивный дизайн для легкой навигации и работы.
- **Управление прошивками**: Легко скачивайте и прошивайте микропрограммы для различных устройств M5.
- **Отслеживание прогресса**: Отображение текущего статуса во время установки прошивки.
- **Установка драйверов**: Упростите процесс установки необходимых драйверов для ваших устройств.
- **Пользовательские уведомления**: Получайте уведомления об успехах или ошибках с полезной информацией.
## 📖 Описание

## Начало работы 🚀
M5ClientMX — это приложение с графическим интерфейсом, которое позволяет:
- 📦 **Устанавливать прошивки** на устройства.
- ⚙️ **Управлять конфигурацией** в настройках
- 🔌 **Работать с COM-портами** для подключения устройств.
- 🌍 **Поддерживать несколько языков** (включая русский и английский).
- 🖥️ **Автоматически загружать зависимости и драйверы** для устройств.

### Предварительные требования
- Java Development Kit (JDK) 21 или выше
- Grable (для сборки проекта)
- Совместимое устройство M5
---

## 🛠️ Основные возможности

### 🔧 Управление прошивками
- Выберите устройство и прошивку.
- Установите прошивку с отслеживанием прогресса.

### 🗂️ Работа с настройками
- Настройте язык, устройство, COM-порт и другие параметры.
- Сохраните настройки в файл конфигурации.

### 🌐 Мультиязычность
- Поддерживаются русский и английский языки.
- Переключение языка на лету через интерфейс.

### 🔌 Подключение устройств
- Автоматическое обнаружение COM-портов.
- Быстрая установка драйверов для поддерживаемых устройств.

### ⚡ Установка зависимостей
- Установка `esptool` и необходимых библиотек автоматически.

---

## 🚀 Установка и запуск

# **Установка**
### 1. 📥 Скачайте репозиторий
Скачайте или клонируйте проект с помощью кнопки **Code → Download ZIP**.

## Сборка и запуск приложения
### 2. 🛠️ Настройка
- Убедитесь, что у вас установлены **Java 21** и **JavaFX**.
- Создайте файл `miroshka_config.properties` (создается автоматически при первом запуске).

### Клонируйте репозиторий
git clone https://github.com/Miroshka000/M5ClientMX.git
cd M5ClientMX
### 3. ▶️ Запуск
- Запустите приложение с помощью вашей IDE (например, IntelliJ IDEA) или выполните сборку через Maven.

---

## **Соберите проект и запустите приложение**
./gradlew build
./gradlew run
## 💡 Использование

## **Создание файла (.exe)**
1. Подключите устройство через USB.
2. Выберите устройство и порт в интерфейсе.
3. Выберите прошивку и нажмите **Установить**.
4. Наслаждайтесь простотой работы! 😊

./gradlew jpackage
---

После выполнения команды `./gradlew jpackage`, установочный файл (.exe) для запуска приложения будет находиться в папке `build/installer/M5ClientMX`
## 🔧 Требования
- **Java 11 или выше**.
- **Windows** для полной поддержки драйверов.
- Поддерживаемые устройства: `Plus2`, `Card`, `Plus1`.

---

### Использование 🖥️
- **Выберите ваше устройство**: Выберите подходящее устройство из выпадающего списка.
- **Выберите COM порт**: Выберите правильный COM порт, подключенный к вашему устройству.
- **Выберите прошивку**: Выберите прошивку, которую хотите установить, из доступных вариантов.
- **Установите драйверы**: При необходимости нажмите кнопку для установки требуемых драйверов для вашего устройства.
- **Прошивка устройства**: Нажмите кнопку "Установить", чтобы начать процесс прошивки, и наблюдайте за индикатором выполнения.
## 🏗️ Планируемые улучшения
- 🌟 Добавить поддержку macOS и Linux.
- 🔍 Расширить выбор прошивок.
- 📱 Создать мобильную версию для Android.

## Вклад в проект 🤝
Мы приветствуем участие сообщества! Если хотите помочь улучшить проект, создайте форк репозитория, внесите изменения и отправьте pull request.
---

### Сообщение об ошибках 🐛
Если вы столкнулись с проблемами или ошибками, пожалуйста, сообщите о них в [разделе проблем](https://github.com/Miroshka000/M5ClientMX/issues) этого репозитория.
## 📩 Обратная связь
Если у вас есть вопросы или предложения:
- Создайте [Issue](https://github.com/Miroshka000/M5ClientMX/issues).
- Напишите нам на [GitHub Discussions](https://github.com/Miroshka000/M5ClientMX/discussions).

## Лицензия 📄
Этот проект лицензирован по лицензии MIT - см. файл [LICENSE](LICENSE) для подробностей.
---

## Благодарности 🙏
- [Esptool](https://github.com/espressif/esptool) за предоставление инструмента для прошивки микропрограмм.
- [Apache Commons IO](https://commons.apache.org/proper/commons-io/) за утилиты для работы с файлами.
## 📝 Лицензия
Проект распространяется под лицензией **GPL-3.0 license**. Подробнее в [LICENSE](LICENSE.txt). 🧾

---

Спасибо, что ознакомились с **M5ClientMX**! Мы надеемся, что этот инструмент поможет вам в ваших проектах и улучшит ваш опыт работы с устройствами M5 🎉
**Спасибо, что используете M5ClientMX!** 🛠️
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
}

group = "miroshka"
version = "0.3.4"
version = "0.3.5"

repositories {
mavenCentral()
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/miroshka/model/Firmware.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

public enum Firmware {
CATHACK("CatHack", "/miroshka/images/cathack.png", "#ff8e19",
"https://github.com/Stachugit/CatHack/releases/download/CatHackv1.3_IRfix/CatHack_v1.3.bin",
"https://github.com/Stachugit/CatHack/releases/download/CatHackv1.4/CatHack_v1.4.bin",
"UNAVAILABLE",
"UNAVAILABLE"),
BRUCE("Bruce", "/miroshka/images/bruce.png", "#a82da4", "DYNAMIC", "DYNAMIC", "DYNAMIC"),
Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/miroshka/view/MainUI.fxml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
<ImageView fx:id="decorativeImageView1" fitHeight="300.0" fitWidth="300.0" layoutX="230.0" layoutY="14.0" />
<ImageView fx:id="decorativeImageView2" fitHeight="50.0" fitWidth="150.0" layoutX="486.0" layoutY="139.0" />

<Button fx:id="installButton" layoutX="230.0" layoutY="407.0" onAction="#onInstallButtonClick" prefHeight="45.0" minWidth="123.0" />
<Button fx:id="installButton" layoutX="230.0" layoutY="407.0" minWidth="123.0" onAction="#onInstallButtonClick" prefHeight="45.0" />

<ComboBox fx:id="firmwareMenu" layoutX="591.0" layoutY="345.0" onAction="#onFirmwareMenuChange" />

<Button fx:id="driversButton" layoutX="402.0" layoutY="407.0" onAction="#onDriversButtonClick" prefHeight="45.0" minWidth="123.0" />
<Button fx:id="driversButton" layoutX="402.0" layoutY="407.0" minWidth="123.0" onAction="#onDriversButtonClick" prefHeight="45.0" />

<Label fx:id="deviceLabel" layoutX="435.0" layoutY="311.0" />
<ComboBox fx:id="deviceMenu" layoutX="425.0" layoutY="345.0" onAction="#onDeviceMenuChange" />
Expand All @@ -26,7 +26,7 @@

<ImageView fx:id="firmwareImageView" fitHeight="114.0" fitWidth="200.0" layoutY="6.0" preserveRatio="true" />

<TextArea fx:id="consoleOutput" editable="false" layoutY="106.0" prefHeight="351.0" prefWidth="200.0" />
<TextArea fx:id="consoleOutput" editable="false" layoutY="106.0" prefHeight="351.0" prefWidth="217.0" />
<Label fx:id="firmwareLabel" layoutX="592.0" layoutY="311.0" />

<ProgressBar fx:id="progressBar" layoutX="224.0" layoutY="287.0" prefWidth="300.0" visible="false" />
Expand All @@ -38,9 +38,9 @@
<Label fx:id="betaSectionLabel" layoutX="76.0" layoutY="24.0" textFill="WHITE" />
<CheckBox fx:id="autoUpdateCheckBox" layoutX="77.0" layoutY="101.0" textFill="WHITE" />
<CheckBox fx:id="notificationsCheckBox" layoutX="77.0" layoutY="148.0" textFill="WHITE" />
<CheckBox fx:id="devModeCheckBox" layoutX="77.0" layoutY="200.0" text="Developer Mode" textFill="WHITE" onAction="#onDevModeToggle" />
<CheckBox fx:id="devModeCheckBox" layoutX="77.0" layoutY="200.0" onAction="#onDevModeToggle" text="Developer Mode" textFill="WHITE" />

<Button fx:id="saveSettingsButton" layoutX="70.0" layoutY="399.0" text="Save Settings" onAction="#saveConfig" />
<Button fx:id="saveSettingsButton" layoutX="70.0" layoutY="399.0" onAction="#saveConfig" text="Save Settings" />

<Label fx:id="languageLabel" layoutX="510.0" layoutY="97.0" textFill="WHITE" />
<ComboBox fx:id="languageMenu" layoutX="593.0" layoutY="88.0" onAction="#onLanguageChange" />
Expand Down

0 comments on commit 963bfe8

Please sign in to comment.