Added board firmware update functionality

This commit is contained in:
Yury Shuvakin
2022-09-13 15:20:09 +03:00
parent d28efef208
commit 4dd1f95193
21 changed files with 908 additions and 225 deletions

View File

@@ -128,80 +128,80 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="645"/>
<location filename="../bmsinterface.cpp" line="644"/>
<source>Serial port error: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="687"/>
<location filename="../bmsinterface.cpp" line="684"/>
<source>TCP Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="724"/>
<location filename="../bmsinterface.cpp" line="721"/>
<source>No firmware read response</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="725"/>
<location filename="../bmsinterface.cpp" line="722"/>
<source>Read Firmware Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="726"/>
<location filename="../bmsinterface.cpp" line="723"/>
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="802"/>
<location filename="../bmsinterface.cpp" line="803"/>
<source>Not Supported Firmwares</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="803"/>
<location filename="../bmsinterface.cpp" line="804"/>
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="823"/>
<location filename="../bmsinterface.cpp" line="851"/>
<location filename="../bmsinterface.cpp" line="824"/>
<location filename="../bmsinterface.cpp" line="852"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="823"/>
<location filename="../bmsinterface.cpp" line="851"/>
<location filename="../bmsinterface.cpp" line="824"/>
<location filename="../bmsinterface.cpp" line="852"/>
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="828"/>
<location filename="../bmsinterface.cpp" line="840"/>
<location filename="../bmsinterface.cpp" line="829"/>
<location filename="../bmsinterface.cpp" line="841"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="828"/>
<location filename="../bmsinterface.cpp" line="829"/>
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="840"/>
<location filename="../bmsinterface.cpp" line="841"/>
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="864"/>
<location filename="../bmsinterface.cpp" line="865"/>
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="896"/>
<location filename="../bmsinterface.cpp" line="886"/>
<source>BMS configuration updated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../bmsinterface.cpp" line="900"/>
<location filename="../bmsinterface.cpp" line="891"/>
<source>BMS configuration stored to Flash</source>
<translation type="unfinished"></translation>
</message>
@@ -209,18 +209,13 @@
<context>
<name>BmsServiceScreen</name>
<message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
<source>Clear</source>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="17"/>
<source>Terminal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
<source>Help</source>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="22"/>
<source>Firmware update</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -482,10 +477,53 @@ Wait, please.</source>
<context>
<name>Commands</name>
<message>
<location filename="../commands.cpp" line="237"/>
<location filename="../commands.cpp" line="239"/>
<source>BMS configuration is set</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="462"/>
<location filename="../commands.cpp" line="623"/>
<source>Buffer erase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="467"/>
<source>Buffer erase timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="475"/>
<source>CRC/Size write</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="484"/>
<source>CRC/Size write timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="503"/>
<source>Firmware data write</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="512"/>
<source>Firmware data write timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="540"/>
<source>Firmware update completed!
Reconnect to the board if you want to continue working with it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../commands.cpp" line="660"/>
<source>Cancelled</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ConfigParams</name>
@@ -550,6 +588,62 @@ Wait, please.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FirmwareUpdateHelper</name>
<message>
<location filename="../firmwareupdatehelper.cpp" line="19"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../firmwareupdatehelper.cpp" line="20"/>
<source>Could not open file. Make sure that the path is valid.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FirmwareUpdateScreen</name>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="20"/>
<source>Board information</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="28"/>
<source>Firmware</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="46"/>
<source>Hardware</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="64"/>
<source>UUID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="83"/>
<source>Upload firmware</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="88"/>
<source>Select firmware file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
<source>Firmware files (*.bin)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
<source>All files (*)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
@@ -564,13 +658,13 @@ Wait, please.</source>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="79"/>
<location filename="../qml/MainWindow.qml" line="135"/>
<location filename="../qml/MainWindow.qml" line="310"/>
<source>AKB monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="80"/>
<location filename="../qml/MainWindow.qml" line="136"/>
<location filename="../qml/MainWindow.qml" line="314"/>
<source>Cell monitor</source>
<translation type="unfinished"></translation>
</message>
@@ -581,7 +675,7 @@ Wait, please.</source>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="82"/>
<location filename="../qml/MainWindow.qml" line="138"/>
<location filename="../qml/MainWindow.qml" line="330"/>
<source>Visualization</source>
<translation type="unfinished"></translation>
</message>
@@ -601,38 +695,38 @@ Wait, please.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="137"/>
<location filename="../qml/MainWindow.qml" line="318"/>
<source>BMS settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="139"/>
<location filename="../qml/MainWindow.qml" line="335"/>
<source>Information output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="140"/>
<source>Terminal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="165"/>
<location filename="../qml/MainWindow.qml" line="352"/>
<location filename="../qml/MainWindow.qml" line="156"/>
<location filename="../qml/MainWindow.qml" line="348"/>
<source>Disconnected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="189"/>
<location filename="../qml/MainWindow.qml" line="180"/>
<source>Serial number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="352"/>
<location filename="../qml/MainWindow.qml" line="348"/>
<source>Connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="505"/>
<location filename="../qml/MainWindow.qml" line="397"/>
<source>Firmware update</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/MainWindow.qml" line="558"/>
<source>Tool started</source>
<translation type="unfinished"></translation>
</message>
@@ -658,6 +752,24 @@ Wait, please.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TerminalScreen</name>
<message>
<location filename="../qml/Screens/TerminalScreen.qml" line="37"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/TerminalScreen.qml" line="50"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/TerminalScreen.qml" line="59"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Translator</name>
<message>