Better Windows build-in DFU #3338

This commit is contained in:
rusefillc 2021-10-23 12:04:27 -04:00
parent 25d66ca053
commit 6d5ea798f8
3 changed files with 19 additions and 3 deletions

View File

@ -6,7 +6,7 @@ import java.net.URL;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public class rusEFIVersion { public class rusEFIVersion {
public static final int CONSOLE_VERSION = 20211022; public static final int CONSOLE_VERSION = 20211023;
public static AtomicReference<String> firmwareVersion = new AtomicReference<>("N/A"); public static AtomicReference<String> firmwareVersion = new AtomicReference<>("N/A");
public static long classBuildTimeMillis() { public static long classBuildTimeMillis() {

View File

@ -102,11 +102,17 @@ public class DfuFlasher {
if (stdout.toString().contains("Download verified successfully")) { if (stdout.toString().contains("Download verified successfully")) {
// looks like sometimes we are not catching the last line of the response? 'Upgrade' happens before 'Verify' // looks like sometimes we are not catching the last line of the response? 'Upgrade' happens before 'Verify'
wnd.appendMsg("SUCCESS!"); wnd.appendMsg("SUCCESS!");
wnd.appendMsg("Please power cycle device to exit DFU mode");
} else if (stdout.toString().contains("Target device not found")) {
wnd.appendMsg("ERROR: Device not connected or STM32 Bootloader driver not installed?");
wnd.appendMsg("ERROR: Please try installing drivers using 'Install Drivers' button on rusEFI splash screen");
wnd.appendMsg("ERROR: Alternatively please install drivers manually from 'drivers/silent_st_drivers/DFU_Driver' folder");
wnd.setErrorState(true);
} else { } else {
wnd.appendMsg(stdout.length() + " / " + errorResponse.length()); wnd.appendMsg(stdout.length() + " / " + errorResponse.length());
wnd.appendMsg("ERROR: does not look like DFU has worked!"); wnd.appendMsg("ERROR: does not look like DFU has worked!");
wnd.setErrorState(true);
} }
wnd.appendMsg("Please power cycle device to exit DFU mode");
} }
private static void timeForDfuSwitch(StatusWindow wnd) { private static void timeForDfuSwitch(StatusWindow wnd) {

View File

@ -13,6 +13,8 @@ import java.awt.*;
* 3/7/2015 * 3/7/2015
*/ */
public class StatusWindow implements StatusConsumer { public class StatusWindow implements StatusConsumer {
private static final Color LIGHT_RED = new Color(255, 102, 102);
private static final Color LIGHT_GREEN = new Color(102, 255 ,102);
// todo: extract driver from console bundle? find a separate driver bundle? // todo: extract driver from console bundle? find a separate driver bundle?
private final JTextArea logTextArea = new JTextArea(); private final JTextArea logTextArea = new JTextArea();
private final JPanel content = new JPanel(new BorderLayout()); private final JPanel content = new JPanel(new BorderLayout());
@ -41,6 +43,14 @@ public class StatusWindow implements StatusConsumer {
return content; return content;
} }
public void setErrorState(boolean isErrorState) {
if (isErrorState) {
logTextArea.setBackground(LIGHT_RED);
} else {
logTextArea.setBackground(LIGHT_GREEN);
}
}
public JFrame getFrame() { public JFrame getFrame() {
return frameHelper.getFrame(); return frameHelper.getFrame();
} }
@ -55,7 +65,7 @@ public class StatusWindow implements StatusConsumer {
@Override @Override
public void appendMsg(final String string) { public void appendMsg(final String string) {
SwingUtilities.invokeLater(() -> { SwingUtilities.invokeLater(() -> {
String s = string.replaceAll(Character.toString((char)219), ""); String s = string.replaceAll(Character.toString((char) 219), "");
FileLog.MAIN.logLine(s); FileLog.MAIN.logLine(s);
logTextArea.append(s + "\r\n"); logTextArea.append(s + "\r\n");
UiUtils.trueLayout(logTextArea); UiUtils.trueLayout(logTextArea);