Added board firmware update functionality
This commit is contained in:
31
commands.cpp
31
commands.cpp
@@ -39,6 +39,8 @@ Commands::Commands(QObject *parent) : QObject(parent)
|
||||
mFimwarePtr = 0;
|
||||
mFirmwareTimer = 0;
|
||||
mFirmwareRetries = 0;
|
||||
mFirmwareIsBootloader = false;
|
||||
mFirmwareUploadSuccess = false;
|
||||
mFirmwareUploadStatus = "FW Upload Status";
|
||||
mCheckNextbmsConfig = false;
|
||||
|
||||
@@ -457,12 +459,12 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
||||
const int timeout = 350;
|
||||
|
||||
if (mFirmwareState == 0) {
|
||||
mFirmwareUploadStatus = "Buffer Erase";
|
||||
mFirmwareUploadStatus = tr("Buffer erase");
|
||||
if (isTimeout) {
|
||||
// Erase timed out, abort.
|
||||
mFirmwareIsUploading = false;
|
||||
mFimwarePtr = 0;
|
||||
mFirmwareUploadStatus = "Buffer Erase Timeout";
|
||||
mFirmwareUploadStatus = tr("Buffer erase timeout");
|
||||
} else {
|
||||
mFirmwareState++;
|
||||
mFirmwareRetries = retries;
|
||||
@@ -470,7 +472,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
||||
firmwareUploadUpdate(true);
|
||||
}
|
||||
} else if (mFirmwareState == 1) {
|
||||
mFirmwareUploadStatus = "CRC/Size Write";
|
||||
mFirmwareUploadStatus = tr("CRC/Size write");
|
||||
if (isTimeout) {
|
||||
if (mFirmwareRetries > 0) {
|
||||
mFirmwareRetries--;
|
||||
@@ -479,7 +481,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
||||
mFirmwareIsUploading = false;
|
||||
mFimwarePtr = 0;
|
||||
mFirmwareState = 0;
|
||||
mFirmwareUploadStatus = "CRC/Size Write Timeout";
|
||||
mFirmwareUploadStatus = tr("CRC/Size write timeout");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -498,7 +500,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
||||
firmwareUploadUpdate(true);
|
||||
}
|
||||
} else if (mFirmwareState == 2) {
|
||||
mFirmwareUploadStatus = "FW Data Write";
|
||||
mFirmwareUploadStatus = tr("Firmware data write");
|
||||
if (isTimeout) {
|
||||
if (mFirmwareRetries > 0) {
|
||||
mFirmwareRetries--;
|
||||
@@ -507,7 +509,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
||||
mFirmwareIsUploading = false;
|
||||
mFimwarePtr = 0;
|
||||
mFirmwareState = 0;
|
||||
mFirmwareUploadStatus = "FW Data Write Timeout";
|
||||
mFirmwareUploadStatus = tr("Firmware data write timeout");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -534,7 +536,8 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
||||
mFirmwareIsUploading = false;
|
||||
mFimwarePtr = 0;
|
||||
mFirmwareState = 0;
|
||||
mFirmwareUploadStatus = "FW Upload Done";
|
||||
mFirmwareUploadSuccess = true;
|
||||
mFirmwareUploadStatus = tr("Firmware update completed!\n\nReconnect to the board if you want to continue working with it.");
|
||||
|
||||
// Upload done. Enter bootloader!
|
||||
if (!mFirmwareIsBootloader) {
|
||||
@@ -616,7 +619,8 @@ void Commands::startFirmwareUpload(QByteArray &newFirmware, bool isBootloader)
|
||||
mFirmwareRetries = 5;
|
||||
mNewFirmware.clear();
|
||||
mNewFirmware.append(newFirmware);
|
||||
mFirmwareUploadStatus = "Buffer Erase";
|
||||
mFirmwareUploadSuccess = false;
|
||||
mFirmwareUploadStatus = tr("Buffer erase");
|
||||
|
||||
if (mFirmwareIsBootloader) {
|
||||
firmwareUploadUpdate(true);
|
||||
@@ -628,7 +632,12 @@ void Commands::startFirmwareUpload(QByteArray &newFirmware, bool isBootloader)
|
||||
}
|
||||
}
|
||||
|
||||
double Commands::getFirmwareUploadProgress()
|
||||
bool Commands::getFirmwareUploadSuccess() const
|
||||
{
|
||||
return mFirmwareUploadSuccess;
|
||||
}
|
||||
|
||||
double Commands::getFirmwareUploadProgress() const
|
||||
{
|
||||
if (mFirmwareIsUploading) {
|
||||
return (double)mFimwarePtr / (double)mNewFirmware.size();
|
||||
@@ -637,7 +646,7 @@ double Commands::getFirmwareUploadProgress()
|
||||
}
|
||||
}
|
||||
|
||||
QString Commands::getFirmwareUploadStatus()
|
||||
QString Commands::getFirmwareUploadStatus() const
|
||||
{
|
||||
return mFirmwareUploadStatus;
|
||||
}
|
||||
@@ -648,7 +657,7 @@ void Commands::cancelFirmwareUpload()
|
||||
mFirmwareIsUploading = false;
|
||||
mFimwarePtr = 0;
|
||||
mFirmwareState = 0;
|
||||
mFirmwareUploadStatus = "Cancelled";
|
||||
mFirmwareUploadStatus = tr("Cancelled");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user