From 9a0345f13a76500ade7dbf5b320efa8a887dc41e Mon Sep 17 00:00:00 2001 From: Bruno Bronosky Date: Fri, 16 Jul 2021 08:46:19 -0500 Subject: [PATCH 1/3] Add link to Miniware official website The URL used is a list of Miniware soldering irons each of which include links to their own firmware downloads. --- Documentation/Flashing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Flashing.md b/Documentation/Flashing.md index 83b865c1..4252e18a 100644 --- a/Documentation/Flashing.md +++ b/Documentation/Flashing.md @@ -20,7 +20,7 @@ Then this works the same as a production release (use the correct file). ## Miniware irons (TS100, TS80, TS80P) -This is completely safe, but if it goes wrong just put the .hex file from the official website onto the unit and you're back to the old firmware. Downloads for the hex files to flash are available on the [releases page.](https://github.com/Ralim/IronOS/releases) The file you want is called _(MODEL)\_EN.hex_ unless you want the translations, they are (MODEL)\__language short name_.hex. Where (MODEL) is either TS100 or TS80. +This is completely safe, but if it goes wrong just put the .hex file from the [official website](http://www.miniware.com.cn/product-category/soldering-pen/electric-soldering-kit/) onto the unit and you're back to the old firmware. Downloads for the hex files to flash are available on the [releases page.](https://github.com/Ralim/IronOS/releases) The file you want is called _(MODEL)\_EN.hex_ unless you want the translations, they are (MODEL)\__language short name_.hex. Where (MODEL) is either TS100 or TS80. Officially the bootloader on the iron only works under Windows (use the built-in File Explorer, as alternative file managers or copy handlers like Teracopy will fail). However, users have reported that it does work under Mac, and can be made to work under Linux _sometimes_. Details over on the [wiki page](https://github.com/Ralim/ts100/wiki/Upgrading-Firmware). From 778dc1caea8445a86f3938724bfc6437db346386 Mon Sep 17 00:00:00 2001 From: Christopher Harrington Date: Sat, 31 Jul 2021 12:35:04 -0500 Subject: [PATCH 2/3] Alternate flash command for Pinecil w/o mass-erase It seems the common wisdom at this point is to flash without the explicit erase if `dfu-util` is unable to complete the erase. --- Documentation/Flashing.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/Flashing.md b/Documentation/Flashing.md index 4252e18a..0fffd9b4 100644 --- a/Documentation/Flashing.md +++ b/Documentation/Flashing.md @@ -98,6 +98,12 @@ Using `dfu-util` you can flash the firmware using a command line as such: dfu-util -d 28e9:0189 -a 0 -D Pinecil_EN.bin -s 0x08000000:mass-erase:force ``` +If this command fails with `dfu-util: Error during special command "MASS_ERASE" get_status`, try this instead: + +``` +dfu-util -d 28e9:0189 -a 0 -D Pinecil_EN.bin -s 0x08000000 +``` + ### Windows For windows the easiest tool to use is the vendors gui tool from [here](http://www.gd32mcu.com/download/down/document_id/176/path_type/1). From 9aa34348da9bae2653842340e4d4876914f69cbc Mon Sep 17 00:00:00 2001 From: Mel-kior Date: Wed, 18 Aug 2021 19:24:51 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Change=20advanced=20views=20(=E2=80=AFhome?= =?UTF-8?q?=20and=20soldering=E2=80=AF)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/Core/Threads/GUIThread.cpp | 54 +++++++++++++++++-------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/source/Core/Threads/GUIThread.cpp b/source/Core/Threads/GUIThread.cpp index ad12452d..5458fc59 100644 --- a/source/Core/Threads/GUIThread.cpp +++ b/source/Core/Threads/GUIThread.cpp @@ -551,28 +551,27 @@ static void gui_solderingMode(uint8_t jumpToSleep) { OLED::clearScreen(); // Draw in the screen details if (systemSettings.detailedSoldering) { - OLED::print(translatedString(Tr->SolderingAdvancedPowerPrompt), - FontStyle::SMALL); // Power: + gui_drawTipTemp(true, FontStyle::LARGE); + +#ifndef NO_SLEEP_MODE + if (systemSettings.sensitivity && systemSettings.SleepTime) { + OLED::setCursor(47, 0); + display_countdown(getSleepTimeout()); + } +#endif + + if (boostModeOn) { + OLED::setCursor(54, 8); + OLED::print(SymbolPlus, FontStyle::SMALL); + } + + OLED::setCursor(67, 0); OLED::printNumber(x10WattHistory.average() / 10, 2, FontStyle::SMALL); OLED::print(SymbolDot, FontStyle::SMALL); OLED::printNumber(x10WattHistory.average() % 10, 1, FontStyle::SMALL); OLED::print(SymbolWatts, FontStyle::SMALL); -#ifndef NO_SLEEP_MODE - if (systemSettings.sensitivity && systemSettings.SleepTime) { - OLED::print(SymbolSpace, FontStyle::SMALL); - display_countdown(getSleepTimeout()); - } -#endif - OLED::setCursor(0, 8); - OLED::print(translatedString(Tr->SleepingTipAdvancedString), FontStyle::SMALL); - gui_drawTipTemp(true, FontStyle::SMALL); - - if (boostModeOn) { - OLED::print(SymbolPlus, FontStyle::SMALL); - } else { - OLED::print(SymbolSpace, FontStyle::SMALL); - } + OLED::setCursor(67, 8); printVoltage(); OLED::print(SymbolVolts, FontStyle::SMALL); } else { @@ -904,15 +903,22 @@ void startGUITask(void const *argument __unused) { if (isTipDisconnected()) { OLED::print(translatedString(Tr->TipDisconnectedString), FontStyle::SMALL); } else { - OLED::print(translatedString(Tr->IdleTipString), FontStyle::SMALL); - gui_drawTipTemp(false, FontStyle::SMALL); - OLED::print(translatedString(Tr->IdleSetString), FontStyle::SMALL); - OLED::printNumber(systemSettings.SolderingTemp, 3, FontStyle::SMALL); + if (!(systemSettings.coolingTempBlink && (tipTemp > 55) && (xTaskGetTickCount() % 1000 < 300))) + // Blink temp if setting enable and temp < 55° + // 1000 tick/sec + // OFF 300ms ON 700ms + gui_drawTipTemp(true, FontStyle::LARGE); // draw in the temp + OLED::setCursor(73, 0); // top right + OLED::printNumber(systemSettings.SolderingTemp, 3, FontStyle::SMALL); // draw set temp + if (systemSettings.temperatureInF) + OLED::print(SymbolDegF, FontStyle::SMALL); + else + OLED::print(SymbolDegC, FontStyle::SMALL); } - OLED::setCursor(0, 8); - OLED::print(translatedString(Tr->InputVoltageString), FontStyle::SMALL); - printVoltage(); + OLED::setCursor(67, 8); // bottom right + printVoltage(); // draw voltage then symbol (v) + OLED::print(SymbolVolts, FontStyle::SMALL); } else { #ifdef OLED_FLIP