@nordicsemiconductor/pc-nrfconnect-shared 156.0.0 → 158.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,32 @@ 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
+ ## 158.0.0 - 2024-02-22
11
+
12
+ ### Added
13
+
14
+ - `NrfutilDeviceLib.deviceInfo` now has `protectionStatus` property.
15
+
16
+ ### Removed
17
+
18
+ - `DeviceSlice` no longer has readbackProtection state
19
+ - `DeviceSlice` no longer has setReadbackProtection has be removed
20
+
21
+ ### Changed
22
+
23
+ - `getReadbackProtection` now returns protection type `ProtectionStatus` from
24
+ nrfutil device common.ts
25
+
26
+ ### Steps to upgrade when using this package
27
+
28
+ - Minimum support version of nrfutil device is now 2.1.1
29
+
30
+ ## 157.0.0 - 2024-02-06
31
+
32
+ ### Removed
33
+
34
+ - Overflow handling in `Dialog.Body` since it didn't work with our `Dropdown`.
35
+
10
36
  ## 156.0.0 - 2024-02-06
11
37
 
12
38
  ### Added
@@ -9,6 +9,7 @@ import {
9
9
  DeviceCore,
10
10
  deviceSingleTaskEndOperation,
11
11
  NrfutilDevice,
12
+ ProtectionStatus,
12
13
  } from './common';
13
14
 
14
15
  export interface HwInfo {
@@ -25,6 +26,7 @@ export interface JLinkDeviceInfo {
25
26
  jlinkObFirmwareVersion: string;
26
27
  deviceFamily: string | null;
27
28
  deviceVersion?: string | null;
29
+ protectionStatus: ProtectionStatus;
28
30
  }
29
31
 
30
32
  export interface DfuTriggerInfo {
@@ -9,6 +9,7 @@ import {
9
9
  DeviceCore,
10
10
  deviceSingleTaskEndOperation,
11
11
  NrfutilDevice,
12
+ ProtectionStatus,
12
13
  } from './common';
13
14
 
14
15
  type DeviceFamily =
@@ -17,13 +18,6 @@ type DeviceFamily =
17
18
  | 'NRF53_FAMILY'
18
19
  | 'NRF91_FAMILY';
19
20
 
20
- type ProtectionStatus =
21
- | 'NRFDL_PROTECTION_STATUS_NONE'
22
- | 'NRFDL_PROTECTION_STATUS_REGION0'
23
- | 'NRFDL_PROTECTION_STATUS_REGION0_REGION1'
24
- | 'NRFDL_PROTECTION_STATUS_SECURE_REGIONS'
25
- | 'NRFDL_PROTECTION_STATUS_ALL';
26
-
27
21
  export interface GetProtectionStatusResult {
28
22
  core: DeviceCore;
29
23
  deviceFamily?: DeviceFamily;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "156.0.0",
3
+ "version": "158.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,14 +61,12 @@ const updateDevice = (
61
61
 
62
62
  export interface DeviceState {
63
63
  devices: Device[];
64
- readbackProtection: 'unknown' | 'protected' | 'unprotected';
65
64
  selectedDevice?: Device;
66
65
  selectedDeviceInfo?: DeviceInfo;
67
66
  }
68
67
 
69
68
  const initialState: DeviceState = {
70
69
  devices: [],
71
- readbackProtection: 'unknown',
72
70
  };
73
71
 
74
72
  const setPersistedData = (device: Device) => {
@@ -124,7 +122,6 @@ const slice = createSlice({
124
122
  deselectDevice: state => {
125
123
  state.selectedDevice = undefined;
126
124
  state.selectedDeviceInfo = undefined;
127
- state.readbackProtection = 'unknown';
128
125
  },
129
126
 
130
127
  addDevice: (state, action: PayloadAction<Device>) => {
@@ -261,13 +258,6 @@ const slice = createSlice({
261
258
  action.payload.serialNumber
262
259
  );
263
260
  },
264
-
265
- setReadbackProtected: (
266
- state,
267
- action: PayloadAction<DeviceState['readbackProtection']>
268
- ) => {
269
- state.readbackProtection = action.payload;
270
- },
271
261
  },
272
262
  });
273
263
 
@@ -282,7 +272,6 @@ export const {
282
272
  removeDevice,
283
273
  setDeviceNickname,
284
274
  toggleDeviceFavorited,
285
- setReadbackProtected,
286
275
  persistSerialPortOptions,
287
276
  },
288
277
  } = slice;
@@ -304,4 +293,4 @@ export const selectedSerialNumber = (state: RootState) =>
304
293
  state.device.selectedDevice?.serialNumber;
305
294
 
306
295
  export const getReadbackProtection = (state: RootState) =>
307
- state.device.readbackProtection;
296
+ state.device.selectedDeviceInfo?.jlink?.protectionStatus;
@@ -6,42 +6,14 @@
6
6
 
7
7
  import NrfutilDeviceLib from '../../nrfutil/device/device';
8
8
  import { DeviceInfo } from '../../nrfutil/device/deviceInfo';
9
- import { FWInfo } from '../../nrfutil/device/getFwInfo';
10
9
  import logger from '../logging';
11
10
  import type { AppThunk, RootState } from '../store';
12
11
  import { DeviceSetup, JprogEntry } from './deviceSetup';
13
- import { Device, setReadbackProtected } from './deviceSlice';
14
-
15
- const getDeviceReadProtection = async (
16
- device: Device
17
- ): Promise<{
18
- fwInfo: FWInfo | null;
19
- readbackProtection: 'unknown' | 'protected' | 'unprotected';
20
- }> => {
21
- try {
22
- logger.info('Checking readback protection on device');
23
- const info = await NrfutilDeviceLib.getFwInfo(device);
24
- return {
25
- fwInfo: info,
26
- readbackProtection: 'unprotected',
27
- };
28
- } catch (e) {
29
- const error = e as Error;
30
- if (error.message.includes('NotAvailableBecauseProtection')) {
31
- logger.warn(
32
- 'Readback protection on device enabled. Unable to verify that the firmware version is correct.'
33
- );
34
- return {
35
- fwInfo: null,
36
- readbackProtection: 'protected',
37
- };
38
- }
39
- return {
40
- fwInfo: null,
41
- readbackProtection: 'unknown',
42
- };
43
- }
44
- };
12
+ import {
13
+ Device,
14
+ getReadbackProtection,
15
+ setSelectedDeviceInfo,
16
+ } from './deviceSlice';
45
17
 
46
18
  const programDeviceWithFw =
47
19
  (
@@ -52,7 +24,10 @@ const programDeviceWithFw =
52
24
  async (dispatch, getState) => {
53
25
  try {
54
26
  const batch = NrfutilDeviceLib.batch();
55
- if (getState().device.readbackProtection !== 'unprotected') {
27
+ if (
28
+ getReadbackProtection(getState()) !==
29
+ 'NRFDL_PROTECTION_STATUS_NONE'
30
+ ) {
56
31
  batch.recover('Application', {
57
32
  onTaskBegin: () =>
58
33
  logger.info(`Device protected, recovering device`),
@@ -94,11 +69,10 @@ const programDeviceWithFw =
94
69
 
95
70
  await batch.run(device);
96
71
  await NrfutilDeviceLib.reset(device);
72
+
97
73
  onProgress(0, 'Updating readback protection');
98
- const { readbackProtection } = await getDeviceReadProtection(
99
- device
100
- );
101
- dispatch(setReadbackProtected(readbackProtection));
74
+ const deviceInfo = await NrfutilDeviceLib.deviceInfo(device);
75
+ dispatch(setSelectedDeviceInfo(deviceInfo));
102
76
  onProgress(0, 'Connecting to device');
103
77
  } catch (programError) {
104
78
  if (programError instanceof Error) {
@@ -150,7 +124,7 @@ export const jprogDeviceSetup = (
150
124
  programDeviceWithFw(device, firmwareOption, onProgress)
151
125
  ),
152
126
  })),
153
- isExpectedFirmware: (device, deviceInfo) => dispatch => {
127
+ isExpectedFirmware: (device, deviceInfo) => (dispatch, getState) => {
154
128
  const fwVersions = firmwareOptions(device, firmware, deviceInfo);
155
129
  if (fwVersions.length === 0) {
156
130
  return Promise.resolve({
@@ -159,40 +133,40 @@ export const jprogDeviceSetup = (
159
133
  });
160
134
  }
161
135
 
162
- return getDeviceReadProtection(device).then(
163
- ({ fwInfo: info, readbackProtection }) => {
164
- dispatch(setReadbackProtected(readbackProtection));
165
- if (info && info.imageInfoList.length > 0) {
166
- const fw = fwVersions.find(version =>
167
- info.imageInfoList.find(
168
- imageInfo =>
169
- typeof imageInfo.version === 'string' &&
170
- imageInfo.version.includes(version.fwVersion)
171
- )
172
- );
136
+ if (
137
+ getReadbackProtection(getState()) !== 'NRFDL_PROTECTION_STATUS_NONE'
138
+ ) {
139
+ logger.warn(
140
+ 'Readback protection on device enabled. Unable to verify that the firmware version is correct.'
141
+ );
173
142
 
174
- return Promise.resolve({
175
- device,
176
- validFirmware: fw !== undefined,
177
- });
178
- }
143
+ return Promise.resolve({
144
+ device,
145
+ validFirmware: hideDeviceSetupWhenProtected,
146
+ });
147
+ }
179
148
 
180
- if (
181
- hideDeviceSetupWhenProtected &&
182
- readbackProtection === 'protected'
183
- ) {
184
- return Promise.resolve({
185
- device,
186
- validFirmware: true,
187
- });
188
- }
149
+ return NrfutilDeviceLib.getFwInfo(device).then(info => {
150
+ if (info.imageInfoList.length > 0) {
151
+ const fw = fwVersions.find(version =>
152
+ info.imageInfoList.find(
153
+ imageInfo =>
154
+ typeof imageInfo.version === 'string' &&
155
+ imageInfo.version.includes(version.fwVersion)
156
+ )
157
+ );
189
158
 
190
159
  return Promise.resolve({
191
160
  device,
192
- validFirmware: false,
161
+ validFirmware: fw !== undefined,
193
162
  });
194
163
  }
195
- );
164
+
165
+ return Promise.resolve({
166
+ device,
167
+ validFirmware: false,
168
+ });
169
+ });
196
170
  },
197
171
  tryToSwitchToApplicationMode: () => () => Promise.resolve(null),
198
172
  });
@@ -35,10 +35,7 @@
35
35
  }
36
36
 
37
37
  .modal-body {
38
- overflow-y: auto;
39
- @include scrollbars($white);
40
38
  overflow-wrap: anywhere;
41
- max-height: 80vh;
42
39
  padding: 32px 16px 16px 16px;
43
40
  margin: 0;
44
41
  p,
@@ -1,5 +1,5 @@
1
1
  import { Progress } from '../sandboxTypes';
2
- import { DeviceCore, NrfutilDevice } from './common';
2
+ import { DeviceCore, NrfutilDevice, ProtectionStatus } from './common';
3
3
  export interface HwInfo {
4
4
  romSize: number;
5
5
  ramSize: number;
@@ -13,6 +13,7 @@ export interface JLinkDeviceInfo {
13
13
  jlinkObFirmwareVersion: string;
14
14
  deviceFamily: string | null;
15
15
  deviceVersion?: string | null;
16
+ protectionStatus: ProtectionStatus;
16
17
  }
17
18
  export interface DfuTriggerInfo {
18
19
  wAddress: number;
@@ -1 +1 @@
1
- {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/deviceInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,UAAU,EAEV,aAAa,EAChB,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;CACjC;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,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;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CAC1B;iCAGW,aAAa,SACd,UAAU,2BACO,QAAQ,KAAK,IAAI,4BAC5B,eAAe;AAJhC,wBAqBE"}
1
+ {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/deviceInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,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,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;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CAC1B;iCAGW,aAAa,SACd,UAAU,2BACO,QAAQ,KAAK,IAAI,4BAC5B,eAAe;AAJhC,wBAqBE"}
@@ -1,7 +1,6 @@
1
1
  import { Progress } from '../sandboxTypes';
2
- import { DeviceCore, NrfutilDevice } from './common';
2
+ import { DeviceCore, NrfutilDevice, ProtectionStatus } from './common';
3
3
  type DeviceFamily = 'NRF51_FAMILY' | 'NRF52_FAMILY' | 'NRF53_FAMILY' | 'NRF91_FAMILY';
4
- type ProtectionStatus = 'NRFDL_PROTECTION_STATUS_NONE' | 'NRFDL_PROTECTION_STATUS_REGION0' | 'NRFDL_PROTECTION_STATUS_REGION0_REGION1' | 'NRFDL_PROTECTION_STATUS_SECURE_REGIONS' | 'NRFDL_PROTECTION_STATUS_ALL';
5
4
  export interface GetProtectionStatusResult {
6
5
  core: DeviceCore;
7
6
  deviceFamily?: DeviceFamily;
@@ -1 +1 @@
1
- {"version":3,"file":"getProtectionStatus.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getProtectionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,UAAU,EAEV,aAAa,EAChB,MAAM,UAAU,CAAC;AAElB,KAAK,YAAY,GACX,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,CAAC;AAErB,KAAK,gBAAgB,GACf,8BAA8B,GAC9B,iCAAiC,GACjC,yCAAyC,GACzC,wCAAwC,GACxC,6BAA6B,CAAC;AAEpC,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,2BACO,QAAQ,KAAK,IAAI,4BAC5B,eAAe;AAJhC,wBAYM"}
1
+ {"version":3,"file":"getProtectionStatus.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/getProtectionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,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,2BACO,QAAQ,KAAK,IAAI,4BAC5B,eAAe;AAJhC,wBAYM"}
@@ -14,19 +14,18 @@ export interface DeviceWithSerialNumber extends Device {
14
14
  export declare const isDeviceWithSerialNumber: (device: Device) => device is DeviceWithSerialNumber;
15
15
  export interface DeviceState {
16
16
  devices: Device[];
17
- readbackProtection: 'unknown' | 'protected' | 'unprotected';
18
17
  selectedDevice?: Device;
19
18
  selectedDeviceInfo?: DeviceInfo;
20
19
  }
21
20
  export declare const reducer: import("redux").Reducer<DeviceState, import("redux").AnyAction>, deselectDevice: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"device/deselectDevice">, resetDeviceNickname: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/resetDeviceNickname">, selectDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/selectDevice">, setSelectedDeviceInfo: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<DeviceInfo | undefined, "device/setSelectedDeviceInfo">, addDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/addDevice">, removeDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/removeDevice">, setDeviceNickname: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[device: Device, nickname: string], {
22
21
  device: Device;
23
22
  nickname: string;
24
- }, "device/setDeviceNickname", never, never>, toggleDeviceFavorited: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/toggleDeviceFavorited">, setReadbackProtected: import("@reduxjs/toolkit").ActionCreatorWithPayload<"unknown" | "protected" | "unprotected", "device/setReadbackProtected">, persistSerialPortOptions: import("@reduxjs/toolkit").ActionCreatorWithPayload<SerialPortOpenOptions<AutoDetectTypes>, "device/persistSerialPortOptions">;
23
+ }, "device/setDeviceNickname", never, never>, toggleDeviceFavorited: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/toggleDeviceFavorited">, persistSerialPortOptions: import("@reduxjs/toolkit").ActionCreatorWithPayload<SerialPortOpenOptions<AutoDetectTypes>, "device/persistSerialPortOptions">;
25
24
  export declare const getDevice: (state: RootState, serialNumber: string) => Device | undefined;
26
25
  export declare const getDevices: (state: RootState) => Device[];
27
26
  export declare const deviceIsSelected: (state: RootState) => boolean;
28
27
  export declare const selectedDevice: (state: RootState) => Device | undefined;
29
28
  export declare const selectedDeviceInfo: (state: RootState) => DeviceInfo | undefined;
30
29
  export declare const selectedSerialNumber: (state: RootState) => string | null | undefined;
31
- export declare const getReadbackProtection: (state: RootState) => "unknown" | "protected" | "unprotected";
30
+ export declare const getReadbackProtection: (state: RootState) => import("../../nrfutil/device").ProtectionStatus | undefined;
32
31
  //# sourceMappingURL=deviceSlice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deviceSlice.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceSlice.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAU1C,MAAM,WAAW,MAAO,SAAQ,aAAa;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IAClD,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,wBAAwB,WACzB,MAAM,qCAEmC,CAAC;AA0BtD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,UAAU,CAAC;CACnC;AA+MD,eAAO,MACH,OAAO,mEAEH,cAAc,mFACd,mBAAmB,6FACnB,YAAY,sFACZ,qBAAqB,uHACrB,SAAS,mFACT,YAAY,sFACZ,iBAAiB;;;8CACjB,qBAAqB,+FACrB,oBAAoB,+HACpB,wBAAwB,gIAEvB,CAAC;AAEV,eAAO,MAAM,SAAS,UAAW,SAAS,gBAAgB,MAAM,uBACG,CAAC;AAEpE,eAAO,MAAM,UAAU,UAAW,SAAS,aAAyB,CAAC;AAErE,eAAO,MAAM,gBAAgB,UAAW,SAAS,YAChB,CAAC;AAElC,eAAO,MAAM,cAAc,UAAW,SAAS,uBAAgC,CAAC;AAEhF,eAAO,MAAM,kBAAkB,UAAW,SAAS,2BAC0B,CAAC;AAE9E,eAAO,MAAM,oBAAoB,UAAW,SAAS,8BACR,CAAC;AAE9C,eAAO,MAAM,qBAAqB,UAAW,SAAS,4CACnB,CAAC"}
1
+ {"version":3,"file":"deviceSlice.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceSlice.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAU1C,MAAM,WAAW,MAAO,SAAQ,aAAa;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IAClD,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,wBAAwB,WACzB,MAAM,qCAEmC,CAAC;AA0BtD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,UAAU,CAAC;CACnC;AAsMD,eAAO,MACH,OAAO,mEAEH,cAAc,mFACd,mBAAmB,6FACnB,YAAY,sFACZ,qBAAqB,uHACrB,SAAS,mFACT,YAAY,sFACZ,iBAAiB;;;8CACjB,qBAAqB,+FACrB,wBAAwB,gIAEvB,CAAC;AAEV,eAAO,MAAM,SAAS,UAAW,SAAS,gBAAgB,MAAM,uBACG,CAAC;AAEpE,eAAO,MAAM,UAAU,UAAW,SAAS,aAAyB,CAAC;AAErE,eAAO,MAAM,gBAAgB,UAAW,SAAS,YAChB,CAAC;AAElC,eAAO,MAAM,cAAc,UAAW,SAAS,uBAAgC,CAAC;AAEhF,eAAO,MAAM,kBAAkB,UAAW,SAAS,2BAC0B,CAAC;AAE9E,eAAO,MAAM,oBAAoB,UAAW,SAAS,8BACR,CAAC;AAE9C,eAAO,MAAM,qBAAqB,UAAW,SAAS,gEACM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jprogOperations.d.ts","sourceRoot":"","sources":["../../../../src/Device/jprogOperations.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA4HxD,eAAO,MAAM,gBAAgB,aACf,UAAU,EAAE,uEAGvB,WA0DD,CAAC"}
1
+ {"version":3,"file":"jprogOperations.d.ts","sourceRoot":"","sources":["../../../../src/Device/jprogOperations.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAmGxD,eAAO,MAAM,gBAAgB,aACf,UAAU,EAAE,uEAGvB,WA0DD,CAAC"}