@nordicsemiconductor/pc-nrfconnect-shared 175.0.0 → 177.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Changelog.md CHANGED
@@ -7,6 +7,24 @@ This project does _not_ adhere to
7
7
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it
8
8
  every new version is a new major version.
9
9
 
10
+ ## 177.0.0 - 2024-05-28
11
+
12
+ ### Added
13
+
14
+ - Apps can no control better when to auto reconnect after programming with
15
+ `sdfuDeviceSetup`. This is optional. Defaults have nit changed
16
+
17
+ ## 176.0.0 - 2024-05-06
18
+
19
+ ### Added
20
+
21
+ - Add publishTimestamp to `AppInfo.installed`
22
+
23
+ ### Fixed
24
+
25
+ - NRFUtil Sandbox s installed on Apple Silicon now uses the arm64 folder and
26
+ not the intel one.
27
+
10
28
  ## 175.0.0 - 2024-05-02
11
29
 
12
30
  ### Updated
package/ipc/MetaFiles.ts CHANGED
@@ -38,6 +38,7 @@ export interface AppInfo {
38
38
  installed?: {
39
39
  path: string;
40
40
  shasum?: string;
41
+ publishTimestamp?: string;
41
42
  };
42
43
  }
43
44
 
@@ -40,12 +40,13 @@ const parseJsonBuffers = <T>(data: Buffer): T[] | undefined => {
40
40
  }
41
41
  };
42
42
 
