Skip to content

Commit

Permalink
Merge branch 'master' into implement_android_icd_subscribe
Browse files Browse the repository at this point in the history
  • Loading branch information
joonhaengHeo authored Apr 26, 2024
2 parents b3e159f + cfb9404 commit c0aa0ac
Show file tree
Hide file tree
Showing 177 changed files with 5,690 additions and 5,740 deletions.
8 changes: 7 additions & 1 deletion .github/workflows/examples-linux-tv-casting-app.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ name: Test TV Casting Example
on:
push:
branches-ignore:
- 'dependabot/**'
- "dependabot/**"
pull_request:
merge_group:

Expand Down Expand Up @@ -63,6 +63,12 @@ jobs:
./scripts/run_in_build_env.sh \
"scripts/examples/gn_build_example.sh examples/tv-casting-app/linux/ out/tv-casting-app"
- name: Test casting from Linux tv-casting-app to Linux tv-app
run: |
./scripts/run_in_build_env.sh \
"python3 ./scripts/tests/run_tv_casting_test.py"
timeout-minutes: 1

- name: Uploading Size Reports
uses: ./.github/actions/upload-size-reports
if: ${{ !env.ACT }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

# Build System
out/
/examples/virtual-device-app/android/App/buildSrc/build/
/src/test_driver/nrfconnect/build/
/src/darwin/Framework/build/

Expand Down
3 changes: 2 additions & 1 deletion config/nrfconnect/chip-module/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,8 @@ else()
endif()

if (CONFIG_CHIP_CRYPTO_PSA)
matter_add_gn_arg_string("chip_crypto" "psa")
matter_add_gn_arg_string("chip_crypto" "psa")
matter_add_gn_arg_bool ("chip_crypto_psa_spake2p" CONFIG_PSA_WANT_ALG_SPAKE2P_MATTER)
endif()

if (BOARD STREQUAL "native_posix")
Expand Down
1 change: 1 addition & 0 deletions config/nrfconnect/chip-module/Kconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@ config MBEDTLS_HEAP_SIZE

config CHIP_CRYPTO_PSA
default y if !CHIP_WIFI
imply PSA_WANT_ALG_SPAKE2P_MATTER

if CHIP_CRYPTO_PSA

Expand Down
11 changes: 9 additions & 2 deletions docs/guides/BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,13 +135,20 @@ Complete the following steps:
1. Reboot your Raspberry Pi after installing `pi-bluetooth`.
#### Enable experimental Bluetooth support in BlueZ
#### Enable experimental Bluetooth support and disable battery plugin in BlueZ
The Matter application on Linux uses BlueZ to communicate with the Bluetooth
controller. The BlueZ version that comes with Ubuntu 22.04 does not support all
the features required by the Matter application by default. To enable these
features, you need to enable experimental Bluetooth support in BlueZ.
Also disable the battery plugin from BlueZ, because iOS devices advertises a
battery service via BLE, which requires pairing if accessed. BlueZ includes a
battery plugin by default which tries to connect to the battery service. The
authentication fails, because in this case no BLE pairing has been done. If the
BlueZ battery plugin is not disabled, the BLE connection will be terminated
during the Matter commissioning process.
1. Edit the `bluetooth.service` unit by running the following command:
```sh
Expand All @@ -153,7 +160,7 @@ features, you need to enable experimental Bluetooth support in BlueZ.
```ini
[Service]
ExecStart=
ExecStart=/usr/lib/bluetooth/bluetoothd -E
ExecStart=/usr/lib/bluetooth/bluetoothd -E -P battery
```
1. Restart the Bluetooth service by running the following command:
Expand Down
3 changes: 1 addition & 2 deletions docs/guides/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
- [nRF Connect - Factory Data Configuration](./nrfconnect_factory_data_configuration.md)
- [nRF Connect - Platform Overview](./nrfconnect_platform_overview.md)
- [nRF Connect - Software Update](./nrfconnect_examples_software_update.md)
- [NXP - Android Commissioning](./nxp_k32w_android_commissioning.md)
- [NXP - Linux Examples](./nxp_imx8m_linux_examples.md)
- [NXP - Getting Started Guide](./nxp/README.md)
- [Silicon Labs - Documentation](https://siliconlabs.github.io/matter/latest/index.html)
- [Silicon Labs - Getting Started](./silabs_getting_started.md)
- [Silicon Labs - Software Update](./silabs_efr32_software_update.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/darwin.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ Example:
- [mbedOS](/examples/all-clusters-app/mbed/README.md)
- [nRF Connect All Clusters](./nrfconnect_examples_configuration.md)
- [nRF Connect Pump](/examples/pump-app/nrfconnect/README.md)
- [NXP Examples](./nxp_imx8m_linux_examples.md)
- [NXP Examples](./nxp/nxp_imx8m_linux_examples.md)
- [NXP](/examples/all-clusters-app/nxp/mw320/README.md)
- [Infineon CYW30739 Lighting](/examples/lighting-app/infineon/cyw30739/README.md)
- [Infineon PSoC6](/examples/all-clusters-app/infineon/psoc6/README.md)
Expand Down
5 changes: 2 additions & 3 deletions docs/guides/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and features.
*
esp32/README
nxp/README
ti/ti_platform_overview
```

Expand All @@ -34,9 +35,7 @@ ti/ti_platform_overview
- [nRF Connect - Factory Data Configuration](./nrfconnect_factory_data_configuration.md)
- [nRF Connect - Platform Overview](./nrfconnect_platform_overview.md)
- [nRF Connect - Software Update](./nrfconnect_examples_software_update.md)
- [NXP - Android Commissioning](./nxp_k32w_android_commissioning.md)
- [NXP - Linux Examples](./nxp_imx8m_linux_examples.md)
- [NXP - Manufacturing Data](./nxp_manufacturing_flow.md)
- [NXP - Getting Started Guide](./nxp/README.md)
- [Silicon Labs - Documentation](https://siliconlabs.github.io/matter/latest/index.html)
- [Silicon Labs - Getting Started](./silabs_getting_started.md)
- [Silicon Labs - Software Update](./silabs_efr32_software_update.md)
Expand Down
14 changes: 14 additions & 0 deletions docs/guides/nxp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```{toctree}
:glob:
:maxdepth: 1
*
```

# NXP Getting Started Guide

- [NXP - Android Commissioning](nxp_k32w_android_commissioning.md)
- [NXP - Linux Examples](nxp_imx8m_linux_examples.md)
- [NXP - Manufacturing Data](nxp_manufacturing_flow.md)
- [NXP - RW61x OTA Software Update Guide](nxp_rw61x_ota_software_update.md)
- [NXP - Zephyr OTA Software Update Guide](nxp_zephyr_ota_software_update.md)
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ This document describes how to build below Linux examples with the NXP embedded
Linux Yocto SDK and then run the output executable files on the **NXP i.MX 8M**
**Mini EVK** development board.

- [CHIP Linux All-clusters Example](../../examples/all-clusters-app/linux/README.md)
- [CHIP Linux Lighting Example](../../examples/lighting-app/linux/README.md)
- [CHIP Linux All-clusters Example](../../../examples/all-clusters-app/linux/README.md)
- [CHIP Linux Lighting Example](../../../examples/lighting-app/linux/README.md)
- [CHIP Linux Thermostat Example](https://github.com/project-chip/connectedhomeip/tree/master/examples/thermostat/linux)
- [CHIP Linux CHIP-tool Example](../../examples/chip-tool/README.md)
- [CHIP Linux OTA-provider Example](../../examples/ota-provider-app/linux/README.md)
- [CHIP Linux CHIP-tool Example](../../../examples/chip-tool/README.md)
- [CHIP Linux OTA-provider Example](../../../examples/ota-provider-app/linux/README.md)

This document has been tested on:

Expand Down Expand Up @@ -234,8 +234,8 @@ Thermostat-app is used as an example below.

In order to test the CHIP protocol functions, another device on the same
network is needed to run the
[ChipDeviceController](../../src/controller/python) tool to communicate with
the **i.MX 8M Mini EVK**.
[ChipDeviceController](../../../src/controller/python) tool to communicate
with the **i.MX 8M Mini EVK**.

The ChipDeviceController can be a laptop / workstation. Bluetooth
functionality is mandatory on this device.
Expand All @@ -252,7 +252,7 @@ Thermostat-app is used as an example below.
- Boot up Ubuntu on the Raspberry Pi
- Clone this connectedhomeip project
- Follow Python ChipDeviceController
[README.md](../../src/controller/python/README.md) document. Refer to
[README.md](../../../src/controller/python/README.md) document. Refer to
the "Building and installing" part to build the tool.

- Running
Expand Down Expand Up @@ -283,7 +283,7 @@ Thermostat-app is used as an example below.
/home/root/thermostat-app --ble-device 0 --wifi # The bluetooth device used is hci0 and support wifi network
```

- Run [ChipDeviceController](../../src/controller/python) on the
- Run [ChipDeviceController](../../../src/controller/python) on the
controller device to communicate with **i.MX 8M Mini EVK** running the
example.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Commissioning NXP K32W using Android CHIPTool

This article describes how to use
[CHIPTool](../../examples/android/CHIPTool/README.md) for Android smartphones to
commission an NXP K32W061 DK6 running
[CHIPTool](../../../examples/android/CHIPTool/README.md) for Android smartphones
to commission an NXP K32W061 DK6 running
[NXP K32W Light Example Application](#building-and-programming-nxp-k32w-light-example-application)
onto a CHIP-enabled Thread network.

Expand Down Expand Up @@ -47,7 +47,7 @@ The following diagram shows the connectivity between network components required
to allow communication between devices running the CHIPTool and Light
applications:

![nxp_hw_connectivity](../../examples/platform/nxp/k32w/k32w0/doc/images/nxp_hw_connectivity.JPG)
![nxp_hw_connectivity](../../../examples/platform/nxp/k32w/k32w0/doc/images/nxp_hw_connectivity.JPG)

<hr>

Expand Down Expand Up @@ -348,15 +348,15 @@ To make your PC work as a Thread Border Router, complete the following tasks:
## Building and programming NXP K32W Light Example Application
See
[NXP K32W Light Example Application README](../../examples/lighting-app/nxp/k32w/k32w0/README.md)
[NXP K32W Light Example Application README](../../../examples/lighting-app/nxp/k32w/k32w0/README.md)
to learn how to build and program the light example onto an K32W061 DK6.
<hr>
## Building and installing Android CHIPTool
To build the CHIPTool application for your smartphone, read
[Android CHIPTool README](../../examples/android/CHIPTool/README.md).
[Android CHIPTool README](../../../examples/android/CHIPTool/README.md).
After building, install the application by completing the following steps:
Expand Down Expand Up @@ -396,7 +396,7 @@ CHIPTool is now ready to be used for commissioning.
3. Navigate to the _Form_ tab then push the _Form_ button using the default
parameters:
![nxp_form_nwk](../../examples/platform/nxp/k32w/k32w0/doc/images/form_web.JPG)
![nxp_form_nwk](../../../examples/platform/nxp/k32w/k32w0/doc/images/form_web.JPG)
4. The message _Form operation is successful_ should be display after a few
seconds.
Expand Down Expand Up @@ -430,7 +430,7 @@ To prepare the accessory device for commissioning, complete the following steps:
1. Make sure that JP4 and JP7 jumpers are in leftmost position and a mini-USB
cable is connected between the LPC connector and PC
![nxp_connectors](../../examples/platform/nxp/k32w/k32w0/doc/images/k32w-dk6-connectors.jpg)
![nxp_connectors](../../../examples/platform/nxp/k32w/k32w0/doc/images/k32w-dk6-connectors.jpg)
2. Use a terminal emulator (e.g.: Putty) to connect to the UART console of the
accessory device. Use a baudrate of 115200.
Expand Down Expand Up @@ -466,14 +466,14 @@ section, complete the following steps:
progress with scanning, connection, and pairing. At the end of this process,
the Thread network settings screen appears.
![chiptool_main_screen](../../examples/platform/nxp/k32w/k32w0/doc/images/chiptool_main_screen.png)
![chiptool_main_screen](../../../examples/platform/nxp/k32w/k32w0/doc/images/chiptool_main_screen.png)
6. In the Thread network settings screen, use the default settings and tap the
_SAVE NETWORK_ button to send a Thread provisioning message to the accessory
device. You will see the "Network provisioning completed" message when the
accessory device successfully joins the Thread network.
![chiptool_credentials](../../examples/platform/nxp/k32w/k32w0/doc/images/thread_credentials.png)
![chiptool_credentials](../../../examples/platform/nxp/k32w/k32w0/doc/images/thread_credentials.png)
<hr>
Expand All @@ -483,7 +483,7 @@ section, complete the following steps:
the provisioning is completed successfully and you are connected to the
device.
![on_off_cluster.png](../../examples/platform/nxp/k32w/k32w0/doc/images/on_off_cluster.png)
![on_off_cluster.png](../../../examples/platform/nxp/k32w/k32w0/doc/images/on_off_cluster.png)
2. Verify that the text box on the screen is not empty and contains the IPv6
address of the accessory device.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ J-Link > erase 0x8000000, 0x88a0000
- Using MCUXPresso, import the `mcuboot_opensource` demo example from the SDK
previously downloaded. The example can be found under the `ota_examples`
folder.
![mcuboot_demo](../../examples/platform/nxp/rt/rw61x/doc/images/mcuboot_demo.PNG)
![mcuboot_demo](../../../examples/platform/nxp/rt/rw61x/doc/images/mcuboot_demo.PNG)
- Before building the demo example, it should be specified that the
application to be run by the bootloader is monolithic. As a result, only one
image will be upgraded by the bootloader. This can be done by defining
Expand All @@ -99,7 +99,7 @@ J-Link > erase 0x8000000, 0x88a0000
Right click on the Project -> Properties -> C/C++ Build -> Settings -> Tool Settings -> MCU C Compiler -> Preprocessor -> Add "MONOLITHIC_APP=1" in the Defined Symbols
```

![rw610_mcuboot_monolithic](../../examples/platform/nxp/rt/rw61x/doc/images/mcuboot_monolithic_app.PNG)
![rw610_mcuboot_monolithic](../../../examples/platform/nxp/rt/rw61x/doc/images/mcuboot_monolithic_app.PNG)

- Build the demo example project.

Expand Down Expand Up @@ -149,7 +149,7 @@ The image must have the following format :
signature, the upgrade type, the swap status...

The all-clusters application can be generated using the instructions from the
[README.md 'Building'](../../examples/all-clusters-app/nxp/rt/rw61x/README.md#building)
[README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rw61x/README.md#building)
section. The application is automatically linked to be executed from the primary
image partition, taking into consideration the offset imposed by mcuboot.

Expand Down Expand Up @@ -242,8 +242,8 @@ instructions below describe the procedure step-by-step.

Setup example :

- [Chip-tool](../../examples/chip-tool/README.md) application running on the
RPi.
- [Chip-tool](../../../examples/chip-tool/README.md) application running on
the RPi.
- OTA Provider application built on the same RPi (as explained below).
- RW61x board programmed with the example application (with the instructions
above).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,8 @@ Update. The instructions below describes the procedure step-by-step.

Setup example :

- [Chip-tool](../../examples/chip-tool/README.md) application running on the
RPi.
- [Chip-tool](../../../examples/chip-tool/README.md) application running on
the RPi.
- OTA Provider application built on the same RPi (as explained below).
- Board programmed with the example application (with the instructions above).

Expand Down
3 changes: 2 additions & 1 deletion examples/air-purifier-app/linux/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ Temperature Sensor and Endpoint 5 is a Thermostat.

To cross-compile this example on x64 host and run on **NXP i.MX 8M Mini**
**EVK**, see the associated
[README document](../../../docs/guides/nxp_imx8m_linux_examples.md) for details.
[README document](../../../docs/guides/nxp/nxp_imx8m_linux_examples.md) for
details.

<hr>

Expand Down
3 changes: 2 additions & 1 deletion examples/air-quality-sensor-app/linux/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ for Raspberry Pi Desktop 20.10 (aarch64)**

To cross-compile this example on x64 host and run on **NXP i.MX 8M Mini**
**EVK**, see the associated
[README document](../../../docs/guides/nxp_imx8m_linux_examples.md) for details.
[README document](../../../docs/guides/nxp/nxp_imx8m_linux_examples.md) for
details.

<hr>

Expand Down
4 changes: 2 additions & 2 deletions examples/all-clusters-app/nxp/linux-imx/imx8m/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
To cross-compile this example on x64 host and run on **NXP i.MX 8M Mini**
**EVK**, see the associated
[README document](../../../../../docs/guides/nxp_imx8m_linux_examples.md) for
details.
[README document](../../../../../docs/guides/nxp/nxp_imx8m_linux_examples.md)
for details.
8 changes: 4 additions & 4 deletions examples/all-clusters-app/nxp/rt/rw61x/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,16 +139,16 @@ Optional GN options that can be added when building an application:
- To build with the option to have Matter certificates/keys pre-loaded in a
specific flash area the argument `chip_with_factory_data=1` must be added to
the _gn gen_ command. (for more information see
[Guide for writing manufacturing data on NXP devices](../../../../../docs/guides/nxp_manufacturing_flow.md).
[Guide for writing manufacturing data on NXP devices](../../../../../docs/guides/nxp/nxp_manufacturing_flow.md).
- To build the application with the OTA Requestor enabled, the arguments
`chip_enable_ota_requestor=true no_mcuboot=false` must be added to the _gn
gen_ command. (More information about the OTA Requestor feature in
[OTA Requestor README](../../../../../docs/guides/nxp_rw61x_ota_software_update.md)
[OTA Requestor README](../../../../../docs/guides/nxp/nxp_rw61x_ota_software_update.md)

## Manufacturing data

See
[Guide for writing manufacturing data on NXP devices](../../../../../docs/guides/nxp_manufacturing_flow.md)
[Guide for writing manufacturing data on NXP devices](../../../../../docs/guides/nxp/nxp_manufacturing_flow.md)

Other comments:

Expand Down Expand Up @@ -374,4 +374,4 @@ Done
Over-The-Air software updates are supported with the RW61x all-clusters example.
The process to follow in order to perform a software update is described in the
dedicated guide
['Matter Over-The-Air Software Update with NXP RW61x example applications'](../../../../../docs/guides/nxp_rw61x_ota_software_update.md).
['Matter Over-The-Air Software Update with NXP RW61x example applications'](../../../../../docs/guides/nxp/nxp_rw61x_ota_software_update.md).
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
To cross-compile this example on x64 host and run on **NXP i.MX 8M Mini**
**EVK**, see the associated
[README document](../../../../../docs/guides/nxp_imx8m_linux_examples.md) for
details.
[README document](../../../../../docs/guides/nxp/nxp_imx8m_linux_examples.md)
for details.
7 changes: 4 additions & 3 deletions examples/chip-tool/commands/common/DeviceScanner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ CHIP_ERROR DeviceScanner::Stop()

void DeviceScanner::OnNodeDiscovered(const DiscoveredNodeData & nodeData)
{
auto & commissionData = nodeData.nodeData;
VerifyOrReturn(nodeData.Is<CommissionNodeData>());
auto & commissionData = nodeData.Get<CommissionNodeData>();

auto discriminator = commissionData.longDiscriminator;
auto vendorId = static_cast<VendorId>(commissionData.vendorId);
Expand All @@ -64,7 +65,7 @@ void DeviceScanner::OnNodeDiscovered(const DiscoveredNodeData & nodeData)
ChipLogProgress(chipTool, "OnNodeDiscovered (MDNS): discriminator: %u, vendorId: %u, productId: %u", discriminator, vendorId,
productId);

auto & resolutionData = nodeData.resolutionData;
const CommonResolutionData & resolutionData = commissionData;

auto & instanceData = mDiscoveredResults[commissionData.instanceName];
auto & interfaceData = instanceData[resolutionData.interfaceId.GetPlatformInterface()];
Expand All @@ -76,7 +77,7 @@ void DeviceScanner::OnNodeDiscovered(const DiscoveredNodeData & nodeData)
interfaceData.push_back(result);
}

nodeData.LogDetail();
commissionData.LogDetail();
}

void DeviceScanner::OnBrowseAdd(chip::Dnssd::DnssdService service)
Expand Down
Loading

0 comments on commit c0aa0ac

Please sign in to comment.