Skip to content

Commit

Permalink
Weather station factory data (#130)
Browse files Browse the repository at this point in the history
* Added Factory Data for Thingy Weather Station.

* Added Certification Declaration for Matter Weather Station SVE as a define

* Added an overlay for building the new factory data set

* [nrfconnect] Fix window-covering app build after adding EnableKey

The nRF Connect window-covering app didn't build correctly after recent
changes.

The fix is to move using the namespaces into another place in the code.

This change needs to be also applied in the SVE branch.
  • Loading branch information
ArekBalysNordic authored Jul 15, 2022
1 parent 9c0f6bf commit 4876cd4
Show file tree
Hide file tree
Showing 19 changed files with 254 additions and 18 deletions.
7 changes: 7 additions & 0 deletions examples/weather_station/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,11 @@ config AVERAGE_CURRENT_CONSUMPTION
The predicted average current consumption of the Matter weather station
device, used to estimate the remaining battery time.

# Overwrite the Fprotect block size to fit the size of the factory data partition.
# See lib/fprotect/Kconfig to get full description of this config.
config FPROTECT_BLOCK_SIZE
hex
default 0x1000


source "Kconfig.zephyr"
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# Copyright (c) 2022 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Use this overlay to re-generate new PAI and DAC certificates.
# Be sure that chip-cert executable is added to your system PATH.

# Enable building the new factory data
CONFIG_CHIP_FACTORY_DATA=y
CONFIG_CHIP_FACTORY_DATA_BUILD=y
CONFIG_CHIP_FACTORY_DATA_USE_DEFAULTS_CERTS=n
CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE=y

# Set up the Factory Data
CONFIG_CHIP_DEVICE_SERIAL_NUMBER="11223344556677889900"
CONFIG_CHIP_DEVICE_VENDOR_ID=4735
CONFIG_CHIP_DEVICE_VENDOR_NAME="Nordic Semiconductor ASA"
CONFIG_CHIP_DEVICE_PRODUCT_ID=32781
CONFIG_CHIP_DEVICE_PRODUCT_NAME="Weather Station"
CONFIG_CHIP_DEVICE_MANUFACTURING_DATE="2022-07-12"
CONFIG_CHIP_DEVICE_HARDWARE_VERSION=1
CONFIG_CHIP_DEVICE_HARDWARE_VERSION_STRING="SVE"
CONFIG_CHIP_DEVICE_DISCRIMINATOR=0xE46
CONFIG_CHIP_DEVICE_SPAKE2_PASSCODE=28073715
CONFIG_CHIP_DEVICE_SPAKE2_IT=1000
CONFIG_CHIP_DEVICE_SPAKE2_SALT="SPAKE2P Key Salt"
CONFIG_CHIP_DEVICE_SPAKE2_TEST_VERIFIER="XUQaKLznAVZ+WEWkSTIEJwvjaU/CuWY1qLbRKuS56VEE4Us+aJNGy3B3tLClZWRDAS5yXUgku5pHyFLgVTAKXQIo663Y2L7HvrJh/8jlD0OTNDDLlsnjKdj+l0b2rC3vMg=="
CONFIG_CHIP_DEVICE_ROTATING_DEVICE_UID="0989f27796617e00ff9dc844496dbcf3"
CONFIG_CHIP_DEVICE_ENABLE_KEY="d229322af1412d66ebeda07e0d39b80e"
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ mcuboot_primary_app:
settings_storage:
address: 0xf0000
region: flash_primary
size: 0x10000
size: 0xf000
factory_data:
address: 0xff000
region: flash_primary
size: 0x1000
mcuboot_primary_1:
address: 0x0
size: 0x40000
Expand Down
Binary file added examples/weather_station/factory_data/CD.der
Binary file not shown.
Binary file added examples/weather_station/factory_data/DAC_cert.der
Binary file not shown.
13 changes: 13 additions & 0 deletions examples/weather_station/factory_data/DAC_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIIB/jCCAaSgAwIBAgIIWlwxlNHspkwwCgYIKoZIzj0EAwIwSTExMC8GA1UEAwwo
Tm9yZGljIFNlbWljb25kdWN0b3IgQVNBX1dlYXRoZXIgU3RhdGlvbjEUMBIGCisG
AQQBgqJ8AgEMBDEyN0YwHhcNMjIwNzEyMDAwMDAwWhcNNDkxMTI2MjM1OTU5WjBf
MTEwLwYDVQQDDChOb3JkaWMgU2VtaWNvbmR1Y3RvciBBU0FfV2VhdGhlciBTdGF0
aW9uMRQwEgYKKwYBBAGConwCAQwEMTI3RjEUMBIGCisGAQQBgqJ8AgIMBDgwMEQw
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARWtv15vo8t+UqGk2HMoS5TN3m28Ak+
KpNcX+3vHkkDTaTjDGtyoqHxZvVZYAp1c/2Q33N/LZiTAmoOgQjoKHD5o2AwXjAM
BgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQU2Cc2UkqWe8MA
ppyrs8DRFJRHzoowHwYDVR0jBBgwFoAUNd8HbCOdkgkG5FQe8DZLJLe0EYkwCgYI
KoZIzj0EAwIDSAAwRQIhAPSECki6H7CC/q0eHsY+Y1eiJhU8P0OCHEFfjEHK8VpE
AiBlZ1U8UxpgT2+kqlrQ5f2KGD5Z+fNvD4sQyaNgLmo5qQ==
-----END CERTIFICATE-----
Binary file added examples/weather_station/factory_data/DAC_key.der
Binary file not shown.
5 changes: 5 additions & 0 deletions examples/weather_station/factory_data/DAC_key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIP5Mi67J3ABxKKqsADTUn4jf0MqojpJ4lsrU2naM7ftsoAoGCCqGSM49
AwEHoUQDQgAEVrb9eb6PLflKhpNhzKEuUzd5tvAJPiqTXF/t7x5JA02k4wxrcqKh
8Wb1WWAKdXP9kN9zfy2YkwJqDoEI6Chw+Q==
-----END EC PRIVATE KEY-----
Binary file added examples/weather_station/factory_data/PAI_cert.der
Binary file not shown.
12 changes: 12 additions & 0 deletions examples/weather_station/factory_data/PAI_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBvzCCAWWgAwIBAgIIIbdjwG0f9E0wCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwP
TWF0dGVyIFRlc3QgUEFBMB4XDTIyMDcxMjAwMDAwMFoXDTQ5MTEyNjIzNTk1OVow
STExMC8GA1UEAwwoTm9yZGljIFNlbWljb25kdWN0b3IgQVNBX1dlYXRoZXIgU3Rh
dGlvbjEUMBIGCisGAQQBgqJ8AgEMBDEyN0YwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAARyG1rq+FMfTtC3TdhcRuiTRau0DPq8WRPF4sXxrOcoP1xvCY7+QhKHjbs/
h77qJP3kwW6wcPbS4L2M6qRx0R2Xo2YwZDASBgNVHRMBAf8ECDAGAQH/AgEAMA4G
A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUNd8HbCOdkgkG5FQe8DZLJLe0EYkwHwYD
VR0jBBgwFoAUeFznBbhrj05vx5OqYMtD6mlogtUwCgYIKoZIzj0EAwIDSAAwRQIg
UkF0rlj63TRqJSJpL3GFf4g8MDiyZWZLZuTEZ1Lf6VkCIQCzLH6i1Qq5Xe1J2p73
NfXnVKlfmG7QqPCpgK8Pvfbt0A==
-----END CERTIFICATE-----
Binary file added examples/weather_station/factory_data/PAI_key.der
Binary file not shown.
5 changes: 5 additions & 0 deletions examples/weather_station/factory_data/PAI_key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIPUec6qXPT3tiXKXi2POnGspyyVQpYz3HAzGOx2d6wDdoAoGCCqGSM49
AwEHoUQDQgAEchta6vhTH07Qt03YXEbok0WrtAz6vFkTxeLF8aznKD9cbwmO/kIS
h427P4e+6iT95MFusHD20uC9jOqkcdEdlw==
-----END EC PRIVATE KEY-----
Binary file not shown.
92 changes: 92 additions & 0 deletions examples/weather_station/factory_data/factory_data.hex
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
:02000004000FEB
:10F00000B26776657273696F6E0162736E543131E7
:10F010003232333334343535363637373838393998
:10F0200030306976656E646F725F696419127F6A49
:10F0300070726F647563745F696419800D6B7665B7
:10F040006E646F725F6E616D6558184E6F726469A1
:10F05000632053656D69636F6E647563746F7220AE
:10F060004153416C70726F647563745F6E616D655E
:10F070004F576561746865722053746174696F6E6F
:10F0800064646174654A323032322D30372D31324A
:10F090006668775F766572016A68775F7665725F2A
:10F0A00073747243535645686461635F6365727439
:10F0B000590202308201FE308201A4A00302010243
:10F0C00002085A5C3194D1ECA64C300A06082A8614
:10F0D00048CE3D04030230493131302F0603550438
:10F0E000030C284E6F726469632053656D69636F0A
:10F0F0006E647563746F72204153415F576561742C
:10F100006865722053746174696F6E311430120631
:10F110000A2B0601040182A27C02010C0431323761
:10F1200046301E170D323230373132303030303009
:10F13000305A170D343931313236323335393539A9
:10F140005A305F3131302F06035504030C284E6FBF
:10F15000726469632053656D69636F6E647563746F
:10F160006F72204153415F57656174686572205327
:10F17000746174696F6E31143012060A2B06010433
:10F180000182A27C02010C04313237463114301264
:10F19000060A2B0601040182A27C02020C0438300C
:10F1A00030443059301306072A8648CE3D02010606
:10F1B000082A8648CE3D0301070342000456B6FDE7
:10F1C00079BE8F2DF94A869361CCA12E533779B63B
:10F1D000F0093E2A935C5FEDEF1E49034DA4E30C5A
:10F1E0006B72A2A1F166F559600A7573FD90DF7329
:10F1F0007F2D9893026A0E8108E82870F9A3603089
:10F200005E300C0603551D130101FF04023000306F
:10F210000E0603551D0F0101FF0404030207803091
:10F220001D0603551D0E04160414D82736524A969F
:10F230007BC300A69CABB3C0D1149447CE8A301FC9
:10F240000603551D2304183016801435DF076C2380
:10F250009D920906E4541EF0364B24B7B411893050
:10F260000A06082A8648CE3D0403020348003045BA
:10F27000022100F4840A48BA1FB082FEAD1E1EC6E9
:10F280003E6357A226153C3F43821C415F8C41CA16
:10F29000F15A4402206567553C531A604F6FA4AA87
:10F2A0005AD0E5FD8A183E59F9F36F0F8B10C9A3A8
:10F2B000602E6A39A9676461635F6B65795820FEC7
:10F2C0004C8BAEC9DC007128AAAC0034D49F88DF17
:10F2D000D0CAA88E927896CAD4DA768CEDFB6C6888
:10F2E0007061695F636572745901C3308201BF3018
:10F2F000820165A003020102020821B763C06D1FED
:10F30000F44D300A06082A8648CE3D040302301A1E
:10F310003118301606035504030C0F4D61747465E3
:10F3200072205465737420504141301E170D3232E3
:10F33000303731323030303030305A170D343931C7
:10F340003132363233353935395A30493131302F4F
:10F3500006035504030C284E6F72646963205365DD
:10F360006D69636F6E647563746F72204153415FA2
:10F37000576561746865722053746174696F6E318A
:10F38000143012060A2B0601040182A27C02010C31
:10F3900004313237463059301306072A8648CE3DAD
:10F3A000020106082A8648CE3D03010703420004F5
:10F3B000721B5AEAF8531F4ED0B74DD85C46E893FB
:10F3C00045ABB40CFABC5913C5E2C5F1ACE7283F14
:10F3D0005C6F098EFE4212878DBB3F87BEEA24FD1B
:10F3E000E4C16EB070F6D2E0BD8CEAA471D11D9775
:10F3F000A366306430120603551D130101FF040893
:10F4000030060101FF020100300E0603551D0F01F9
:10F4100001FF040403020106301D0603551D0E04FE
:10F4200016041435DF076C239D920906E4541EF080
:10F43000364B24B7B41189301F0603551D23041819
:10F4400030168014785CE705B86B8F4E6FC793AAAF
:10F4500060CB43EA696882D5300A06082A8648CE1E
:10F460003D04030203480030450220524174AE5867
:10F47000FADD346A2522692F71857F883C3038B2E5
:10F4800065664B66E4C46752DFE959022100B32C7C
:10F490007EA2D50AB95DED49DA9EF735F5E754A9A4
:10F4A0005F986ED0A8F0A980AF0FBDF6EDD069735C
:10F4B00070616B65325F69741903E86B7370616B1F
:10F4C00065325F73616C74505350414B453250202C
:10F4D0004B65792053616C746F7370616B65325F3B
:10F4E000766572696669657258615D441A28BCE781
:10F4F00001567E5845A4493204270BE3694FC2B92F
:10F500006635A8B6D12AE4B9E95104E14B3E6893C7
:10F5100046CB7077B4B0A5656443012E725D482474
:10F52000BB9A47C852E055300A5D0228EBADD8D8E7
:10F53000BEC7BEB261FFC8E50F43933430CB96C956
:10F54000E329D8FE9746F6AC2DEF326D64697363FC
:10F5500072696D696E61746F72190E466672645FCE
:10F56000756964500989F27796617E00FF9DC844F1
:10F57000496DBCF36A656E61626C655F6B6579505D
:10F58000D229322AF1412D66EBEDA07E0D39B80E5D
:01F59000007A
:00000001FF
20 changes: 20 additions & 0 deletions examples/weather_station/factory_data/factory_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"version": 1,
"sn": "11223344556677889900",
"vendor_id": 4735,
"product_id": 32781,
"vendor_name": "Nordic Semiconductor ASA",
"product_name": "Weather Station",
"date": "2022-07-12",
"hw_ver": 1,
"hw_ver_str": "SVE",
"dac_cert": "hex:308201fe308201a4a00302010202085a5c3194d1eca64c300a06082a8648ce3d04030230493131302f06035504030c284e6f726469632053656d69636f6e647563746f72204153415f576561746865722053746174696f6e31143012060a2b0601040182a27c02010c0431323746301e170d3232303731323030303030305a170d3439313132363233353935395a305f3131302f06035504030c284e6f726469632053656d69636f6e647563746f72204153415f576561746865722053746174696f6e31143012060a2b0601040182a27c02010c043132374631143012060a2b0601040182a27c02020c04383030443059301306072a8648ce3d020106082a8648ce3d0301070342000456b6fd79be8f2df94a869361cca12e533779b6f0093e2a935c5fedef1e49034da4e30c6b72a2a1f166f559600a7573fd90df737f2d9893026a0e8108e82870f9a360305e300c0603551d130101ff04023000300e0603551d0f0101ff040403020780301d0603551d0e04160414d82736524a967bc300a69cabb3c0d1149447ce8a301f0603551d2304183016801435df076c239d920906e4541ef0364b24b7b41189300a06082a8648ce3d0403020348003045022100f4840a48ba1fb082fead1e1ec63e6357a226153c3f43821c415f8c41caf15a4402206567553c531a604f6fa4aa5ad0e5fd8a183e59f9f36f0f8b10c9a3602e6a39a9",
"dac_key": "hex:fe4c8baec9dc007128aaac0034d49f88dfd0caa88e927896cad4da768cedfb6c",
"pai_cert": "hex:308201bf30820165a003020102020821b763c06d1ff44d300a06082a8648ce3d040302301a3118301606035504030c0f4d6174746572205465737420504141301e170d3232303731323030303030305a170d3439313132363233353935395a30493131302f06035504030c284e6f726469632053656d69636f6e647563746f72204153415f576561746865722053746174696f6e31143012060a2b0601040182a27c02010c04313237463059301306072a8648ce3d020106082a8648ce3d03010703420004721b5aeaf8531f4ed0b74dd85c46e89345abb40cfabc5913c5e2c5f1ace7283f5c6f098efe4212878dbb3f87beea24fde4c16eb070f6d2e0bd8ceaa471d11d97a366306430120603551d130101ff040830060101ff020100300e0603551d0f0101ff040403020106301d0603551d0e0416041435df076c239d920906e4541ef0364b24b7b41189301f0603551d23041830168014785ce705b86b8f4e6fc793aa60cb43ea696882d5300a06082a8648ce3d04030203480030450220524174ae58fadd346a2522692f71857f883c3038b265664b66e4c46752dfe959022100b32c7ea2d50ab95ded49da9ef735f5e754a95f986ed0a8f0a980af0fbdf6edd0",
"spake2_it": 1000,
"spake2_salt": "hex:5350414b453250204b65792053616c74",
"spake2_verifier": "hex:5d441a28bce701567e5845a4493204270be3694fc2b96635a8b6d12ae4b9e95104e14b3e689346cb7077b4b0a5656443012e725d4824bb9a47c852e055300a5d0228ebadd8d8bec7beb261ffc8e50f43933430cb96c9e329d8fe9746f6ac2def32",
"discriminator": 3654,
"rd_uid": "hex:0989f27796617e00ff9dc844496dbcf3",
"enable_key": "hex:d229322af1412d66ebeda07e0d39b80e"
}
35 changes: 33 additions & 2 deletions examples/weather_station/src/app_task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@
#include "buzzer.h"
#include <platform/CHIPDeviceLayer.h>

