@nordicsemiconductor/pc-nrfconnect-shared 212.0.0 → 214.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 +27 -0
- package/nrfutil/collectingResultParser.ts +82 -0
- package/nrfutil/common.ts +41 -0
- package/nrfutil/device/batch.ts +25 -62
- package/nrfutil/device/batchTypes.ts +8 -46
- package/nrfutil/device/boardController.ts +2 -2
- package/nrfutil/device/common.ts +6 -10
- package/nrfutil/device/deviceInfo.ts +4 -3
- package/nrfutil/device/erase.ts +4 -3
- package/nrfutil/device/getBoardControllerConfig.ts +2 -2
- package/nrfutil/device/getBoardControllerVersion.ts +2 -2
- package/nrfutil/device/getCoreInfo.ts +4 -3
- package/nrfutil/device/getFwInfo.ts +4 -3
- package/nrfutil/device/getProtectionStatus.ts +4 -3
- package/nrfutil/device/list.ts +5 -10
- package/nrfutil/device/logLibVersions.ts +8 -69
- package/nrfutil/device/program.ts +60 -66
- package/nrfutil/device/recover.ts +4 -3
- package/nrfutil/device/reset.ts +7 -13
- package/nrfutil/device/setMcuState.ts +2 -2
- package/nrfutil/device/setProtectionStatus.ts +4 -3
- package/nrfutil/device/xRead.ts +26 -28
- package/nrfutil/index.ts +2 -3
- package/nrfutil/modules.ts +10 -15
- package/nrfutil/sandbox.ts +162 -327
- package/nrfutil/sandboxTypes.ts +4 -43
- package/nrfutil/{jlinkVersion.test.ts → version/jlinkVersion.test.ts} +1 -1
- package/nrfutil/{jlinkVersion.ts → version/jlinkVersion.ts} +2 -2
- package/nrfutil/{moduleVersion.ts → version/moduleVersion.ts} +44 -7
- package/package.json +1 -1
- package/scripts/nordic-publish.js +4 -2
- package/scripts/nordic-publish.ts +44 -7
- package/src/logging/index.ts +2 -10
- package/src/utils/systemReport.ts +4 -1
- package/typings/generated/nrfutil/collectingResultParser.d.ts +19 -0
- package/typings/generated/nrfutil/collectingResultParser.d.ts.map +1 -0
- package/typings/generated/nrfutil/common.d.ts +6 -0
- package/typings/generated/nrfutil/common.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts +1 -1
- package/typings/generated/nrfutil/device/batch.d.ts +6 -4
- package/typings/generated/nrfutil/device/batch.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/batchTypes.d.ts +8 -30
- package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/boardController.d.ts +2 -2
- package/typings/generated/nrfutil/device/boardController.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/common.d.ts +4 -3
- package/typings/generated/nrfutil/device/common.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/device.d.ts +14 -14
- package/typings/generated/nrfutil/device/deviceInfo.d.ts +2 -2
- package/typings/generated/nrfutil/device/deviceInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/erase.d.ts +2 -2
- package/typings/generated/nrfutil/device/erase.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getBoardControllerConfig.d.ts +2 -2
- package/typings/generated/nrfutil/device/getBoardControllerConfig.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getBoardControllerVersion.d.ts +2 -2
- package/typings/generated/nrfutil/device/getBoardControllerVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getCoreInfo.d.ts +2 -2
- package/typings/generated/nrfutil/device/getCoreInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getFwInfo.d.ts +2 -2
- package/typings/generated/nrfutil/device/getFwInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getProtectionStatus.d.ts +2 -2
- package/typings/generated/nrfutil/device/getProtectionStatus.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/list.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/logLibVersions.d.ts +2 -2
- package/typings/generated/nrfutil/device/logLibVersions.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/program.d.ts +13 -13
- package/typings/generated/nrfutil/device/program.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/recover.d.ts +2 -2
- package/typings/generated/nrfutil/device/recover.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/reset.d.ts +2 -2
- package/typings/generated/nrfutil/device/reset.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/setMcuState.d.ts +2 -2
- package/typings/generated/nrfutil/device/setMcuState.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts +2 -2
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/xRead.d.ts +9 -2
- package/typings/generated/nrfutil/device/xRead.d.ts.map +1 -1
- package/typings/generated/nrfutil/index.d.ts +2 -3
- package/typings/generated/nrfutil/index.d.ts.map +1 -1
- package/typings/generated/nrfutil/modules.d.ts +1 -1
- package/typings/generated/nrfutil/modules.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandbox.d.ts +27 -35
- package/typings/generated/nrfutil/sandbox.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandboxTypes.d.ts +4 -29
- package/typings/generated/nrfutil/sandboxTypes.d.ts.map +1 -1
- package/typings/generated/nrfutil/{jlinkVersion.d.ts → version/jlinkVersion.d.ts} +1 -1
- package/typings/generated/nrfutil/version/jlinkVersion.d.ts.map +1 -0
- package/typings/generated/nrfutil/version/jlinkVersion.test.d.ts.map +1 -0
- package/typings/generated/nrfutil/version/moduleVersion.d.ts +40 -0
- package/typings/generated/nrfutil/version/moduleVersion.d.ts.map +1 -0
- package/typings/generated/nrfutil/version/version.d.ts.map +1 -0
- package/typings/generated/src/logging/index.d.ts.map +1 -1
- package/typings/generated/src/utils/systemReport.d.ts.map +1 -1
- package/typings/generated/nrfutil/jlinkVersion.d.ts.map +0 -1
- package/typings/generated/nrfutil/jlinkVersion.test.d.ts.map +0 -1
- package/typings/generated/nrfutil/moduleVersion.d.ts +0 -12
- package/typings/generated/nrfutil/moduleVersion.d.ts.map +0 -1
- package/typings/generated/nrfutil/version.d.ts.map +0 -1
- /package/nrfutil/{version.ts → version/version.ts} +0 -0
- /package/typings/generated/nrfutil/{jlinkVersion.test.d.ts → version/jlinkVersion.test.d.ts} +0 -0
- /package/typings/generated/nrfutil/{version.d.ts → version/version.d.ts} +0 -0
|
@@ -38,7 +38,7 @@ abstract class Client {
|
|
|
38
38
|
abstract sourceUrl: string;
|
|
39
39
|
|
|
40
40
|
initialise(options: Options): Promise<void> | void {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
41
|
-
end(): void
|
|
41
|
+
abstract end(): void;
|
|
42
42
|
|
|
43
43
|
abstract download(filename: string): Promise<string>;
|
|
44
44
|
abstract uploadContent(
|
|
@@ -163,8 +163,13 @@ class FtpClient extends Client {
|
|
|
163
163
|
class ArtifactoryClient extends Client {
|
|
164
164
|
token = process.env.ARTIFACTORY_TOKEN;
|
|
165
165
|
|
|
166
|
+
folderName: string;
|
|
167
|
+
|
|
166
168
|
sourceUrl: string;
|
|
167
169
|
uploadUrl: string;
|
|
170
|
+
cacheUrl: string;
|
|
171
|
+
|
|
172
|
+
filesWhereCacheZappingFailed: string[] = [];
|
|
168
173
|
|
|
169
174
|
constructor(private readonly options: Options) {
|
|
170
175
|
super();
|
|
@@ -175,13 +180,11 @@ class ArtifactoryClient extends Client {
|
|
|
175
180
|
);
|
|
176
181
|
}
|
|
177
182
|
|
|
178
|
-
this.
|
|
179
|
-
options.source
|
|
180
|
-
}`;
|
|
183
|
+
this.folderName = `${this.getAccessLevel()}/ncd/apps/${options.source}`;
|
|
181
184
|
|
|
182
|
-
this.
|
|
183
|
-
|
|
184
|
-
}`;
|
|
185
|
+
this.uploadUrl = `https://files.nordicsemi.com/artifactory/swtools/${this.folderName}`;
|
|
186
|
+
this.sourceUrl = `https://files.nordicsemi.com/ui/api/v1/download?isNativeBrowsing=false&repoKey=swtools&path=${this.folderName}`;
|
|
187
|
+
this.cacheUrl = `https://files.nordicsemi.cn/artifactory/swtools-cache/${this.folderName}`;
|
|
185
188
|
}
|
|
186
189
|
|
|
187
190
|
getAccessLevel = () => {
|
|
@@ -205,6 +208,22 @@ class ArtifactoryClient extends Client {
|
|
|
205
208
|
return res.text();
|
|
206
209
|
};
|
|
207
210
|
|
|
211
|
+
zapCache = async (filename: string) => {
|
|
212
|
+
const url = `${this.cacheUrl}/${filename}`;
|
|
213
|
+
const res = await fetch(url, {
|
|
214
|
+
method: 'DELETE',
|
|
215
|
+
headers: { Authorization: `Bearer ${this.token}` },
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
/* 404 is ok, which happens if the file does not exist on the cache
|
|
219
|
+
server. Can happen when it is new or was not cached yet */
|
|
220
|
+
if (res.ok || res.status === 404) return;
|
|
221
|
+
|
|
222
|
+
this.filesWhereCacheZappingFailed.push(
|
|
223
|
+
`${this.folderName}/${filename}`
|
|
224
|
+
);
|
|
225
|
+
};
|
|
226
|
+
|
|
208
227
|
upload = async (content: Buffer, remoteFilename: string) => {
|
|
209
228
|
const url = `${this.uploadUrl}/${remoteFilename}`;
|
|
210
229
|
const res = await fetch(url, {
|
|
@@ -216,6 +235,8 @@ class ArtifactoryClient extends Client {
|
|
|
216
235
|
if (!res.ok) {
|
|
217
236
|
throw new Error(`Failed to upload ${url}: ${res.statusText}`);
|
|
218
237
|
}
|
|
238
|
+
|
|
239
|
+
await this.zapCache(remoteFilename);
|
|
219
240
|
};
|
|
220
241
|
|
|
221
242
|
uploadContent = (content: Buffer, remoteFilename: string) => {
|
|
@@ -231,6 +252,22 @@ class ArtifactoryClient extends Client {
|
|
|
231
252
|
|
|
232
253
|
return this.upload(fs.readFileSync(localFilename), remoteFilename);
|
|
233
254
|
};
|
|
255
|
+
|
|
256
|
+
end = () => {
|
|
257
|
+
if (this.filesWhereCacheZappingFailed.length > 0) {
|
|
258
|
+
console.warn(
|
|
259
|
+
`\nCache zapping failed for these files, probably because your Artifactory token lacks permission for it:`
|
|
260
|
+
);
|
|
261
|
+
this.filesWhereCacheZappingFailed.forEach(file => {
|
|
262
|
+
console.warn(`- ${file}`);
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
console.warn(
|
|
266
|
+
'\nGo to https://github.com/NordicSemiconductor/pc-nrfconnect-shared/actions/workflows/zap-cache.yml, run the workflow and paste this string as the list of paths to zap them manually:'
|
|
267
|
+
);
|
|
268
|
+
console.warn(' ', this.filesWhereCacheZappingFailed.join(', '));
|
|
269
|
+
}
|
|
270
|
+
};
|
|
234
271
|
}
|
|
235
272
|
|
|
236
273
|
const hasMessage = (error: unknown): error is { message: unknown } =>
|
package/src/logging/index.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { TransformableInfo } from 'logform';
|
|
8
7
|
import path from 'path';
|
|
9
8
|
import { SPLAT } from 'triple-beam';
|
|
10
9
|
import { createLogger, format, LogEntry, Logger, transports } from 'winston';
|
|
@@ -51,19 +50,12 @@ interface SharedLogger extends Logger {
|
|
|
51
50
|
logError: (message: string, error: unknown) => void;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
/* This function is only needed, because our version of TypeScript still seems
|
|
55
|
-
unable to accept (unique) symbols as index types. As soon as we have
|
|
56
|
-
upgraded to a version that is capable of that, the invocations of this
|
|
57
|
-
function can be replaced by a simple `info[splat]` and this function can
|
|
58
|
-
be removed. */
|
|
59
|
-
const splat = (info: TransformableInfo) => info[SPLAT as unknown as string];
|
|
60
|
-
|
|
61
53
|
const logger = createLogger({
|
|
62
54
|
format: format.combine(
|
|
63
55
|
format(info => ({
|
|
64
56
|
...info,
|
|
65
|
-
message:
|
|
66
|
-
? `${info.message} ${
|
|
57
|
+
message: Array.isArray(info[SPLAT])
|
|
58
|
+
? `${info.message} ${info[SPLAT].join(' ')}`
|
|
67
59
|
: info.message,
|
|
68
60
|
}))(),
|
|
69
61
|
format.timestamp(),
|
|
@@ -11,7 +11,10 @@ import pretty from 'prettysize';
|
|
|
11
11
|
import si from 'systeminformation';
|
|
12
12
|
|
|
13
13
|
import { getAllModuleVersions } from '../../nrfutil';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
describeVersion,
|
|
16
|
+
findDependency,
|
|
17
|
+
} from '../../nrfutil/version/moduleVersion';
|
|
15
18
|
import { deviceInfo as getDeviceInfo } from '../Device/deviceInfo/deviceInfo';
|
|
16
19
|
import { Device } from '../Device/deviceSlice';
|
|
17
20
|
import logger from '../logging';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { OnLog, OnProgress, OnTaskBegin, OnTaskEnd, TaskEnd } from './sandboxTypes';
|
|
3
|
+
export default class CollectingResultParser<Result> {
|
|
4
|
+
private onLog;
|
|
5
|
+
private onProgress?;
|
|
6
|
+
private onTaskBegin?;
|
|
7
|
+
private onTaskEnd?;
|
|
8
|
+
private readonly info;
|
|
9
|
+
private readonly taskEnd;
|
|
10
|
+
constructor(onLog: OnLog, onProgress?: OnProgress | undefined, onTaskBegin?: OnTaskBegin | undefined, onTaskEnd?: OnTaskEnd<Result> | undefined);
|
|
11
|
+
handleData: (data: Buffer, pid?: number) => Buffer | undefined;
|
|
12
|
+
hasFailures: () => boolean;
|
|
13
|
+
errorMessage: () => string;
|
|
14
|
+
result: () => {
|
|
15
|
+
taskEnd: TaskEnd<Result>[];
|
|
16
|
+
info: Result[];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=collectingResultParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectingResultParser.d.ts","sourceRoot":"","sources":["../../../nrfutil/collectingResultParser.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAER,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAKxB,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAAC,MAAM;IAM1C,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS,CAAC;IARtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAIrC,KAAK,EAAE,KAAK,EACZ,UAAU,CAAC,wBAAY,EACvB,WAAW,CAAC,yBAAa,EACzB,SAAS,CAAC,+BAAmB;IAGlC,UAAU,SAAU,MAAM,QAAQ,MAAM,wBAoC7C;IAEK,WAAW,gBACoD;IAE/D,YAAY,eAMC;IAEb,MAAM;;;MAAsD;CACtE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { NrfutilProgress, Progress } from './sandboxTypes';
|
|
3
|
+
export declare const convertNrfutilProgress: (progress: NrfutilProgress) => Progress;
|
|
4
|
+
export declare const parseJsonBuffers: <T>(data: Buffer) => T[] | undefined;
|
|
5
|
+
export declare const collectErrorMessages: (...messages: (string | undefined)[]) => string;
|
|
6
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../nrfutil/common.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEhE,eAAO,MAAM,sBAAsB,aAAc,eAAe,KAAG,QAiBlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,MAAM,oBAU/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,WACP,CAAC"}
|
|
@@ -15,7 +15,7 @@ declare const _default: {
|
|
|
15
15
|
stop: jest.Mock<any, any, any>;
|
|
16
16
|
}, [], any>;
|
|
17
17
|
firmwareRead: jest.Mock<any, any, any>;
|
|
18
|
-
xRead: (device: import("..").NrfutilDevice,
|
|
18
|
+
xRead: (device: import("..").NrfutilDevice, options: import("../xRead").XReadOptions, core?: import("..").DeviceCore | undefined, onProgress?: import("../../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<{
|
|
19
19
|
intelHex: string;
|
|
20
20
|
}>;
|
|
21
21
|
onLogging: jest.Mock<any, any, any>;
|
|
@@ -4,8 +4,9 @@ import { DeviceCore, DeviceTraits, NrfutilDevice, ResetKind } from './common';
|
|
|
4
4
|
import { DeviceCoreInfo } from './getCoreInfo';
|
|
5
5
|
import { FWInfo } from './getFwInfo';
|
|
6
6
|
import { GetProtectionStatusResult } from './getProtectionStatus';
|
|
7
|
-
import {
|
|
8
|
-
import { ReadResult } from './xRead';
|
|
7
|
+
import { Firmware, ProgrammingOptions } from './program';
|
|
8
|
+
import { ReadResult, type XReadOptions } from './xRead';
|
|
9
|
+
type CallbacksUnknown = Callbacks<unknown>;
|
|
9
10
|
export declare class Batch {
|
|
10
11
|
private operationBatchGeneration;
|
|
11
12
|
private collectOperations;
|
|
@@ -15,14 +16,15 @@ export declare class Batch {
|
|
|
15
16
|
boardController(data: object, callbacks?: Callbacks): this;
|
|
16
17
|
getBoardControllerConfig(callbacks?: Callbacks): this;
|
|
17
18
|
getBoardControllerVersion(callbacks?: Callbacks): this;
|
|
18
|
-
xRead(core: DeviceCore,
|
|
19
|
+
xRead(core: DeviceCore, options: XReadOptions, callbacks?: Callbacks<ReadResult>): this;
|
|
19
20
|
getCoreInfo(core: DeviceCore, callbacks?: Callbacks<DeviceCoreInfo>): this;
|
|
20
21
|
getFwInfo(core: DeviceCore, callbacks?: Callbacks<FWInfo>): this;
|
|
21
22
|
getProtectionStatus(core: DeviceCore, callbacks?: Callbacks<GetProtectionStatusResult>): this;
|
|
22
|
-
program(firmware:
|
|
23
|
+
program(firmware: Firmware, core: DeviceCore, programmingOptions?: ProgrammingOptions, deviceTraits?: DeviceTraits, callbacks?: CallbacksUnknown): this;
|
|
23
24
|
recover(core: DeviceCore, callbacks?: Callbacks): this;
|
|
24
25
|
reset(core: DeviceCore, reset?: ResetKind, callbacks?: Callbacks): this;
|
|
25
26
|
collect(count: number, callback: (completedTasks: TaskEnd<unknown>[]) => void): this;
|
|
26
27
|
run(device: NrfutilDevice, controller?: AbortController | undefined): Promise<unknown[]>;
|
|
27
28
|
}
|
|
29
|
+
export {};
|
|
28
30
|
//# sourceMappingURL=batch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batch.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAyB,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAEH,UAAU,EACV,YAAY,EAEZ,aAAa,EACb,SAAS,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAEH,QAAQ,EACR,kBAAkB,EAErB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,UAAU,EAEV,KAAK,YAAY,EAEpB,MAAM,SAAS,CAAC;AAGjB,KAAK,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAE3C,qBAAa,KAAK;IACd,OAAO,CAAC,wBAAwB,CACzB;IAEP,OAAO,CAAC,iBAAiB,CAIhB;IAET,OAAO,CAAC,2BAA2B;IA2B5B,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;IAU7D,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAU7C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAuBnD,wBAAwB,CAAC,SAAS,CAAC,EAAE,SAAS;IAsB9C,yBAAyB,CAAC,SAAS,CAAC,EAAE,SAAS;IAsB/C,KAAK,CACR,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC;IA8B9B,WAAW,CACd,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC;IAWlC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;IAUzD,mBAAmB,CACtB,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,SAAS,CAAC,yBAAyB,CAAC;IAW7C,OAAO,CACV,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,YAAY,CAAC,EAAE,YAAY,EAC3B,SAAS,CAAC,EAAE,gBAAgB;IAyBzB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAU/C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS;IAWhE,OAAO,CACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI;IAW7C,GAAG,CACZ,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,eAAe,GAAG,SAAS,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC;CAyGxB"}
|
|
@@ -1,40 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DeviceCore, ResetKind } from './common';
|
|
3
|
-
import { ProgrammingOptions } from './program';
|
|
1
|
+
import type { OnProgress, OnTaskBegin, OnTaskEnd } from '../sandboxTypes';
|
|
2
|
+
import { type DeviceCore, type ResetKind } from './common';
|
|
4
3
|
export interface BatchOperationWrapper<T = void> {
|
|
5
4
|
operation: object;
|
|
6
|
-
onProgress?:
|
|
7
|
-
onTaskBegin?:
|
|
8
|
-
onTaskEnd?:
|
|
5
|
+
onProgress?: OnProgress;
|
|
6
|
+
onTaskBegin?: OnTaskBegin;
|
|
7
|
+
onTaskEnd?: OnTaskEnd<T>;
|
|
9
8
|
onException?: (error: Error) => void;
|
|
10
9
|
}
|
|
11
10
|
export type Callbacks<T = void> = {
|
|
12
|
-
onTaskBegin?:
|
|
13
|
-
onTaskEnd?:
|
|
14
|
-
onProgress?:
|
|
11
|
+
onTaskBegin?: OnTaskBegin;
|
|
12
|
+
onTaskEnd?: OnTaskEnd<T>;
|
|
13
|
+
onProgress?: OnProgress;
|
|
15
14
|
onException?: (error: Error) => void;
|
|
16
15
|
};
|
|
17
16
|
export type DeviceCoreBatch = 'NRFDL_DEVICE_CORE_APPLICATION' | 'NRFDL_DEVICE_CORE_NETWORK' | 'NRFDL_DEVICE_CORE_MODEM';
|
|
18
17
|
export declare const convertDeviceCoreType: (core?: DeviceCore) => "NRFDL_DEVICE_CORE_APPLICATION" | "NRFDL_DEVICE_CORE_NETWORK" | "NRFDL_DEVICE_CORE_MODEM" | undefined;
|
|
19
|
-
export declare const convertProgrammingOptionsType: (programmingOptions?: ProgrammingOptions) => {
|
|
20
|
-
qspi_erase_mode: "ERASE_ALL" | "ERASE_NONE" | undefined;
|
|
21
|
-
reset: ResetKind | undefined;
|
|
22
|
-
verify: "VERIFY_HASH" | "VERIFY_NONE" | "VERIFY_READ" | undefined;
|
|
23
|
-
mcu_end_state?: undefined;
|
|
24
|
-
net_core_upload_delay?: undefined;
|
|
25
|
-
} | {
|
|
26
|
-
mcu_end_state: "NRFDL_MCU_STATE_APPLICATION" | "NRFDL_MCU_STATE_PROGRAMMING" | undefined;
|
|
27
|
-
net_core_upload_delay: number | undefined;
|
|
28
|
-
qspi_erase_mode?: undefined;
|
|
29
|
-
reset?: undefined;
|
|
30
|
-
verify?: undefined;
|
|
31
|
-
} | {
|
|
32
|
-
mcu_end_state: "NRFDL_MCU_STATE_APPLICATION" | "NRFDL_MCU_STATE_PROGRAMMING" | undefined;
|
|
33
|
-
qspi_erase_mode?: undefined;
|
|
34
|
-
reset?: undefined;
|
|
35
|
-
verify?: undefined;
|
|
36
|
-
net_core_upload_delay?: undefined;
|
|
37
|
-
} | undefined;
|
|
38
18
|
export interface ProgrammingOperation {
|
|
39
19
|
type: 'program';
|
|
40
20
|
firmware: {
|
|
@@ -73,6 +53,4 @@ export interface GenericOperation<T> {
|
|
|
73
53
|
operation: T;
|
|
74
54
|
}
|
|
75
55
|
export type BatchOperation = ProgrammingOperation | ResetOperation | RecoverOperation | ProtectionGetOperation | FirmwareReadOperation | EraseOperation | GetCoreInfoOperation | GetFwInfoOperation;
|
|
76
|
-
export type TaskEndCallback<T = void> = (end: TaskEnd<T>) => void;
|
|
77
|
-
export type TaskBeginCallback = (begin: TaskBegin) => void;
|
|
78
56
|
//# sourceMappingURL=batchTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchTypes.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batchTypes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"batchTypes.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batchTypes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,IAAI;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GACrB,+BAA+B,GAC/B,2BAA2B,GAC3B,yBAAyB,CAAC;AAEhC,eAAO,MAAM,qBAAqB,UAAW,UAAU,0GAStD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GACpB,oBAAoB,GACpB,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,qBAAqB,GACrB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { NrfutilDevice } from './common';
|
|
3
|
-
declare const _default: (device: NrfutilDevice, data: object, onProgress?:
|
|
3
|
+
declare const _default: (device: NrfutilDevice, data: object, onProgress?: OnProgress, controller?: AbortController) => Promise<void>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=boardController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boardController.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/boardController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"boardController.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/boardController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAoC,aAAa,EAAE,MAAM,UAAU,CAAC;iCAG/D,aAAa,QACf,MAAM,eACC,UAAU,eACV,eAAe;AAJhC,wBA8BE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
export declare const deviceTraitsToArgs: (traits: DeviceTraits) => string[];
|
|
3
3
|
export type ResetKind = 'RESET_SYSTEM' | 'RESET_HARD' | 'RESET_DEBUG' | 'RESET_PIN';
|
|
4
4
|
export interface DeviceArrivedEvent {
|
|
@@ -91,6 +91,7 @@ export interface SerialPort {
|
|
|
91
91
|
vcom: number;
|
|
92
92
|
path: string | null;
|
|
93
93
|
}
|
|
94
|
-
export declare const deviceSingleTaskEndOperation: <T = void>(device: NrfutilDevice, command: string, onProgress?:
|
|
95
|
-
export declare const deviceSingleTaskEndOperationVoid: (device: NrfutilDevice, command: string, onProgress?:
|
|
94
|
+
export declare const deviceSingleTaskEndOperation: <T = void>(device: NrfutilDevice, command: string, onProgress?: OnProgress, controller?: AbortController, args?: string[]) => Promise<NonNullable<Awaited<T>>>;
|
|
95
|
+
export declare const deviceSingleTaskEndOperationVoid: (device: NrfutilDevice, command: string, onProgress?: OnProgress, controller?: AbortController, args?: string[]) => Promise<void>;
|
|
96
|
+
export declare const coreArg: (core?: DeviceCore) => string[];
|
|
96
97
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/common.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { LogLevel, LogMessage } from '../sandboxTypes';
|
|
2
2
|
import { Batch } from './batch';
|
|
3
3
|
declare const _default: {
|
|
4
|
-
program: (device: import("./common").NrfutilDevice, firmware: import("./program").
|
|
5
|
-
deviceInfo: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
6
|
-
erase: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
7
|
-
recover: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
8
|
-
reset: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, resetKind?: import("./common").ResetKind | undefined, onProgress?:
|
|
9
|
-
getProtectionStatus: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
10
|
-
setProtectionStatus: (device: import("./common").NrfutilDevice, region: "All" | "SecureRegions" | "Region0" | "Region0Region1", core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
11
|
-
getFwInfo: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
12
|
-
setMcuState: (device: import("./common").NrfutilDevice, state: import("./setMcuState").McuState, onProgress?:
|
|
13
|
-
getCoreInfo: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?:
|
|
4
|
+
program: (device: import("./common").NrfutilDevice, firmware: import("./program").Firmware, onProgress?: import("../sandboxTypes").OnProgress | undefined, core?: import("./common").DeviceCore | undefined, programmingOptions?: import("./program").ProgrammingOptions | undefined, controller?: AbortController | undefined) => Promise<void>;
|
|
5
|
+
deviceInfo: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<import("./deviceInfo").DeviceInfo | undefined>;
|
|
6
|
+
erase: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<void>;
|
|
7
|
+
recover: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<void>;
|
|
8
|
+
reset: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, resetKind?: import("./common").ResetKind | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<void>;
|
|
9
|
+
getProtectionStatus: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<import("./getProtectionStatus").GetProtectionStatusResult>;
|
|
10
|
+
setProtectionStatus: (device: import("./common").NrfutilDevice, region: "All" | "SecureRegions" | "Region0" | "Region0Region1", core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<void>;
|
|
11
|
+
getFwInfo: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<import("./getFwInfo").FWInfo>;
|
|
12
|
+
setMcuState: (device: import("./common").NrfutilDevice, state: import("./setMcuState").McuState, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined, target?: string | undefined) => Promise<void>;
|
|
13
|
+
getCoreInfo: (device: import("./common").NrfutilDevice, core?: import("./common").DeviceCore | undefined, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<import("./getCoreInfo").DeviceCoreInfo>;
|
|
14
14
|
list: (traits: import("./common").DeviceTraits, onEnumerated: (devices: import("./common").NrfutilDevice[]) => void, onError: (error: Error, pid?: number | undefined) => void, onHotplugEvent?: {
|
|
15
15
|
onDeviceArrived: (device: import("./common").NrfutilDevice) => void;
|
|
16
16
|
onDeviceLeft: (id: number) => void;
|
|
@@ -22,10 +22,10 @@ declare const _default: {
|
|
|
22
22
|
onLogging: (handler: (logging: LogMessage) => void) => Promise<() => ((logging: LogMessage, pid?: number | undefined) => void)[]>;
|
|
23
23
|
setLogLevel: (level: LogLevel) => Promise<void>;
|
|
24
24
|
setVerboseLogging: (verbose: boolean) => Promise<void>;
|
|
25
|
-
getModuleVersion: () => Promise<import("../
|
|
26
|
-
boardController: (device: import("./common").NrfutilDevice, data: object, onProgress?:
|
|
27
|
-
getBoardControllerVersion: (device: import("./common").NrfutilDevice, onProgress?:
|
|
28
|
-
getBoardControllerConfig: (device: import("./common").NrfutilDevice, onProgress?:
|
|
25
|
+
getModuleVersion: () => Promise<import("../version/moduleVersion").ModuleVersion>;
|
|
26
|
+
boardController: (device: import("./common").NrfutilDevice, data: object, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<void>;
|
|
27
|
+
getBoardControllerVersion: (device: import("./common").NrfutilDevice, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<import("./getBoardControllerVersion").BoardControllerVersion>;
|
|
28
|
+
getBoardControllerConfig: (device: import("./common").NrfutilDevice, onProgress?: import("../sandboxTypes").OnProgress | undefined, controller?: AbortController | undefined) => Promise<unknown[][]>;
|
|
29
29
|
batch: () => Batch;
|
|
30
30
|
};
|
|
31
31
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { DeviceCore, NrfutilDevice, ProtectionStatus } from './common';
|
|
3
3
|
export interface HwInfo {
|
|
4
4
|
romSize: number;
|
|
@@ -47,6 +47,6 @@ export interface DeviceInfoRaw {
|
|
|
47
47
|
name: 'device-info';
|
|
48
48
|
deviceInfo: DeviceInfo;
|
|
49
49
|
}
|
|
50
|
-
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?:
|
|
50
|
+
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?: OnProgress, controller?: AbortController) => Promise<DeviceInfo | undefined>;
|
|
51
51
|
export default _default;
|
|
52
52
|
//# sourceMappingURL=deviceInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/deviceInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/deviceInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEH,UAAU,EAEV,aAAa,EACb,gBAAgB,EACnB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IACpC,KAAK,EAAE,6BAA6B,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CAC1B;iCAGW,aAAa,SACd,UAAU,eACJ,UAAU,eACV,eAAe;AAJhC,wBAuBE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { DeviceCore, NrfutilDevice } from './common';
|
|
3
|
-
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?:
|
|
3
|
+
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?: OnProgress, controller?: AbortController) => Promise<void>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=erase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/erase.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/erase.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEH,UAAU,EAEV,aAAa,EAChB,MAAM,UAAU,CAAC;iCAGN,aAAa,SACd,UAAU,eACJ,UAAU,eACV,eAAe;AAJhC,wBAYM"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { NrfutilDevice } from './common';
|
|
3
3
|
export interface BoardControllerConfigResponse {
|
|
4
4
|
data: {
|
|
5
5
|
cfg: unknown[][];
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
-
declare const _default: (device: NrfutilDevice, onProgress?:
|
|
8
|
+
declare const _default: (device: NrfutilDevice, onProgress?: OnProgress, controller?: AbortController) => Promise<unknown[][]>;
|
|
9
9
|
export default _default;
|
|
10
10
|
//# sourceMappingURL=getBoardControllerConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBoardControllerConfig.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getBoardControllerConfig.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getBoardControllerConfig.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getBoardControllerConfig.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAgC,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE;QACF,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;KACpB,CAAC;CACL;iCAGW,aAAa,eACR,UAAU,eACV,eAAe;AAHhC,wBA4BE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { NrfutilDevice } from './common';
|
|
3
3
|
export interface BoardControllerVersionResponse {
|
|
4
4
|
data: BoardControllerVersion;
|
|
@@ -11,6 +11,6 @@ export interface BoardControllerVersion {
|
|
|
11
11
|
patch_ver: number;
|
|
12
12
|
pca_num: number;
|
|
13
13
|
}
|
|
14
|
-
declare const _default: (device: NrfutilDevice, onProgress?:
|
|
14
|
+
declare const _default: (device: NrfutilDevice, onProgress?: OnProgress, controller?: AbortController) => Promise<BoardControllerVersion>;
|
|
15
15
|
export default _default;
|
|
16
16
|
//# sourceMappingURL=getBoardControllerVersion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBoardControllerVersion.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getBoardControllerVersion.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getBoardControllerVersion.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getBoardControllerVersion.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAgC,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;iCAGW,aAAa,eACR,UAAU,eACV,eAAe;AAHhC,wBA4BE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { DeviceCore, NrfutilDevice } from './common';
|
|
3
3
|
export type DeviceCoreInfo = {
|
|
4
4
|
name: 'core-info';
|
|
@@ -17,6 +17,6 @@ export type DeviceCoreInfo = {
|
|
|
17
17
|
pinResetPin: number;
|
|
18
18
|
serialNumber: string;
|
|
19
19
|
};
|
|
20
|
-
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?:
|
|
20
|
+
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?: OnProgress, controller?: AbortController) => Promise<DeviceCoreInfo>;
|
|
21
21
|
export default _default;
|
|
22
22
|
//# sourceMappingURL=getCoreInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCoreInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getCoreInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getCoreInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getCoreInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEH,UAAU,EAEV,aAAa,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;iCAGU,aAAa,SACd,UAAU,eACJ,UAAU,eACV,eAAe;AAJhC,wBAYM"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { DeviceCore, NrfutilDevice } from './common';
|
|
3
3
|
type BootloaderType = 'NRFDL_BOOTLOADER_TYPE_NONE' | 'NRFDL_BOOTLOADER_TYPE_MCUBOOT' | 'NRFDL_BOOTLOADER_TYPE_SDFU' | 'NRFDL_BOOTLOADER_TYPE_B0' | 'NRFDL_BOOTLOADER_TYPE_UNKNOWN';
|
|
4
4
|
export type ImageType = 'NRFDL_IMAGE_TYPE_APPLICATION' | 'NRFDL_IMAGE_TYPE_BOOTLOADER' | 'NRFDL_IMAGE_TYPE_SOFTDEVICE' | 'NRFDL_IMAGE_TYPE_OPERATIVE_SYSTEM' | 'NRFDL_IMAGE_TYPE_GENERIC' | 'NRFDL_IMAGE_TYPE_UNKNOWN';
|
|
@@ -26,6 +26,6 @@ export interface FWInfo {
|
|
|
26
26
|
serialNumber: string;
|
|
27
27
|
operationId?: string;
|
|
28
28
|
}
|
|
29
|
-
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?:
|
|
29
|
+
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?: OnProgress, controller?: AbortController) => Promise<FWInfo>;
|
|
30
30
|
export default _default;
|
|
31
31
|
//# sourceMappingURL=getFwInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFwInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getFwInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getFwInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getFwInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEH,UAAU,EAEV,aAAa,EAChB,MAAM,UAAU,CAAC;AAElB,KAAK,cAAc,GACb,4BAA4B,GAC5B,+BAA+B,GAC/B,4BAA4B,GAC5B,0BAA0B,GAC1B,+BAA+B,CAAC;AAEtC,MAAM,MAAM,SAAS,GACf,8BAA8B,GAC9B,6BAA6B,GAC7B,6BAA6B,GAC7B,mCAAmC,GACnC,0BAA0B,GAC1B,0BAA0B,CAAC;AAEjC,UAAU,aAAa;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,KAAK;IACX,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;iCAGW,aAAa,SACd,UAAU,eACJ,UAAU,eACV,eAAe;AAJhC,wBAYM"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type OnProgress } from '../sandboxTypes';
|
|
2
2
|
import { DeviceCore, NrfutilDevice, ProtectionStatus } from './common';
|
|
3
3
|
type DeviceFamily = 'NRF51_FAMILY' | 'NRF52_FAMILY' | 'NRF53_FAMILY' | 'NRF91_FAMILY';
|
|
4
4
|
export interface GetProtectionStatusResult {
|
|
@@ -7,6 +7,6 @@ export interface GetProtectionStatusResult {
|
|
|
7
7
|
protectionStatus: ProtectionStatus;
|
|
8
8
|
serialNumber: string;
|
|
9
9
|
}
|
|
10
|
-
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?:
|
|
10
|
+
declare const _default: (device: NrfutilDevice, core?: DeviceCore, onProgress?: OnProgress, controller?: AbortController) => Promise<GetProtectionStatusResult>;
|
|
11
11
|
export default _default;
|
|
12
12
|
//# sourceMappingURL=getProtectionStatus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProtectionStatus.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getProtectionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getProtectionStatus.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getProtectionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEH,UAAU,EAEV,aAAa,EACb,gBAAgB,EACnB,MAAM,UAAU,CAAC;AAElB,KAAK,YAAY,GACX,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,CAAC;AAErB,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACxB;iCAGW,aAAa,SACd,UAAU,eACJ,UAAU,eACV,eAAe;AAJhC,wBAYM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/list.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAsB,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B;iCAUW,YAAY,0BACI,aAAa,EAAE,KAAK,IAAI,mBAC/B,KAAK,QAAQ,MAAM,KAAK,IAAI;8BAEf,aAAa,KAAK,IAAI;uBAC7B,MAAM,KAAK,IAAI;yBAE5B,MAAM;;;;;AARpB,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/list.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAsB,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B;iCAUW,YAAY,0BACI,aAAa,EAAE,KAAK,IAAI,mBAC/B,KAAK,QAAQ,MAAM,KAAK,IAAI;8BAEf,aAAa,KAAK,IAAI;uBAC7B,MAAM,KAAK,IAAI;yBAE5B,MAAM;;;;;AARpB,wBAuCE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
declare const _default: (moduleVersion: ModuleVersion) =>
|
|
1
|
+
import { type ModuleVersion } from '../version/moduleVersion';
|
|
2
|
+
declare const _default: (moduleVersion: ModuleVersion) => void;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=logLibVersions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logLibVersions.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/logLibVersions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logLibVersions.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/logLibVersions.ts"],"names":[],"mappings":"AASA,OAAO,EAIH,KAAK,aAAa,EACrB,MAAM,0BAA0B,CAAC;wCAkBH,aAAa;AAA5C,wBA2CE"}
|