File tree Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -72,6 +72,8 @@ function getHubTypeFromMetadata(
7272 return Hub . Prime ;
7373 case HubType . EssentialHub :
7474 return Hub . Essential ;
75+ case HubType . EV3 :
76+ return Hub . EV3 ;
7577 default :
7678 return fallback ;
7779 }
@@ -89,6 +91,8 @@ function getHubTypeNameFromMetadata(metadata: FirmwareMetadata | undefined): str
8991 return 'SPIKE Prime/MINDSTORMS Robot Inventor hub' ;
9092 case HubType . EssentialHub :
9193 return 'SPIKE Essential hub' ;
94+ case HubType . EV3 :
95+ return 'MINDSTORMS EV3 hub' ;
9296 default :
9397 return '?' ;
9498 }
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ const supportHubs: readonly HubType[] = [
3737 HubType . TechnicHub ,
3838 HubType . PrimeHub ,
3939 HubType . EssentialHub ,
40+ HubType . EV3 ,
4041] ;
4142
4243export function validateMetadata ( metadata : FirmwareMetadata ) {
Original file line number Diff line number Diff line change @@ -935,8 +935,25 @@ function* handleInstallPybricks(): Generator {
935935 }
936936 break ;
937937 case 'usb-ev3' :
938- // TODO: implement flashing via EV3 USB
939- console . error ( 'Flashing via EV3 USB is not implemented yet' ) ;
938+ try {
939+ const { firmware } = yield * loadFirmware (
940+ accepted . firmwareZip ,
941+ accepted . hubName ,
942+ ) ;
943+
944+ yield * put ( firmwareFlashEV3 ( firmware . buffer as ArrayBuffer ) ) ;
945+ } catch ( err ) {
946+ // istanbul ignore if
947+ if ( process . env . NODE_ENV !== 'test' ) {
948+ console . error ( err ) ;
949+ }
950+
951+ yield * put (
952+ alertsShowAlert ( 'alerts' , 'unexpectedError' , {
953+ error : ensureError ( err ) ,
954+ } ) ,
955+ ) ;
956+ }
940957 break ;
941958 }
942959}
You can’t perform that action at this time.
0 commit comments