mirror of
https://github.com/pybricks/pybricks-code.git
synced 2026-09-15 02:54:07 +00:00
firmware/installPybricksDialog: finish EV3 implementation
Add missing bits to get firmware flashing on EV3 working. Currently requires custom firmware since we don't have a packaged one yet.
This commit is contained in:
committed by
David Lechner
parent
84cca9d8e6
commit
00516f2a39
@@ -72,6 +72,8 @@ function getHubTypeFromMetadata(
|
||||
return Hub.Prime;
|
||||
case HubType.EssentialHub:
|
||||
return Hub.Essential;
|
||||
case HubType.EV3:
|
||||
return Hub.EV3;
|
||||
default:
|
||||
return fallback;
|
||||
}
|
||||
@@ -89,6 +91,8 @@ function getHubTypeNameFromMetadata(metadata: FirmwareMetadata | undefined): str
|
||||
return 'SPIKE Prime/MINDSTORMS Robot Inventor hub';
|
||||
case HubType.EssentialHub:
|
||||
return 'SPIKE Essential hub';
|
||||
case HubType.EV3:
|
||||
return 'MINDSTORMS EV3 hub';
|
||||
default:
|
||||
return '?';
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ const supportHubs: readonly HubType[] = [
|
||||
HubType.TechnicHub,
|
||||
HubType.PrimeHub,
|
||||
HubType.EssentialHub,
|
||||
HubType.EV3,
|
||||
];
|
||||
|
||||
export function validateMetadata(metadata: FirmwareMetadata) {
|
||||
|
||||
+19
-2
@@ -935,8 +935,25 @@ function* handleInstallPybricks(): Generator {
|
||||
}
|
||||
break;
|
||||
case 'usb-ev3':
|
||||
// TODO: implement flashing via EV3 USB
|
||||
console.error('Flashing via EV3 USB is not implemented yet');
|
||||
try {
|
||||
const { firmware } = yield* loadFirmware(
|
||||
accepted.firmwareZip,
|
||||
accepted.hubName,
|
||||
);
|
||||
|
||||
yield* put(firmwareFlashEV3(firmware.buffer as ArrayBuffer));
|
||||
} catch (err) {
|
||||
// istanbul ignore if
|
||||
if (process.env.NODE_ENV !== 'test') {
|
||||
console.error(err);
|
||||
}
|
||||
|
||||
yield* put(
|
||||
alertsShowAlert('alerts', 'unexpectedError', {
|
||||
error: ensureError(err),
|
||||
}),
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user