Skip to content

Commit e327e44

Browse files
author
Alberto Iannaccone
committed
change fwupdater binary name based on the tool version
1 parent e9ef3fb commit e327e44

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

src/firmware-updater.js

+18-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { BehaviorSubject } from 'rxjs';
2-
32
import {
43
takeUntil,
54
filter,
65
first
76
} from 'rxjs/operators';
8-
7+
import semverCompare from 'semver-compare';
8+
import { fwupdaterSignatures, oldDwupdaterSignatures } from './signatures';
99
/* The status of the Firmware Updater Tool */
1010
const FWUToolStatusEnum = Object.freeze({
1111
NOPE: 'NOPE',
@@ -15,12 +15,9 @@ const FWUToolStatusEnum = Object.freeze({
1515
});
1616

1717
/* The signatures needed to run the commands to use the Firmware Updater Tool */
18-
const signaturesEnum = Object.freeze({
19-
GET_FIRMWARE_INFO: 'aceffd98d331df0daa5bb3308bb49a95767d77e7a1557c07a0ec544d2f41c3ec67269f01ce9a63e01f3b43e087ab8eb22b7f1d34135b6686e8ce27d4b5dc083ec8e6149df11880d32486448a71280ef3128efccbd45a84dbd7990a9420a65ee86b3822edba3554fa8e6ca11aec12d4dd99ad072285b98bfdf7b2b64f677da50feb8bddef25a36f52d7605078487d8a5d7cbdc84bfa65d510cee97b46baefea149139a9a6ed4b545346040536e33d850e6ad84c83fe605f677e2ca77439de3fa42350ce504ad9a49cf62c6751d4c2a284500d2c628cd52cd73b4c3e7ef08ae823eb8941383f9c6ff0686da532369d3b266ded8fdd33cca1a128068a4795920f25',
20-
UPLOAD_FIRMWARE_BOSSAC: '5c61682e3ce2544365b05577f9016d5fbfa4c20efdce6ec2ebe6940380ea4f9421322b338c83b7721f900c99c61282720224d9fb20a639154984fd1feef682ee432c8a225f14fe7ba80d2d71d51bc92bfffe63de9386c0b9bc17a827ce21dda837fe3fd0c518ff0b84982c65db81a3eebab88712593c068f5a43f7bc22d4a3f3608969e8f30b3102b382d2c0f7f28d482b39cbcfd16eb680dd04bda66b9cb0d1c2b2e91d89dd8c6033562f1d3983002b61aa39ef70d45a456178867609c058a09bbcd8bce4d97d2e65c28756659bf5ba111e8541302cea934a2c005331ef89425390f610d2f609d581175d16193e72752fe8384f66051e6a2abea79757f042eb',
21-
UPLOAD_FIRMWARE_AVRDUDE: '83b177b05dcd7043d484e321417d1dd499fdbd80b7109cc86fcb91cb14e59b834c3956a279e8d4ceba466a308cb8a1aceb5ab6770b8f207e9bc92e84a191edc21cdecb4f7cc1883fbf0eb258f1f849ffbe76bb0320dfe92d85f77226b45fd90824fc126e22ebe8d2350f854c9d43a03186d7f260d8d03bf83e6669646b2e13a6371dcbf1dd5711edcbe3c3a0f186d091ba26118ed2cdb3ef58e0079096403a2e93684d5089b216c53f2fcb1387b6e9d49feea914943971ac1e58bba1ecdf4f14f557d278e8b4f05d594e21887ba87322fbe1d70d05f03412d87f3149a4b3aff302088a2f0ecc42302b6ba66024e94226b5d99c9e0375383e4494bc1e0d0e20b8'
22-
});
18+
let signaturesEnum = fwupdaterSignatures;
2319

20+
let updaterBinaryName = 'FirmwareUpdater';
2421

2522
export default class FirmwareUpdater {
2623
constructor(Daemon) {
@@ -56,6 +53,18 @@ export default class FirmwareUpdater {
5653
.pipe(takeUntil(this.updatingError));
5754
}
5855

56+
setToolVersion(version) {
57+
this.toolVersion = version;
58+
if (semverCompare(version, '0.1.2') < 0) {
59+
signaturesEnum = {
60+
GET_FIRMWARE_INFO: 'aceffd98d331df0daa5bb3308bb49a95767d77e7a1557c07a0ec544d2f41c3ec67269f01ce9a63e01f3b43e087ab8eb22b7f1d34135b6686e8ce27d4b5dc083ec8e6149df11880d32486448a71280ef3128efccbd45a84dbd7990a9420a65ee86b3822edba3554fa8e6ca11aec12d4dd99ad072285b98bfdf7b2b64f677da50feb8bddef25a36f52d7605078487d8a5d7cbdc84bfa65d510cee97b46baefea149139a9a6ed4b545346040536e33d850e6ad84c83fe605f677e2ca77439de3fa42350ce504ad9a49cf62c6751d4c2a284500d2c628cd52cd73b4c3e7ef08ae823eb8941383f9c6ff0686da532369d3b266ded8fdd33cca1a128068a4795920f25',
61+
UPLOAD_FIRMWARE_BOSSAC: '5c61682e3ce2544365b05577f9016d5fbfa4c20efdce6ec2ebe6940380ea4f9421322b338c83b7721f900c99c61282720224d9fb20a639154984fd1feef682ee432c8a225f14fe7ba80d2d71d51bc92bfffe63de9386c0b9bc17a827ce21dda837fe3fd0c518ff0b84982c65db81a3eebab88712593c068f5a43f7bc22d4a3f3608969e8f30b3102b382d2c0f7f28d482b39cbcfd16eb680dd04bda66b9cb0d1c2b2e91d89dd8c6033562f1d3983002b61aa39ef70d45a456178867609c058a09bbcd8bce4d97d2e65c28756659bf5ba111e8541302cea934a2c005331ef89425390f610d2f609d581175d16193e72752fe8384f66051e6a2abea79757f042eb',
62+
UPLOAD_FIRMWARE_AVRDUDE: '83b177b05dcd7043d484e321417d1dd499fdbd80b7109cc86fcb91cb14e59b834c3956a279e8d4ceba466a308cb8a1aceb5ab6770b8f207e9bc92e84a191edc21cdecb4f7cc1883fbf0eb258f1f849ffbe76bb0320dfe92d85f77226b45fd90824fc126e22ebe8d2350f854c9d43a03186d7f260d8d03bf83e6669646b2e13a6371dcbf1dd5711edcbe3c3a0f186d091ba26118ed2cdb3ef58e0079096403a2e93684d5089b216c53f2fcb1387b6e9d49feea914943971ac1e58bba1ecdf4f14f557d278e8b4f05d594e21887ba87322fbe1d70d05f03412d87f3149a4b3aff302088a2f0ecc42302b6ba66024e94226b5d99c9e0375383e4494bc1e0d0e20b8'
63+
};
64+
updaterBinaryName = 'updater';
65+
}
66+
}
67+
5968
getFirmwareInfo(boardId, port, firmwareVersion) {
6069
this.firmwareVersionData = null;
6170
this.loaderPath = null;
@@ -112,7 +121,7 @@ export default class FirmwareUpdater {
112121
const data = {
113122
board: boardId,
114123
port,
115-
commandline: `"{runtime.tools.fwupdater.path}/updater" -get_available_for {network.password}`,
124+
commandline: `"{runtime.tools.fwupdater.path}/${updaterBinaryName}" -get_available_for {network.password}`,
116125
signature: signaturesEnum.GET_FIRMWARE_INFO,
117126
extra: {
118127
auth: {
@@ -199,7 +208,7 @@ export default class FirmwareUpdater {
199208
const data = {
200209
board: boardId,
201210
port,
202-
commandline: `"{runtime.tools.fwupdater.path}/updater" -flasher {network.password} -port {serial.port} -restore_binary "{build.path}/{build.project_name}.bin" -programmer ${programmer}`,
211+
commandline: `"{runtime.tools.fwupdater.path}/${updaterBinaryName}" -flasher {network.password} -port {serial.port} -restore_binary "{build.path}/{build.project_name}.bin" -programmer ${programmer}`,
203212
hex: '',
204213
extra: {
205214
auth: {

0 commit comments

Comments
 (0)