43
+ const nrfutilSandboxFolder =
44
+ process.platform === 'darwin' && process.arch !== 'x64'
45
+ ? path.join('nrfutil-sandboxes', process.arch)
46
+ : 'nrfutil-sandboxes';
47
+
43
48
  const prepareEnv = (baseDir: string, module: string, version: string) => {
44
49
  const env = { ...process.env };
45
- const nrfutilSandboxFolder =
46
- process.platform === 'darwin' && process.arch !== 'x64'
47
- ? path.join('nrfutil-sandboxes', process.arch)
48
- : 'nrfutil-sandboxes';
49
50
  env.NRFUTIL_HOME = path.join(
50
51
  baseDir,
51
52
  nrfutilSandboxFolder,
@@ -173,7 +174,7 @@ export class NrfutilSandbox {
173
174
  fs.existsSync(
174
175
  path.join(
175
176
  this.baseDir,
176
- 'nrfutil-sandboxes',
177
+ nrfutilSandboxFolder,
177
178
  this.module,
178
179
  this.version,
179
180
  'bin',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "175.0.0",
3
+ "version": "177.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,21 +17,6 @@ import { AppInfo, SourceJson } from '../ipc/MetaFiles';
17
17
  import { PackageJsonApp } from '../ipc/schema/packageJson';
18
18
  import checkAppProperties from './check-app-properties';
19
19
 
20
- interface LegacyAppInfo {
21
- ['dist-tags']?: {
22
- latest?: string;
23
- };
24
- versions?: {
25
- [version: string]: {
26
- dist: {
27
- publishTimestamp?: string;
28
- tarball: string;
29
- shasum: string;
30
- };
31
- };
32
- };
33
- }
34
-
35
20
  interface App {
36
21
  filename: string;
37
22
  name: string;
@@ -9,14 +9,16 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit';
9
9
  import type { AppThunk, RootState } from '../store';
10
10
  import type { Device } from './deviceSlice';
11
11
 
12
+ export type WaitForDeviceWhen =
13
+ | 'always'
14
+ | 'applicationMode'
15
+ | 'dfuBootLoaderMode'
16
+ | 'sameTraits'
17
+ | ((device: Device) => boolean);
18
+
12
19
  export interface WaitForDevice {
13
20
  timeout: number;
14
- when:
15
- | 'always'
16
- | 'applicationMode'
17
- | 'dfuBootLoaderMode'
18
- | 'sameTraits'
19
- | ((device: Device) => boolean);
21
+ when: WaitForDeviceWhen;
20
22
  once: boolean;
21
23
  skipRefetchDeviceInfo?: boolean;
22
24
  onSuccess?: (device: Device) => void;
@@ -282,6 +282,7 @@ export const startWatchingDevices =
282
282
  (typeof waitForDevice.when === 'function' &&
283
283
  waitForDevice.when(device))
284
284
  ) {
285
+ dispatch(setArrivedButWrongWhen(undefined));
285
286
  dispatch(
286
287
  setLastArrivedDeviceId(
287
288
  deviceWithPersistedData.id
@@ -14,7 +14,11 @@ import { McuState } from '../../nrfutil/device/setMcuState';
14
14
  import logger from '../logging';
15
15
  import { AppThunk, RootState } from '../store';
16
16
  import { getAppFile } from '../utils/appDirs';
17
- import { clearWaitForDevice, setWaitForDevice } from './deviceAutoSelectSlice';
17
+ import {
18
+ clearWaitForDevice,
19
+ setWaitForDevice,
20
+ WaitForDeviceWhen,
21
+ } from './deviceAutoSelectSlice';
18
22
  import { DeviceSetup, DfuEntry } from './deviceSetup';
19
23
  import { openDeviceSetupDialog } from './deviceSetupSlice';
20
24
  import { Device } from './deviceSlice';
@@ -147,16 +151,20 @@ const switchToDeviceMode =
147
151
  device: Device,
148
152
  mcuState: McuState,
149
153
  onSuccess: (device: Device) => void,
150
- onFail: (reason?: unknown) => void
154
+ onFail: (reason?: unknown) => void,
155
+ autoReconnectWhen?: WaitForDeviceWhen
151
156
  ): AppThunk =>
152
157
  dispatch => {
158
+ if (autoReconnectWhen === undefined) {
159
+ autoReconnectWhen =
160
+ mcuState === 'Application'
161
+ ? 'applicationMode'
162
+ : 'dfuBootLoaderMode';
163
+ }
153
164
  dispatch(
154
165
  setWaitForDevice({
155
166
  timeout: 10000,
156
- when:
157
- mcuState === 'Application'
158
- ? 'applicationMode'
159
- : 'dfuBootLoaderMode',
167
+ when: autoReconnectWhen,
160
168
  once: true,
161
169
  onSuccess,
162
170
  onFail,
@@ -199,7 +207,8 @@ export const switchToApplicationMode =
199
207
  (
200
208
  device: Device,
201
209
  onSuccess: (device: Device) => void,
202
- onFail: (reason?: unknown) => void
210
+ onFail: (reason?: unknown) => void,
211
+ autoReconnectWhen?: WaitForDeviceWhen
203
212
  ): AppThunk =>
204
213
  dispatch => {
205
214
  if (isDeviceInDFUBootloader(device)) {
@@ -216,7 +225,8 @@ export const switchToApplicationMode =
216
225
  );
217
226
  else onSuccess(d);
218
227
  },
219
- onFail
228
+ onFail,
229
+ autoReconnectWhen
220
230
  )
221
231
  );
222
232
  } else {
@@ -408,7 +418,8 @@ const programInDFUBootloader =
408
418
  dfu: DfuEntry,
409
419
  onProgress: (progress: number, message?: string) => void,
410
420
  onSuccess: (device: Device) => void,
411
- onFail: (reason?: unknown) => void
421
+ onFail: (reason?: unknown) => void,
422
+ autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode'
412
423
  ): AppThunk<RootState, Promise<void>> =>
413
424
  async dispatch => {
414
425
  logger.debug(`${device.serialNumber} on is now in DFU-Bootloader...`);
@@ -494,7 +505,7 @@ const programInDFUBootloader =
494
505
  dispatch(
495
506
  setWaitForDevice({
496
507
  timeout: DEFAULT_DEVICE_WAIT_TIME,
497
- when: 'applicationMode',
508
+ when: autoReconnectAfterProgrammingWhen,
498
509
  once: true,
499
510
  onSuccess,
500
511
  onFail,
@@ -518,7 +529,8 @@ const programDeviceWithFw =
518
529
  (
519
530
  device: Device,
520
531
  selectedFw: DfuEntry,
521
- onProgress: (progress: number, message?: string) => void
532
+ onProgress: (progress: number, message?: string) => void,
533
+ autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode'
522
534
  ): AppThunk<RootState, Promise<Device>> =>
523
535
  dispatch =>
524
536
  new Promise<Device>((resolve, reject) => {
@@ -529,7 +541,8 @@ const programDeviceWithFw =
529
541
  selectedFw,
530
542
  onProgress,
531
543
  resolve,
532
- reject
544
+ reject,
545
+ autoReconnectAfterProgrammingWhen
533
546
  )
534
547
  );
535
548
  logger.debug('DFU finished: ', d);
@@ -542,7 +555,8 @@ const programDeviceWithFw =
542
555
 
543
556
  export const sdfuDeviceSetup = (
544
557
  dfuFirmware: DfuEntry[],
545
- needSerialport = false
558
+ needSerialport = false,
559
+ autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode'
546
560
  ): DeviceSetup => ({
547
561
  supportsProgrammingMode: (device, deviceInfo) =>
548
562
  ((!!deviceInfo?.dfuTriggerVersion &&
@@ -555,7 +569,12 @@ export const sdfuDeviceSetup = (
555
569
  description: firmwareOption.description,
556
570
  programDevice: onProgress => dispatch =>
557
571
  dispatch(
558
- programDeviceWithFw(device, firmwareOption, onProgress)
572
+ programDeviceWithFw(
573
+ device,
574
+ firmwareOption,
575
+ onProgress,
576
+ autoReconnectAfterProgrammingWhen
577
+ )
559
578
  ),
560
579
  })),
561
580
  isExpectedFirmware: (device, deviceInfo) => () => {
@@ -580,7 +599,14 @@ export const sdfuDeviceSetup = (
580
599
  },
581
600
  tryToSwitchToApplicationMode: device => dispatch =>
582
601
  new Promise<Device>((resolve, reject) => {
583
- dispatch(switchToApplicationMode(device, resolve, reject));
602
+ dispatch(
603
+ switchToApplicationMode(
604
+ device,
605
+ resolve,
606
+ reject,
607
+ autoReconnectAfterProgrammingWhen
608
+ )
609
+ );
584
610
  }),
585
611
  });
586
612
 
@@ -26,6 +26,7 @@ export interface AppInfo {
26
26
  installed?: {
27
27
  path: string;
28
28
  shasum?: string;
29
+ publishTimestamp?: string;
29
30
  };
30
31
  }
31
32
  export declare const semver: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"MetaFiles.d.ts","sourceRoot":"","sources":["../../../ipc/MetaFiles.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACL;AAED,eAAO,MAAM,MAAM,aAIlB,CAAC;AAEF,QAAA,MAAM,iBAAiB,aAAa,CAAC;AACrC,QAAA,MAAM,oBAAoB,aAAS,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,UAAU,iEAGtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"MetaFiles.d.ts","sourceRoot":"","sources":["../../../ipc/MetaFiles.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACL;AAED,eAAO,MAAM,MAAM,aAIlB,CAAC;AAEF,QAAA,MAAM,iBAAiB,aAAa,CAAC;AACrC,QAAA,MAAM,oBAAoB,aAAS,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,UAAU,iEAGtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandbox.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EAGb,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAcxB,QAAA,MAAM,UAAU,YAAa,MAAM,UAAU,MAAM,WAAW,MAAM;;;;;;;;;;;CA8BnE,CAAC;AAiDF,qBAAa,cAAc;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,CAAM;IACxE,QAAQ,EAAE,QAAQ,CAAmC;IACrD,GAAG,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ5D,OAAO,CAAC,kBAAkB,CASxB;IAEK,gBAAgB,+BAUrB;IAEK,cAAc,+BAQnB;IAEK,kBAAkB,yBAmBvB;IAEK,cAAc,4BACO,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAmBxD;IAEK,iBAAiB,4BACI,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAQxD;IAEK,iBAAiB,eAA4C;IAE7D,sBAAsB,oBAChB,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,mBAAmB,CAsBrB;IAEN,OAAO,CAAC,YAAY,CAmFlB;IAEK,YAAY,YACN,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,MAAM,GAAG,SAAS,qBACvC,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,mBAqEnD;IAEA,qBAAqB,oBACf,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,kBAAkB,CAmFxB;IAEK,WAAW,YACL,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,IAAI,qBACzB,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,mBA0DnD;IAEA,yBAAyB,oBACnB,MAAM,QACT,MAAM,EAAE,uDAEE,OAAO,UAAU,KAAK,OAAO,UAAU;yBA4ClC,MAAM,IAAI;;qCAKE,KAAK,KAAK,IAAI,qBA7Cf,KAAK,KAAK,IAAI;MAoDhD;IAEK,8BAA8B,eACxB,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,sCAahB;IAEK,kCAAkC,sBAC5B,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,+BAA+B,sBACzB,MAAM,eACF,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,SAAS,sBACO,UAAU,QAAQ,MAAM,KAAK,IAAI,sBAvlB1B,UAAU,QAAQ,MAAM,KAAK,IAAI,IAgmB7D;IAEK,WAAW,UAAW,QAAQ,UAEnC;CACL;kCAGY,MAAM,UACP,MAAM,YACJ,MAAM,2BACQ,QAAQ,SAAS,IAAI,KAAK,IAAI;AAJ1D,wBAwBE"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandbox.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EAGb,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAmBxB,QAAA,MAAM,UAAU,YAAa,MAAM,UAAU,MAAM,WAAW,MAAM;;;;;;;;;;;CA0BnE,CAAC;AAiDF,qBAAa,cAAc;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,CAAM;IACxE,QAAQ,EAAE,QAAQ,CAAmC;IACrD,GAAG,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ5D,OAAO,CAAC,kBAAkB,CASxB;IAEK,gBAAgB,+BAUrB;IAEK,cAAc,+BAQnB;IAEK,kBAAkB,yBAmBvB;IAEK,cAAc,4BACO,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAmBxD;IAEK,iBAAiB,4BACI,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAQxD;IAEK,iBAAiB,eAA4C;IAE7D,sBAAsB,oBAChB,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,mBAAmB,CAsBrB;IAEN,OAAO,CAAC,YAAY,CAmFlB;IAEK,YAAY,YACN,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,MAAM,GAAG,SAAS,qBACvC,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,mBAqEnD;IAEA,qBAAqB,oBACf,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,kBAAkB,CAmFxB;IAEK,WAAW,YACL,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,IAAI,qBACzB,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,mBA0DnD;IAEA,yBAAyB,oBACnB,MAAM,QACT,MAAM,EAAE,uDAEE,OAAO,UAAU,KAAK,OAAO,UAAU;yBA4ClC,MAAM,IAAI;;qCAKE,KAAK,KAAK,IAAI,qBA7Cf,KAAK,KAAK,IAAI;MAoDhD;IAEK,8BAA8B,eACxB,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,sCAahB;IAEK,kCAAkC,sBAC5B,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,+BAA+B,sBACzB,MAAM,eACF,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,SAAS,sBACO,UAAU,QAAQ,MAAM,KAAK,IAAI,sBAvlB1B,UAAU,QAAQ,MAAM,KAAK,IAAI,IAgmB7D;IAEK,WAAW,UAAW,QAAQ,UAEnC;CACL;kCAGY,MAAM,UACP,MAAM,YACJ,MAAM,2BACQ,QAAQ,SAAS,IAAI,KAAK,IAAI;AAJ1D,wBAwBE"}
@@ -1,8 +1,9 @@
1
1
  import type { AppThunk, RootState } from '../store';
2
2
  import type { Device } from './deviceSlice';
3
+ export type WaitForDeviceWhen = 'always' | 'applicationMode' | 'dfuBootLoaderMode' | 'sameTraits' | ((device: Device) => boolean);
3
4
  export interface WaitForDevice {
4
5
  timeout: number;
5
- when: 'always' | 'applicationMode' | 'dfuBootLoaderMode' | 'sameTraits' | ((device: Device) => boolean);
6
+ when: WaitForDeviceWhen;
6
7
  once: boolean;
7
8
  skipRefetchDeviceInfo?: boolean;
8
9
  onSuccess?: (device: Device) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"deviceAutoSelectSlice.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceAutoSelectSlice.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EACE,QAAQ,GACR,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AA4ED,eAAO,MACH,OAAO,6EAEH,uBAAuB,2GACvB,yBAAyB,8GACzB,mBAAmB,2HACnB,mBAAmB,2HACnB,eAAe,oGACf,gBAAgB,2GAChB,sBAAsB,8HACtB,sBAAsB,+HACtB,kBAAkB,4DAjBsC,IAAI,wCAmB3D,CAAC;AAEV,eAAO,MAAM,qBAAqB,UAAW,SAAS,uBACrB,CAAC;AAElC,eAAO,MAAM,eAAe,UAAW,SAAS,YACT,CAAC;AAExC,eAAO,MAAM,wBAAwB,UAAW,SAAS,YAElB,CAAC;AAExC,eAAO,MAAM,0BAA0B,UAAW,SAAS,YACE,CAAC;AAE9D,eAAO,MAAM,oBAAoB,UAAW,SAAS,uBACT,CAAC;AAE7C,eAAO,MAAM,gBAAgB,UAAW,SAAS,8BACT,CAAC;AAEzC,eAAO,MAAM,sBAAsB,UAAW,SAAS,uBACT,CAAC;AAC/C,eAAO,MAAM,sBAAsB,UAAW,SAAS,wBACT,CAAC;AAE/C,eAAO,MAAM,kBAAkB,QAAO,QAKrC,CAAC"}
1
+ {"version":3,"file":"deviceAutoSelectSlice.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceAutoSelectSlice.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GACvB,QAAQ,GACR,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AA4ED,eAAO,MACH,OAAO,6EAEH,uBAAuB,2GACvB,yBAAyB,8GACzB,mBAAmB,2HACnB,mBAAmB,2HACnB,eAAe,oGACf,gBAAgB,2GAChB,sBAAsB,8HACtB,sBAAsB,+HACtB,kBAAkB,4DAjBsC,IAAI,wCAmB3D,CAAC;AAEV,eAAO,MAAM,qBAAqB,UAAW,SAAS,uBACrB,CAAC;AAElC,eAAO,MAAM,eAAe,UAAW,SAAS,YACT,CAAC;AAExC,eAAO,MAAM,wBAAwB,UAAW,SAAS,YAElB,CAAC;AAExC,eAAO,MAAM,0BAA0B,UAAW,SAAS,YACE,CAAC;AAE9D,eAAO,MAAM,oBAAoB,UAAW,SAAS,uBACT,CAAC;AAE7C,eAAO,MAAM,gBAAgB,UAAW,SAAS,8BACT,CAAC;AAEzC,eAAO,MAAM,sBAAsB,UAAW,SAAS,uBACT,CAAC;AAC/C,eAAO,MAAM,sBAAsB,UAAW,SAAS,wBACT,CAAC;AAE/C,eAAO,MAAM,kBAAkB,QAAO,QAKrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceLister.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceLister.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAG1E,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcpD,OAAO,EAEH,MAAM,EAIT,MAAM,eAAe,CAAC;AAsDvB,eAAO,MAAM,QAAQ,WAAY,MAAM,eAAe,UAAU,YAI3D,CAAC;AA8BN,eAAO,MAAM,oBAAoB,iBACf,YAAY,kBACV,YAAY,YAS3B,CAAC;AAkCN,eAAO,MAAM,oBAAoB,kBAEV,YAAY,8BACC,MAAM,KAAK,IAAI,iCACZ,MAAM,KAAK,IAAI,sBAC1B,MAAM,IAAI,2BACL,MAAM,kBAAkB,OAAO,KAAK,IAAI,KAClE,SAAS,SAAS,EAAE,IAAI,CA0P1B,CAAC;AAwDN,eAAO,MAAM,mBAAmB,cAAe,MAAM,IAAI,SAGxD,CAAC"}
1
+ {"version":3,"file":"deviceLister.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceLister.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAG1E,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcpD,OAAO,EAEH,MAAM,EAIT,MAAM,eAAe,CAAC;AAsDvB,eAAO,MAAM,QAAQ,WAAY,MAAM,eAAe,UAAU,YAI3D,CAAC;AA8BN,eAAO,MAAM,oBAAoB,iBACf,YAAY,kBACV,YAAY,YAS3B,CAAC;AAkCN,eAAO,MAAM,oBAAoB,kBAEV,YAAY,8BACC,MAAM,KAAK,IAAI,iCACZ,MAAM,KAAK,IAAI,sBAC1B,MAAM,IAAI,2BACL,MAAM,kBAAkB,OAAO,KAAK,IAAI,KAClE,SAAS,SAAS,EAAE,IAAI,CA2P1B,CAAC;AAwDN,eAAO,MAAM,mBAAmB,cAAe,MAAM,IAAI,SAGxD,CAAC"}
@@ -1,13 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import { AppThunk } from '../store';
3
+ import { WaitForDeviceWhen } from './deviceAutoSelectSlice';
3
4
  import { DeviceSetup, DfuEntry } from './deviceSetup';
4
5
  import { Device } from './deviceSlice';
5
6
  import { DfuImage } from './initPacket';
6
7
  export declare const isDeviceInDFUBootloader: (device: Device) => boolean;
7
8
  export declare const ensureBootloaderMode: (device: Device) => boolean;
8
9
  export declare const switchToBootloaderMode: (device: Device, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void) => AppThunk;
9
- export declare const switchToApplicationMode: (device: Device, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void) => AppThunk;
10
- export declare const sdfuDeviceSetup: (dfuFirmware: DfuEntry[], needSerialport?: boolean) => DeviceSetup;
10
+ export declare const switchToApplicationMode: (device: Device, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void, autoReconnectWhen?: WaitForDeviceWhen) => AppThunk;
11
+ export declare const sdfuDeviceSetup: (dfuFirmware: DfuEntry[], needSerialport?: boolean, autoReconnectAfterProgrammingWhen?: WaitForDeviceWhen) => DeviceSetup;
11
12
  declare const _default: {
12
13
  createDfuZipBuffer: (dfuImages: DfuImage[]) => Promise<Buffer>;
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sdfuOperations.d.ts","sourceRoot":"","sources":["../../../../src/Device/sdfuOperations.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,QAAQ,EAAa,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAGH,QAAQ,EAIX,MAAM,cAAc,CAAC;AAUtB,eAAO,MAAM,uBAAuB,WAAY,MAAM,YAiBrD,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,MAAM,YAOlD,CAAC;AA2GF,eAAO,MAAM,sBAAsB,WAEnB,MAAM,sBACM,MAAM,KAAK,IAAI,oBACjB,OAAO,KAAK,IAAI,KACnC,QAoBF,CAAC;AAEN,eAAO,MAAM,uBAAuB,WAEpB,MAAM,sBACM,MAAM,KAAK,IAAI,oBACjB,OAAO,KAAK,IAAI,KACnC,QAsBF,CAAC;AA8TN,eAAO,MAAM,eAAe,gBACX,QAAQ,EAAE,+BAExB,WAuCD,CAAC;;;;AAEH,wBAEE"}
1
+ {"version":3,"file":"sdfuOperations.d.ts","sourceRoot":"","sources":["../../../../src/Device/sdfuOperations.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,QAAQ,EAAa,MAAM,UAAU,CAAC;AAE/C,OAAO,EAGH,iBAAiB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAGH,QAAQ,EAIX,MAAM,cAAc,CAAC;AAUtB,eAAO,MAAM,uBAAuB,WAAY,MAAM,YAiBrD,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,MAAM,YAOlD,CAAC;AA+GF,eAAO,MAAM,sBAAsB,WAEnB,MAAM,sBACM,MAAM,KAAK,IAAI,oBACjB,OAAO,KAAK,IAAI,KACnC,QAoBF,CAAC;AAEN,eAAO,MAAM,uBAAuB,WAEpB,MAAM,sBACM,MAAM,KAAK,IAAI,oBACjB,OAAO,KAAK,IAAI,sBACd,iBAAiB,KACtC,QAuBF,CAAC;AAiUN,eAAO,MAAM,eAAe,gBACX,QAAQ,EAAE,gEAEY,iBAAiB,KACrD,WAmDD,CAAC;;;;AAEH,wBAEE"}