implement tune uploading with hardcoded MCU serial
This commit is contained in:
parent
e7a249f2c8
commit
0e001bb9ac
|
@ -156,7 +156,7 @@ public class CalibrationsHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Optional<CalibrationsInfo> readAndBackupCurrentCalibrations(
|
public static Optional<CalibrationsInfo> readAndBackupCurrentCalibrations(
|
||||||
final PortResult ecuPort,
|
final PortResult ecuPort,
|
||||||
final UpdateOperationCallbacks callbacks,
|
final UpdateOperationCallbacks callbacks,
|
||||||
final String backupFileName
|
final String backupFileName
|
||||||
|
|
|
@ -1,36 +1,72 @@
|
||||||
package com.rusefi.maintenance;
|
package com.rusefi.maintenance;
|
||||||
|
|
||||||
import com.rusefi.SerialPortScanner;
|
import com.rusefi.SerialPortScanner;
|
||||||
|
import com.rusefi.binaryprotocol.BinaryProtocolLocalCache;
|
||||||
import com.rusefi.io.UpdateOperationCallbacks;
|
import com.rusefi.io.UpdateOperationCallbacks;
|
||||||
import com.rusefi.panama.PanamaClient;
|
import com.rusefi.panama.PanamaClient;
|
||||||
import com.rusefi.ui.basic.InstanceNameEditor;
|
import com.rusefi.ui.basic.InstanceNameEditor;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static com.rusefi.maintenance.CalibrationsHelper.readAndBackupCurrentCalibrations;
|
||||||
|
|
||||||
public enum TuneUploader {
|
public enum TuneUploader {
|
||||||
INSTANCE;
|
INSTANCE;
|
||||||
|
|
||||||
|
private static final String CALIBRATIONS_TO_UPLOAD_FILE_NAME = BinaryProtocolLocalCache.STATE_FOLDER + "calibrations_to_upload";
|
||||||
|
|
||||||
public synchronized boolean uploadTune(
|
public synchronized boolean uploadTune(
|
||||||
final SerialPortScanner.PortResult port,
|
final SerialPortScanner.PortResult ecuPort,
|
||||||
final String panamaUrl,
|
final String panamaUrl,
|
||||||
final UpdateOperationCallbacks callbacks
|
final UpdateOperationCallbacks callbacks
|
||||||
) {
|
) {
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
|
|
||||||
|
final String instanceName = InstanceNameEditor.loadInstanceName();
|
||||||
|
if (instanceName == null || instanceName.isEmpty()) {
|
||||||
|
callbacks.logLine("Instance name is not defined!");
|
||||||
|
callbacks.logLine("Please right-click on logo and use `Instance name` context menu to specify an instance name.");
|
||||||
|
}
|
||||||
|
|
||||||
|
final Optional<CalibrationsInfo> calibrationsToUpload = readAndBackupCurrentCalibrations(
|
||||||
|
ecuPort,
|
||||||
|
callbacks,
|
||||||
|
CALIBRATIONS_TO_UPLOAD_FILE_NAME
|
||||||
|
);
|
||||||
|
if (!calibrationsToUpload.isPresent()) {
|
||||||
|
callbacks.logLine("Failed to back up current calibrations...");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// todo!
|
// todo!
|
||||||
// IniField mcuSerialField = PanamaHelper.getIniField(linkManager);
|
// IniField mcuSerialField = PanamaHelper.getIniField(linkManager);
|
||||||
// if (mcuSerialField == null) {
|
// if (mcuSerialField == null) {
|
||||||
// addMessage("Please update firmware to use this feature");
|
// addMessage("Please update firmware to use this feature");
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// todo: grab current calibrations and save fresh MSQ
|
|
||||||
int mcuSerial = 1231234; // todo
|
int mcuSerial = 1231234; // todo
|
||||||
|
|
||||||
|
final String calibrationsToUploadFileName = CALIBRATIONS_TO_UPLOAD_FILE_NAME + ".msq";
|
||||||
if (PanamaClient.uploadFile(panamaUrl,
|
if (PanamaClient.uploadFile(panamaUrl,
|
||||||
/* todo MSQ file */ null,
|
new File(calibrationsToUploadFileName),
|
||||||
InstanceNameEditor.loadInstanceName(),
|
instanceName,
|
||||||
mcuSerial
|
mcuSerial
|
||||||
)) {
|
)) {
|
||||||
|
callbacks.logLine(String.format(
|
||||||
|
"File `%s` is successfully uploaded to `%s` for `%s`",
|
||||||
|
calibrationsToUploadFileName,
|
||||||
|
panamaUrl,
|
||||||
|
instanceName
|
||||||
|
));
|
||||||
result = true;
|
result = true;
|
||||||
} else {
|
} else {
|
||||||
callbacks.logLine(String.format("Failed to upload file to %s", panamaUrl));
|
callbacks.logLine(String.format(
|
||||||
|
"Failed to upload file `%s` to `%s` for `%s`",
|
||||||
|
calibrationsToUploadFileName,
|
||||||
|
panamaUrl,
|
||||||
|
instanceName
|
||||||
|
));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue