@nordicsemiconductor/pc-nrfconnect-shared 89.0.0 → 91.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 +54 -0
- package/config/jest.config.js +0 -1
- package/config/tsconfig.json +1 -1
- package/coverage/cobertura-coverage.xml +2166 -1086
- package/ipc/MetaFiles.ts +26 -8
- package/nrfutil/device/__mocks__/device.ts +43 -0
- package/nrfutil/device/batch.ts +219 -0
- package/nrfutil/device/batchTypes.ts +133 -0
- package/nrfutil/device/common.ts +274 -0
- package/nrfutil/device/device.ts +62 -0
- package/nrfutil/device/erase.ts +26 -0
- package/nrfutil/device/eraseBatch.ts +28 -0
- package/nrfutil/device/firmwareRead.ts +34 -0
- package/nrfutil/device/firmwareReadBatch.ts +42 -0
- package/nrfutil/device/getCoreInfo.ts +44 -0
- package/nrfutil/device/getCoreInfoBatch.ts +29 -0
- package/nrfutil/device/getFwInfo.ts +69 -0
- package/nrfutil/device/getFwInfoBatch.ts +29 -0
- package/nrfutil/device/getProtectionStatus.ts +46 -0
- package/nrfutil/device/getProtectionStatusBatch.ts +32 -0
- package/nrfutil/device/list.ts +81 -0
- package/nrfutil/device/program.ts +186 -0
- package/nrfutil/device/programBatch.ts +69 -0
- package/nrfutil/device/recover.ts +26 -0
- package/nrfutil/device/recoverBatch.ts +28 -0
- package/nrfutil/device/reset.ts +41 -0
- package/nrfutil/device/resetBatch.ts +30 -0
- package/nrfutil/device/setMcuState.ts +27 -0
- package/nrfutil/device/setProtectionStatus.ts +27 -0
- package/nrfutil/index.ts +25 -0
- package/nrfutil/moduleVersion.ts +57 -0
- package/nrfutil/nrfutilLogger.ts +15 -0
- package/nrfutil/sandbox.ts +504 -0
- package/nrfutil/sandboxTypes.ts +178 -0
- package/package.json +1 -4
- package/scripts/check-app-properties.ts +49 -22
- package/scripts/esbuild-renderer.js +0 -1
- package/scripts/nordic-publish.js +6 -6
- package/scripts/nordic-publish.ts +11 -2
- package/src/About/SupportCard.tsx +6 -9
- package/src/App/App.test.tsx +4 -0
- package/src/App/App.tsx +13 -2
- package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +1 -1
- package/src/Device/DeviceSelector/DeviceSelector.test.tsx +39 -31
- package/src/Device/DeviceSelector/DeviceSelector.tsx +3 -12
- package/src/Device/deviceInfo/deviceInfo.ts +2 -3
- package/src/Device/deviceLister.test.ts +1 -2
- package/src/Device/deviceLister.ts +169 -215
- package/src/Device/deviceSlice.ts +2 -16
- package/src/Device/jprogOperations.ts +21 -69
- package/src/Device/sdfuOperations.ts +77 -93
- package/src/ErrorBoundary/ErrorBoundary.tsx +1 -1
- package/src/Log/LogViewer.tsx +0 -4
- package/src/Log/logSlice.ts +4 -7
- package/src/index.ts +0 -1
- package/src/logging/sendInitialLogMessages.ts +7 -8
- package/src/utils/appDirs.ts +6 -11
- package/src/utils/logLibVersions.ts +12 -14
- package/src/utils/packageJson.ts +11 -1
- package/src/utils/systemReport.ts +11 -17
- package/src/utils/usageData.ts +14 -9
- package/tsconfig.json +1 -0
- package/typings/generated/ipc/MetaFiles.d.ts +21 -8
- package/typings/generated/ipc/MetaFiles.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts +23 -0
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/batch.d.ts +26 -0
- package/typings/generated/nrfutil/device/batch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/batchTypes.d.ts +78 -0
- package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/common.d.ts +125 -0
- package/typings/generated/nrfutil/device/common.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/device.d.ts +30 -0
- package/typings/generated/nrfutil/device/device.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/erase.d.ts +5 -0
- package/typings/generated/nrfutil/device/erase.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/eraseBatch.d.ts +7 -0
- package/typings/generated/nrfutil/device/eraseBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/firmwareRead.d.ts +10 -0
- package/typings/generated/nrfutil/device/firmwareRead.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts +9 -0
- package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/getCoreInfo.d.ts +22 -0
- package/typings/generated/nrfutil/device/getCoreInfo.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts +8 -0
- package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/getFwInfo.d.ts +31 -0
- package/typings/generated/nrfutil/device/getFwInfo.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts +8 -0
- package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/getProtectionStatus.d.ts +13 -0
- package/typings/generated/nrfutil/device/getProtectionStatus.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts +8 -0
- package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/list.d.ts +19 -0
- package/typings/generated/nrfutil/device/list.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/program.d.ts +27 -0
- package/typings/generated/nrfutil/device/program.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/programBatch.d.ts +9 -0
- package/typings/generated/nrfutil/device/programBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/recover.d.ts +5 -0
- package/typings/generated/nrfutil/device/recover.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/recoverBatch.d.ts +7 -0
- package/typings/generated/nrfutil/device/recoverBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/reset.d.ts +5 -0
- package/typings/generated/nrfutil/device/reset.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/resetBatch.d.ts +8 -0
- package/typings/generated/nrfutil/device/resetBatch.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/setMcuState.d.ts +6 -0
- package/typings/generated/nrfutil/device/setMcuState.d.ts.map +1 -0
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts +5 -0
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts.map +1 -0
- package/typings/generated/nrfutil/index.d.ts +11 -0
- package/typings/generated/nrfutil/index.d.ts.map +1 -0
- package/typings/generated/nrfutil/moduleVersion.d.ts +6 -0
- package/typings/generated/nrfutil/moduleVersion.d.ts.map +1 -0
- package/typings/generated/nrfutil/nrfutilLogger.d.ts +4 -0
- package/typings/generated/nrfutil/nrfutilLogger.d.ts.map +1 -0
- package/typings/generated/nrfutil/sandbox.d.ts +36 -0
- package/typings/generated/nrfutil/sandbox.d.ts.map +1 -0
- package/typings/generated/nrfutil/sandboxTypes.d.ts +135 -0
- package/typings/generated/nrfutil/sandboxTypes.d.ts.map +1 -0
- package/typings/generated/src/About/SupportCard.d.ts.map +1 -1
- package/typings/generated/src/App/App.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +2 -6
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +2 -2
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceLister.d.ts +11 -16
- package/typings/generated/src/Device/deviceLister.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceLister.test.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSlice.d.ts +3 -3
- package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -1
- package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -1
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +1 -1
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/typings/generated/src/Log/LogViewer.d.ts.map +1 -1
- package/typings/generated/src/Log/logSlice.d.ts +2 -3
- package/typings/generated/src/Log/logSlice.d.ts.map +1 -1
- package/typings/generated/src/index.d.ts +0 -1
- package/typings/generated/src/index.d.ts.map +1 -1
- package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +1 -1
- package/typings/generated/src/utils/appDirs.d.ts +4 -4
- package/typings/generated/src/utils/appDirs.d.ts.map +1 -1
- package/typings/generated/src/utils/logLibVersions.d.ts.map +1 -1
- package/typings/generated/src/utils/packageJson.d.ts.map +1 -1
- package/typings/generated/src/utils/systemReport.d.ts +1 -1
- package/typings/generated/src/utils/systemReport.d.ts.map +1 -1
- package/typings/generated/src/utils/usageData.d.ts +2 -0
- package/typings/generated/src/utils/usageData.d.ts.map +1 -1
- package/mocks/deviceLibMock.ts +0 -21
- package/src/Device/deviceLibWrapper.test.ts +0 -97
- package/src/Device/deviceLibWrapper.ts +0 -132
- package/src/utils/describeVersion.ts +0 -21
- package/typings/generated/src/Device/deviceLibWrapper.d.ts +0 -9
- package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +0 -1
- package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +0 -2
- package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +0 -1
- package/typings/generated/src/utils/describeVersion.d.ts +0 -4
- package/typings/generated/src/utils/describeVersion.d.ts.map +0 -1
|
@@ -378,8 +378,16 @@ const failBecauseOfMissingProperty = () => {
|
|
|
378
378
|
const getUpdatedAppInfo = async (app: App): Promise<AppInfo> => {
|
|
379
379
|
const versions = await downloadExistingVersions(app);
|
|
380
380
|
|
|
381
|
-
const {
|
|
382
|
-
|
|
381
|
+
const {
|
|
382
|
+
name,
|
|
383
|
+
displayName,
|
|
384
|
+
description,
|
|
385
|
+
homepage,
|
|
386
|
+
version,
|
|
387
|
+
nrfConnectForDesktop,
|
|
388
|
+
} = app.packageJson;
|
|
389
|
+
|
|
390
|
+
const nrfutilModules = nrfConnectForDesktop?.nrfutil;
|
|
383
391
|
|
|
384
392
|
return {
|
|
385
393
|
name,
|
|
@@ -394,6 +402,7 @@ const getUpdatedAppInfo = async (app: App): Promise<AppInfo> => {
|
|
|
394
402
|
[version]: {
|
|
395
403
|
tarballUrl: `${app.sourceUrl}/${app.filename}`,
|
|
396
404
|
shasum: app.shasum,
|
|
405
|
+
nrfutilModules,
|
|
397
406
|
},
|
|
398
407
|
},
|
|
399
408
|
};
|
|
@@ -8,18 +8,15 @@ import React from 'react';
|
|
|
8
8
|
import { useDispatch, useSelector } from 'react-redux';
|
|
9
9
|
import { getCurrentWindow } from '@electron/remote';
|
|
10
10
|
|
|
11
|
+
import NrfutilDeviceLib from '../../nrfutil/device/device';
|
|
11
12
|
import Button from '../Button/Button';
|
|
12
13
|
import Card from '../Card/Card';
|
|
13
|
-
import { setVerboseDeviceLibLogging } from '../Device/deviceLibWrapper';
|
|
14
14
|
import {
|
|
15
15
|
deviceInfo,
|
|
16
16
|
getDevices,
|
|
17
17
|
selectedSerialNumber,
|
|
18
18
|
} from '../Device/deviceSlice';
|
|
19
|
-
import {
|
|
20
|
-
isLoggingVerboseSelector,
|
|
21
|
-
toggleIsLoggingVerbose,
|
|
22
|
-
} from '../Log/logSlice';
|
|
19
|
+
import { isLoggingVerbose, setIsLoggingVerbose } from '../Log/logSlice';
|
|
23
20
|
import { Toggle } from '../Toggle/Toggle';
|
|
24
21
|
import { persistIsLoggingVerbose } from '../utils/persistentStore';
|
|
25
22
|
import systemReport from '../utils/systemReport';
|
|
@@ -30,7 +27,7 @@ export default () => {
|
|
|
30
27
|
const dispatch = useDispatch();
|
|
31
28
|
const devices = useSelector(getDevices);
|
|
32
29
|
const currentSerialNumber = useSelector(selectedSerialNumber);
|
|
33
|
-
const verboseLogging = useSelector(
|
|
30
|
+
const verboseLogging = useSelector(isLoggingVerbose);
|
|
34
31
|
const currentDevice = useSelector(deviceInfo);
|
|
35
32
|
|
|
36
33
|
return (
|
|
@@ -74,9 +71,9 @@ export default () => {
|
|
|
74
71
|
<Toggle
|
|
75
72
|
id="enableVerboseLoggin"
|
|
76
73
|
label="VERBOSE LOGGING"
|
|
77
|
-
onToggle={
|
|
78
|
-
|
|
79
|
-
dispatch(
|
|
74
|
+
onToggle={isToggled => {
|
|
75
|
+
NrfutilDeviceLib.setVerboseLogging(isToggled);
|
|
76
|
+
dispatch(setIsLoggingVerbose(isToggled));
|
|
80
77
|
}}
|
|
81
78
|
isToggled={verboseLogging}
|
|
82
79
|
variant="primary"
|
package/src/App/App.test.tsx
CHANGED
|
@@ -15,6 +15,10 @@ jest.mock('../Log/LogViewer', () => ({
|
|
|
15
15
|
default: () => null,
|
|
16
16
|
}));
|
|
17
17
|
|
|
18
|
+
jest.mock('../logging/index.ts', () => ({
|
|
19
|
+
initialise: () => {},
|
|
20
|
+
}));
|
|
21
|
+
|
|
18
22
|
const renderApp = (panes: Pane[]) => {
|
|
19
23
|
const dummyReducer = (s = null) => s;
|
|
20
24
|
const dummyNode = <div />;
|
package/src/App/App.tsx
CHANGED
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
import 'focus-visible';
|
|
8
8
|
|
|
9
|
-
import React, { FC, ReactNode, useEffect, useMemo } from 'react';
|
|
9
|
+
import React, { FC, ReactNode, useEffect, useMemo, useRef } from 'react';
|
|
10
10
|
import Carousel from 'react-bootstrap/Carousel';
|
|
11
11
|
import ReactDOM from 'react-dom';
|
|
12
12
|
import { useDispatch, useSelector } from 'react-redux';
|
|
13
13
|
import { Reducer } from 'redux';
|
|
14
14
|
|
|
15
15
|
import { inMain as openWindow } from '../../ipc/openWindow';
|
|
16
|
+
import { setNrfutilLogger } from '../../nrfutil/nrfutilLogger';
|
|
16
17
|
import About from '../About/About';
|
|
17
18
|
import BrokenDeviceDialog from '../Device/BrokenDeviceDialog/BrokenDeviceDialog';
|
|
18
19
|
import { setAutoReselect } from '../Device/deviceAutoSelectSlice';
|
|
@@ -25,12 +26,13 @@ import ErrorBoundary from '../ErrorBoundary/ErrorBoundary';
|
|
|
25
26
|
import ErrorDialog from '../ErrorDialog/ErrorDialog';
|
|
26
27
|
import FlashMessages from '../FlashMessage/FlashMessage';
|
|
27
28
|
import LogViewer from '../Log/LogViewer';
|
|
29
|
+
import logger from '../logging';
|
|
28
30
|
import NavBar from '../NavBar/NavBar';
|
|
29
31
|
import FeedbackPane, { FeedbackPaneProps } from '../Panes/FeedbackPane';
|
|
30
32
|
import classNames from '../utils/classNames';
|
|
31
33
|
import packageJson from '../utils/packageJson';
|
|
32
34
|
import { getPersistedCurrentPane } from '../utils/persistentStore';
|
|
33
|
-
import { init as usageDataInit } from '../utils/usageData';
|
|
35
|
+
import { init as usageDataInit, setUsageLogger } from '../utils/usageData';
|
|
34
36
|
import useHotKey from '../utils/useHotKey';
|
|
35
37
|
import {
|
|
36
38
|
currentPane as currentPaneSelector,
|
|
@@ -93,6 +95,15 @@ const ConnectedApp: FC<ConnectedAppProps> = ({
|
|
|
93
95
|
children,
|
|
94
96
|
autoReselectByDefault = false,
|
|
95
97
|
}) => {
|
|
98
|
+
const initialisedLogger = useRef(false);
|
|
99
|
+
|
|
100
|
+
if (!initialisedLogger.current) {
|
|
101
|
+
logger.initialise();
|
|
102
|
+
setNrfutilLogger(logger);
|
|
103
|
+
setUsageLogger(logger);
|
|
104
|
+
initialisedLogger.current = true;
|
|
105
|
+
}
|
|
106
|
+
|
|
96
107
|
usePersistedPane();
|
|
97
108
|
const isLogVisible = useSelector(isLogVisibleSelector);
|
|
98
109
|
const currentPane = useSelector(currentPaneSelector);
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import React, { ReactNode } from 'react';
|
|
8
|
-
import { SerialPort } from '@nordicsemiconductor/nrf-device-lib-js';
|
|
9
8
|
|
|
9
|
+
import { SerialPort } from '../../../../nrfutil/device/common';
|
|
10
10
|
import { displayedDeviceName } from '../../deviceInfo/deviceInfo';
|
|
11
11
|
import { Device } from '../../deviceSlice';
|
|
12
12
|
|
|
@@ -13,10 +13,12 @@ import {
|
|
|
13
13
|
} from '@testing-library/react';
|
|
14
14
|
|
|
15
15
|
import render from '../../../test/testrenderer';
|
|
16
|
-
import { Device,
|
|
16
|
+
import { addDevice, Device, removeDevice } from '../deviceSlice';
|
|
17
17
|
import { jprogDeviceSetup } from '../jprogOperations';
|
|
18
18
|
import DeviceSelector from './DeviceSelector';
|
|
19
19
|
|
|
20
|
+
jest.mock('../../../nrfutil/device/device');
|
|
21
|
+
|
|
20
22
|
const testDevice: Device = {
|
|
21
23
|
id: 1,
|
|
22
24
|
hwInfo: {
|
|
@@ -92,17 +94,23 @@ const testDevice: Device = {
|
|
|
92
94
|
},
|
|
93
95
|
};
|
|
94
96
|
|
|
97
|
+
const deviceSetupMock: ReturnType<typeof jprogDeviceSetup> = {
|
|
98
|
+
supportsProgrammingMode: jest.fn(() => true),
|
|
99
|
+
getFirmwareOptions: jest.fn(() => [
|
|
100
|
+
{ key: 'PCATest', programDevice: jest.fn() },
|
|
101
|
+
]),
|
|
102
|
+
isExpectedFirmware: jest.fn(
|
|
103
|
+
(device: Device) => () =>
|
|
104
|
+
Promise.resolve({
|
|
105
|
+
device,
|
|
106
|
+
validFirmware: false,
|
|
107
|
+
})
|
|
108
|
+
),
|
|
109
|
+
tryToSwitchToApplicationMode: jest.fn(() => () => Promise.resolve(null)),
|
|
110
|
+
};
|
|
111
|
+
|
|
95
112
|
const validFirmware = {
|
|
96
|
-
deviceSetups: [
|
|
97
|
-
jprogDeviceSetup([
|
|
98
|
-
{
|
|
99
|
-
key: 'PCATest',
|
|
100
|
-
fw: 'firmware/invalidDevice.hex',
|
|
101
|
-
fwVersion: 'fw-1.0.0',
|
|
102
|
-
fwIdAddress: 0x6000,
|
|
103
|
-
},
|
|
104
|
-
]),
|
|
105
|
-
],
|
|
113
|
+
deviceSetups: [deviceSetupMock],
|
|
106
114
|
allowCustomDevice: false,
|
|
107
115
|
};
|
|
108
116
|
|
|
@@ -112,7 +120,7 @@ describe('DeviceSelector', () => {
|
|
|
112
120
|
<DeviceSelector
|
|
113
121
|
deviceListing={{
|
|
114
122
|
nordicUsb: true,
|
|
115
|
-
|
|
123
|
+
serialPorts: true,
|
|
116
124
|
jlink: true,
|
|
117
125
|
mcuBoot: true,
|
|
118
126
|
}}
|
|
@@ -126,7 +134,7 @@ describe('DeviceSelector', () => {
|
|
|
126
134
|
<DeviceSelector
|
|
127
135
|
deviceListing={{
|
|
128
136
|
nordicUsb: true,
|
|
129
|
-
|
|
137
|
+
serialPorts: true,
|
|
130
138
|
jlink: true,
|
|
131
139
|
mcuBoot: true,
|
|
132
140
|
}}
|
|
@@ -141,12 +149,12 @@ describe('DeviceSelector', () => {
|
|
|
141
149
|
<DeviceSelector
|
|
142
150
|
deviceListing={{
|
|
143
151
|
nordicUsb: true,
|
|
144
|
-
|
|
152
|
+
serialPorts: true,
|
|
145
153
|
jlink: true,
|
|
146
154
|
mcuBoot: true,
|
|
147
155
|
}}
|
|
148
156
|
/>,
|
|
149
|
-
[
|
|
157
|
+
[addDevice(testDevice)]
|
|
150
158
|
);
|
|
151
159
|
expect(screen.getByText(testDevice.serialNumber)).toBeInTheDocument();
|
|
152
160
|
});
|
|
@@ -156,12 +164,12 @@ describe('DeviceSelector', () => {
|
|
|
156
164
|
<DeviceSelector
|
|
157
165
|
deviceListing={{
|
|
158
166
|
nordicUsb: true,
|
|
159
|
-
|
|
167
|
+
serialPorts: true,
|
|
160
168
|
jlink: true,
|
|
161
169
|
mcuBoot: true,
|
|
162
170
|
}}
|
|
163
171
|
/>,
|
|
164
|
-
[
|
|
172
|
+
[addDevice(testDevice), removeDevice(testDevice)]
|
|
165
173
|
);
|
|
166
174
|
expect(screen.queryByText(testDevice.serialNumber)).toBeNull();
|
|
167
175
|
});
|
|
@@ -171,12 +179,12 @@ describe('DeviceSelector', () => {
|
|
|
171
179
|
<DeviceSelector
|
|
172
180
|
deviceListing={{
|
|
173
181
|
nordicUsb: true,
|
|
174
|
-
|
|
182
|
+
serialPorts: true,
|
|
175
183
|
jlink: true,
|
|
176
184
|
mcuBoot: true,
|
|
177
185
|
}}
|
|
178
186
|
/>,
|
|
179
|
-
[
|
|
187
|
+
[addDevice(testDevice)]
|
|
180
188
|
);
|
|
181
189
|
fireEvent.click(screen.getByText('Select device'));
|
|
182
190
|
fireEvent.click(screen.getByTestId('show-more-device-info'));
|
|
@@ -188,12 +196,12 @@ describe('DeviceSelector', () => {
|
|
|
188
196
|
<DeviceSelector
|
|
189
197
|
deviceListing={{
|
|
190
198
|
nordicUsb: true,
|
|
191
|
-
|
|
199
|
+
serialPorts: true,
|
|
192
200
|
jlink: true,
|
|
193
201
|
mcuBoot: true,
|
|
194
202
|
}}
|
|
195
203
|
/>,
|
|
196
|
-
[
|
|
204
|
+
[addDevice(testDevice)]
|
|
197
205
|
);
|
|
198
206
|
|
|
199
207
|
fireEvent.click(screen.getByText('Select device'));
|
|
@@ -206,12 +214,12 @@ describe('DeviceSelector', () => {
|
|
|
206
214
|
<DeviceSelector
|
|
207
215
|
deviceListing={{
|
|
208
216
|
nordicUsb: true,
|
|
209
|
-
|
|
217
|
+
serialPorts: true,
|
|
210
218
|
jlink: true,
|
|
211
219
|
mcuBoot: true,
|
|
212
220
|
}}
|
|
213
221
|
/>,
|
|
214
|
-
[
|
|
222
|
+
[addDevice(testDevice)]
|
|
215
223
|
);
|
|
216
224
|
fireEvent.click(screen.getByText('Select device'));
|
|
217
225
|
fireEvent.click(screen.getByText(testDevice.serialNumber));
|
|
@@ -226,7 +234,7 @@ describe('DeviceSelector', () => {
|
|
|
226
234
|
<DeviceSelector
|
|
227
235
|
deviceListing={{
|
|
228
236
|
nordicUsb: true,
|
|
229
|
-
|
|
237
|
+
serialPorts: true,
|
|
230
238
|
jlink: true,
|
|
231
239
|
mcuBoot: true,
|
|
232
240
|
}}
|
|
@@ -244,7 +252,7 @@ describe('DeviceSelector', () => {
|
|
|
244
252
|
allowCustomDevice: true,
|
|
245
253
|
}}
|
|
246
254
|
/>,
|
|
247
|
-
[
|
|
255
|
+
[addDevice(testDevice)]
|
|
248
256
|
);
|
|
249
257
|
fireEvent.click(screen.getByText('Select device'));
|
|
250
258
|
fireEvent.click(screen.getByText(testDevice.serialNumber));
|
|
@@ -258,7 +266,7 @@ describe('DeviceSelector', () => {
|
|
|
258
266
|
<DeviceSelector
|
|
259
267
|
deviceListing={{
|
|
260
268
|
nordicUsb: true,
|
|
261
|
-
|
|
269
|
+
serialPorts: true,
|
|
262
270
|
jlink: true,
|
|
263
271
|
mcuBoot: true,
|
|
264
272
|
}}
|
|
@@ -276,7 +284,7 @@ describe('DeviceSelector', () => {
|
|
|
276
284
|
allowCustomDevice: false,
|
|
277
285
|
}}
|
|
278
286
|
/>,
|
|
279
|
-
[
|
|
287
|
+
[addDevice(testDevice)]
|
|
280
288
|
);
|
|
281
289
|
|
|
282
290
|
fireEvent.click(screen.getByText('Select device'));
|
|
@@ -296,13 +304,13 @@ describe('DeviceSelector', () => {
|
|
|
296
304
|
<DeviceSelector
|
|
297
305
|
deviceListing={{
|
|
298
306
|
nordicUsb: true,
|
|
299
|
-
|
|
307
|
+
serialPorts: true,
|
|
300
308
|
jlink: true,
|
|
301
309
|
mcuBoot: true,
|
|
302
310
|
}}
|
|
303
311
|
deviceSetupConfig={validFirmware}
|
|
304
312
|
/>,
|
|
305
|
-
[
|
|
313
|
+
[addDevice(testDevice)]
|
|
306
314
|
);
|
|
307
315
|
|
|
308
316
|
fireEvent.click(screen.getByText('Select device'));
|
|
@@ -318,13 +326,13 @@ describe('DeviceSelector', () => {
|
|
|
318
326
|
<DeviceSelector
|
|
319
327
|
deviceListing={{
|
|
320
328
|
nordicUsb: true,
|
|
321
|
-
|
|
329
|
+
serialPorts: true,
|
|
322
330
|
jlink: true,
|
|
323
331
|
mcuBoot: true,
|
|
324
332
|
}}
|
|
325
333
|
deviceSetupConfig={validFirmware}
|
|
326
334
|
/>,
|
|
327
|
-
[
|
|
335
|
+
[addDevice(testDevice)]
|
|
328
336
|
);
|
|
329
337
|
|
|
330
338
|
fireEvent.click(screen.getByText('Select device'));
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
8
8
|
import { useDispatch, useSelector } from 'react-redux';
|
|
9
|
-
import { DeviceTraits } from '@nordicsemiconductor/nrf-device-lib-js';
|
|
10
9
|
|
|
10
|
+
import { DeviceTraits } from '../../../nrfutil/device/common';
|
|
11
11
|
import useHotKey from '../../utils/useHotKey';
|
|
12
12
|
import {
|
|
13
13
|
getWaitingToAutoReselect,
|
|
@@ -31,13 +31,8 @@ import DeviceList from './DeviceList/DeviceList';
|
|
|
31
31
|
import SelectDevice from './SelectDevice';
|
|
32
32
|
import SelectedDevice from './SelectedDevice';
|
|
33
33
|
|
|
34
|
-
interface OutdatedDeviceTraits {
|
|
35
|
-
serialPort?: boolean;
|
|
36
|
-
serialport?: boolean;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
34
|
export interface Props {
|
|
40
|
-
deviceListing: DeviceTraits
|
|
35
|
+
deviceListing: DeviceTraits;
|
|
41
36
|
deviceSetupConfig?: DeviceSetupConfig;
|
|
42
37
|
onDeviceSelected?: (device: Device, autoReselected: boolean) => void;
|
|
43
38
|
onDeviceDeselected?: () => void;
|
|
@@ -104,13 +99,9 @@ export default ({
|
|
|
104
99
|
);
|
|
105
100
|
|
|
106
101
|
const doStartWatchingDevices = useCallback(() => {
|
|
107
|
-
const patchedDeviceListing = {
|
|
108
|
-
serialPorts: deviceListing.serialPort || deviceListing.serialport,
|
|
109
|
-
...deviceListing,
|
|
110
|
-
};
|
|
111
102
|
dispatch(
|
|
112
103
|
startWatchingDevices(
|
|
113
|
-
|
|
104
|
+
deviceListing,
|
|
114
105
|
onDeviceConnected,
|
|
115
106
|
onDeviceDisconnected,
|
|
116
107
|
onDeviceDeselected,
|
|
@@ -28,8 +28,7 @@
|
|
|
28
28
|
through CSS, e.g. to change the colours.
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
|
-
import
|
|
32
|
-
|
|
31
|
+
import { NrfutilDevice } from '../../../nrfutil';
|
|
33
32
|
import type { Device as WrappedDevice } from '../deviceSlice';
|
|
34
33
|
|
|
35
34
|
import nrf51logo from '!!@svgr!./nRF51-Series-logo.svg';
|
|
@@ -41,7 +40,7 @@ import ppkLogo from '!!@svgr!./ppk-logo.svg';
|
|
|
41
40
|
import unknownLogo from '!!@svgr!./unknown-logo.svg';
|
|
42
41
|
import unknownNordicLogo from '!!@svgr!./unknown-nordic-logo.svg';
|
|
43
42
|
|
|
44
|
-
type Device =
|
|
43
|
+
type Device = NrfutilDevice | WrappedDevice;
|
|
45
44
|
|
|
46
45
|
type DevicePCA =
|
|
47
46
|
| 'PCA10028'
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { DeviceTraits } from '
|
|
8
|
-
|
|
7
|
+
import { DeviceTraits } from '../../nrfutil/device/common';
|
|
9
8
|
import { hasValidDeviceTraits } from './deviceLister';
|
|
10
9
|
|
|
11
10
|
const allFalseDeviceTraits: DeviceTraits = {
|