#include <DeviceInfoProviderImpl.h>

#include <app-common/zap-generated/attribute-id.h>
#include <app-common/zap-generated/attribute-type.h>
#include <app-common/zap-generated/attributes/Accessors.h>
#include <app-common/zap-generated/cluster-id.h>
#include <app-common/zap-generated/cluster-objects.h>
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
#include <app/server/OnboardingCodesUtil.h>
#include <app/server/Server.h>
#include <app/util/attribute-storage.h>
Expand Down Expand Up @@ -95,6 +98,13 @@ bool sIsThreadEnabled;
bool sIsBleAdvertisingEnabled;
bool sHaveBLEConnections;

// NOTE! This key is for test/certification only and should not be available in production devices!
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb,
0xcc, 0xdd, 0xee, 0xff };
chip::DeviceLayer::DeviceInfoProviderImpl gExampleDeviceInfoProvider;

LedState sLedState = LedState::kAlive;

/* Add identify for all endpoints */
Expand Down Expand Up @@ -189,6 +199,23 @@ CHIP_ERROR AppTask::Init()
return chip::System::MapErrorZephyr(ret);
}

/* Get factory data */
#ifdef CONFIG_CHIP_FACTORY_DATA
ReturnErrorOnFailure(mFactoryDataProvider.Init());
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
SetCommissionableDataProvider(&mFactoryDataProvider);
// Read EnableKey from the factory data.
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
err = mFactoryDataProvider.GetEnableKey(enableKey);
if (err != CHIP_NO_ERROR) {
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
}
#else
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
#endif

