console to show binary file date timestamp fix #6515

This commit is contained in:
rusefillc 2024-05-22 12:33:37 -04:00
parent a924aba6c0
commit 41d5bac9fa
2 changed files with 18 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import com.rusefi.core.ui.FrameHelper;
import com.rusefi.io.LinkManager;
import com.rusefi.io.serial.BaudRateHolder;
import com.rusefi.maintenance.DriverInstall;
import com.rusefi.maintenance.MaintenanceUtil;
import com.rusefi.maintenance.StLinkFlasher;
import com.rusefi.maintenance.ProgramSelector;
import com.rusefi.ui.LogoHelper;
@ -23,6 +24,7 @@ import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.util.List;
import static com.devexperts.logging.Logging.getLogging;
@ -156,6 +158,8 @@ public class StartupFrame {
// realHardwarePanel.add(new FirmwareFlasher(FirmwareFlasher.IMAGE_FILE, "ST-LINK Program Firmware", "Default firmware version for most users").getButton());
JComponent updateHelp = ProgramSelector.createHelpButton();
JLabel comp = binaryModificationControl();
realHardwarePanel.add(comp, "right, wrap");
realHardwarePanel.add(updateHelp, "right, wrap");
// st-link is pretty advanced use-case, real humans do not have st-link as of 2021
@ -223,6 +227,12 @@ public class StartupFrame {
}
}
private static @NotNull JLabel binaryModificationControl() {
long binaryModificationTimestamp = MaintenanceUtil.getBinaryModificationTimestamp();
String fileTimestampText = binaryModificationTimestamp == 0 ? "firmware file not found" : new Date(binaryModificationTimestamp).toString();
return new JLabel(fileTimestampText);
}
private void applyKnownPorts(SerialPortScanner.AvailableHardware currentHardware) {
List<SerialPortScanner.PortResult> ports = currentHardware.getKnownPorts();
log.info("Rendering available ports: " + ports);

View File

@ -1,7 +1,10 @@
package com.rusefi.maintenance;
import com.rusefi.core.FindFileHelper;
import com.rusefi.io.UpdateOperationCallbacks;
import java.io.File;
import static com.rusefi.Launcher.INPUT_FILES_PATH;
public class MaintenanceUtil {
@ -27,4 +30,9 @@ public class MaintenanceUtil {
public static boolean detectPcan(UpdateOperationCallbacks wnd) {
return detectDevice(wnd, WMIC_PCAN_QUERY_COMMAND, "PCAN");
}
public static long getBinaryModificationTimestamp() {
String fileName = FindFileHelper.isObfuscated() ? FindFileHelper.findSrecFile() : FIRMWARE_BIN_FILE;
return new File(fileName).lastModified();
}
}