#ifdef CONFIG_MCUMGR_SMP_BT
/* Initialize DFU over SMP */
GetDFUOverSMP().Init(RequestSMPAdvertisingStart);
Expand All @@ -210,11 +237,15 @@ CHIP_ERROR AppTask::Init()
&sIdentifyTimer, [](k_timer *) { sAppTask.PostEvent(AppEvent{ AppEvent::IdentifyTimer }); }, nullptr);

/* Initialize CHIP server */
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
static chip::CommonCaseDeviceServerInitParams initParams;
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
(void)initParams.InitializeStaticResourcesBeforeServerInit();

initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

gExampleDeviceInfoProvider.SetStorageDelegate(&Server::GetInstance().GetPersistentStorage());
chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider);

#if CONFIG_CHIP_OTA_REQUESTOR
InitBasicOTARequestor();
#endif
Expand Down
8 changes: 8 additions & 0 deletions examples/weather_station/src/app_task.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
#include "DFUOverSMP.h"
#endif

#if CONFIG_CHIP_FACTORY_DATA
#include <platform/nrfconnect/FactoryDataProvider.h>
#endif

struct k_timer;

class AppTask {
Expand Down Expand Up @@ -53,6 +57,10 @@ class AppTask {
static void ChipEventHandler(const chip::DeviceLayer::ChipDeviceEvent *event, intptr_t arg);

static AppTask sAppTask;

#if CONFIG_CHIP_FACTORY_DATA
chip::DeviceLayer::FactoryDataProvider<chip::DeviceLayer::InternalFlashFactoryData> mFactoryDataProvider;
#endif
};

inline AppTask &GetAppTask()
Expand Down
31 changes: 20 additions & 11 deletions examples/weather_station/src/chip_project_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,27 @@
#pragma once

/* Use a default pairing code if one hasn't been provisioned in flash. */
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 28073715

/* Use a default SED idle interval */
#define CHIP_DEVICE_CONFIG_SED_IDLE_INTERVAL 1000_ms32

/* Configure device configuration with exemplary data */
#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "Nordic"
#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "WeatherStation"
#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_PRODUCT_REVISION_STRING \
"Prerelease weather station device"
#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_PRODUCT_REVISION 1
#define CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION_STRING "Prerelease weather station firmware"
#define CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION 1

#define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1

#ifdef CONFIG_CHIP_FACTORY_DATA
/* Store Certification Declaration */
#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION \
{ 0x30, 0x81, 0xe7, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x81, 0xd9, 0x30, \
0x81, 0xd6, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, \
0x02, 0x01, 0x30, 0x44, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x37, 0x04, \
0x35, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0x7f, 0x12, 0x36, 0x02, 0x05, 0x0d, 0x80, 0x18, 0x24, 0x03, 0x0a, \
0x2c, 0x04, 0x13, 0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, \
0x33, 0x2d, 0x32, 0x34, 0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, \
0x31, 0x7c, 0x30, 0x7a, 0x02, 0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, \
0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd, 0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, \
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, \
0x04, 0x46, 0x30, 0x44, 0x02, 0x20, 0x0f, 0xd1, 0xcb, 0x05, 0x3c, 0xb4, 0x9d, 0x99, 0xd7, 0x20, 0xfc, 0x86, \
0x64, 0x08, 0xc2, 0xe9, 0x7c, 0xba, 0x72, 0x7e, 0xc2, 0x9f, 0xbf, 0x77, 0xbe, 0xc0, 0x00, 0x7b, 0xf7, 0x5e, \
0x6a, 0xcb, 0x02, 0x20, 0x6c, 0xd3, 0x61, 0xf9, 0x83, 0x70, 0x4f, 0x14, 0x51, 0x90, 0x2b, 0xae, 0x3a, 0x85, \
0xd3, 0xc6, 0xf1, 0xb0, 0x5e, 0x44, 0x12, 0xe9, 0xcd, 0xcc, 0x23, 0x91, 0xc2, 0x4d, 0x1b, 0x26, 0xc2, 0x4b };
#endif
7 changes: 3 additions & 4 deletions examples/window-app/nrfconnect/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@
LOG_MODULE_DECLARE(app, CONFIG_MATTER_LOG_LEVEL);
K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), APP_EVENT_QUEUE_SIZE, alignof(AppEvent));

using namespace ::chip;
using namespace ::chip::Credentials;
using namespace ::chip::DeviceLayer;
namespace {

// NOTE! This key is for test/certification only and should not be available in production devices!
Expand Down Expand Up @@ -83,10 +86,6 @@ constexpr uint32_t kOff_ms{ 950 };
} // namespace StatusLed
} // namespace LedConsts

using namespace ::chip;
using namespace ::chip::Credentials;
using namespace ::chip::DeviceLayer;

CHIP_ERROR AppTask::Init()
{
// Initialize CHIP stack
Expand Down

0 comments on commit 4876cd4

Please sign in to comment.