Skip to content

Commit

Permalink
Merge branch 'master' into add/wifi_brd2605a_board_support
Browse files Browse the repository at this point in the history
  • Loading branch information
bhmanda-silabs authored Sep 9, 2024
2 parents a3a123c + 7d57f07 commit 7a65682
Show file tree
Hide file tree
Showing 228 changed files with 2,907 additions and 13,688 deletions.
1 change: 1 addition & 0 deletions .github/.wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1532,6 +1532,7 @@ virtualenv
visualstudio
vlatest
VLEDs
vm
vn
vnc
vous
Expand Down
1 change: 1 addition & 0 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
if (enable_fuzz_test_targets) {
group("fuzz_tests") {
deps = [
"${chip_root}/examples/all-clusters-app/linux:fuzz-chip-all-clusters-app",
"${chip_root}/src/credentials/tests:fuzz-chip-cert",
"${chip_root}/src/lib/core/tests:fuzz-tlv-reader",
"${chip_root}/src/lib/dnssd/minimal_mdns/tests:fuzz-minmdns-packet-parsing",
Expand Down
7 changes: 5 additions & 2 deletions build/chip/fuzz_test.gni
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@ import("${chip_root}/build/chip/tests.gni")
import("${dir_pw_unit_test}/test.gni")

declare_args() {
enable_fuzz_test_targets = is_clang && chip_build_tests &&
(current_os == "linux" || current_os == "mac")
#Fuzz testing using libfuzzer
enable_fuzz_test_targets =
(is_libfuzzer || oss_fuzz) && is_clang && chip_build_tests &&
(current_os == "linux" || current_os == "mac")

#Fuzz testing using pw_fuzzer and FuzzTest Framework
pw_enable_fuzz_test_targets = false
}

Expand Down
20 changes: 20 additions & 0 deletions config/esp32/components/chip/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,26 @@ menu "CHIP Core"
or failure during certification tests. Even if it passes, it may fail
to function properly with actual controllers.

config MAX_GROUP_ENDPOINTS_PER_FABRIC
int "Maximum Group Endpoints per Fabric"
default 1
help
Specifies the maximum number of group endpoints supported per fabric.

config MAX_GROUPS_PER_FABRIC_PER_ENDPOINT
int "Maximum Groups per Fabric per Endpoint"
default 4
help
Specifies the maximum number of groups per fabric for each endpoint.
The value of CHIP_CONFIG_MAX_GROUPS_PER_FABRIC is calculated as:
(MAX_GROUP_ENDPOINTS_PER_FABRIC * MAX_GROUPS_PER_FABRIC_PER_ENDPOINT)

config MAX_GROUP_KEYS_PER_FABRIC
int "Maximum Number of Group Key Sets per Fabric"
default 3
help
Specifies the maximum number of group key sets supported per fabric.

endmenu # "General Options"

menu "Networking Options"
Expand Down
8 changes: 4 additions & 4 deletions docs/guides/nrfconnect_examples_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Regardless of the option, you will need to rebuild your application. This will
require you to provide the build target name of the kit you are using. You can
find the build target names in the Requirements section of the example you are
building or on the
[Board support](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/app_dev/board_support/index.html)
[Board support](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/board_support/index.html)
page in the nRF Connect SDK documentation.

### Temporary changes to configuration
Expand Down Expand Up @@ -97,7 +97,7 @@ them values of proper type. Few examples:
`CONFIG_SAMPLE_STRING_OPTION="some_text"`
For more detailed information, read about
[setting Kconfig values](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/kconfig/setting.html#setting-configuration-values)
[setting Kconfig values](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/build/kconfig/setting.html)
in the nRF Connect SDK documentation.
Because Kconfig configuration files are used in the building process, make sure
Expand Down Expand Up @@ -150,7 +150,7 @@ from your perspective:
$ west build -b build-target -- -DOVERLAY_CONFIG=overlay_file_name
Read the
[Kconfig](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/kconfig/index.html#kconfig)
[Kconfig](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/build/kconfig/index.html)
guide in the nRF Connect SDK's Zephyr documentation if you are interested in
getting more advanced and detailed information about the configuration
structure.
Expand Down Expand Up @@ -214,7 +214,7 @@ performance in case it has been polluted with unwanted entries.
#### Logging
You can enable logging for both the stack and Zephyr’s
[Logging](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/reference/logging/index.html#logging-api)
[Logging](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/logging/index.html)
API by setting the `CONFIG_LOG` option.
Zephyr allows you to configure log levels of different software modules
Expand Down
20 changes: 10 additions & 10 deletions docs/guides/nrfconnect_examples_software_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ protocols:

- Matter-compliant OTA update protocol that uses the Matter operational
network for querying and downloading a new firmware image.
- [Simple Management Protocol](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/services/device_mgmt/smp_protocol.html)
- [Simple Management Protocol](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/device_mgmt/smp_protocol.html)
over Bluetooth LE. In this case, the DFU can be done either using a
smartphone application or a PC command line tool. Note that this protocol is
not part of the Matter specification.
Expand Down Expand Up @@ -125,11 +125,9 @@ rebooted to apply the update.
To upgrade your device firmware over Bluetooth LE using a smartphone, complete
the following steps:
1. Install _one_ of the following applications on your smartphone:
- [nRF Connect for Mobile](https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Connect-for-mobile)
- [nRF Toolbox](https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Toolbox)
1. Install the
[nRF Connect Device Manager](https://www.nordicsemi.com/Products/Development-tools/nrf-connect-device-manager)
application on your smartphone.
2. Push the appropriate button on the device to enable the software update
functionality (if it is not enabled by default) and start the Bluetooth LE
advertising of the SMP service. See the user interface section in the example
Expand All @@ -138,8 +136,10 @@ the following steps:
advertising. See the user interface section in the example documentation to
check the button number.
4. Follow the instructions about downloading the new image to a device on the
[FOTA upgrades](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/working_with_nrf/nrf52/developing.html#fota-updates)
page in the nRF Connect SDK documentation.
FOTA updates page for either
[nRF52 Series devices](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf52/fota_update.html)
or the
[nRF5340 DK](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf53/fota_update_nrf5340.html).
<hr>
Expand Down Expand Up @@ -171,7 +171,7 @@ Complete the following steps to perform DFU using mcumgr:
> (for example, `MatterLock`).
1. Install the tool by following the
[mcumgr command line tool installation instructions](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/device_mgmt/index.html#command-line-tool).
[mcumgr command line tool installation instructions](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/device_mgmt/mcumgr.html#command-line_tool).
2. Push the appropriate button on the device to enable the software update
functionality (if it is not enabled by default) and start the Bluetooth LE
advertising of SMP service. See the user interface section in the example
Expand Down Expand Up @@ -342,6 +342,6 @@ Swapping operation can take some time, and after it completes, the new firmware
is booted.
Visit the
[mcumgr image management](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/device_mgmt/indexhtml#image-management)
[mcumgr image management](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/device_mgmt/mcumgr.html#image_management)
section to get familiar with all image management commands supported by the
tool.
6 changes: 3 additions & 3 deletions docs/guides/nrfconnect_factory_data_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ data secure by applying hardware write protection.

> **Note:** Due to hardware limitations, in the nRF Connect platform, protection
> against writing can be applied only to the internal memory partition. The
> [Fprotect](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/others/fprotect.html)
> [Fprotect](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/libraries/security/bootloader/fprotect.html)
> is the hardware flash protection driver, and we used it to ensure write
> protection of the factory data partition in internal flash memory.
Expand Down Expand Up @@ -643,7 +643,7 @@ $ west build -b nrf52840dk_nrf52840 -- \
The factory data partition is an area in the device's persistent storage where a
factory data set is stored. This area is configured using the
[Partition Manager](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/scripts/partition_manager/partition_manager.html),
[Partition Manager](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/scripts/partition_manager/partition_manager.html),
within which all partitions are declared in the `pm_static.yml` file.
To prepare an example that supports factory data, add a partition called
Expand Down Expand Up @@ -845,7 +845,7 @@ snippet:
> **Note:** To get more information about how to use the interactive Kconfig
> interfaces, read the
> [Kconfig documentation](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/kconfig/menuconfig.html).
> [Kconfig documentation](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/build/kconfig/menuconfig.html).
### Default Kconfig values and developing aspects
Expand Down
16 changes: 8 additions & 8 deletions docs/guides/nrfconnect_platform_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ communication purposes:
## nRF Connect SDK

Nordic Semiconductor's
[nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html)
[nRF Connect SDK](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/index.html)
allows to build a range of applications, including cellular IoT (LTE-M and
NB-IoT), Bluetooth Low Energy, Thread, Zigbee, and Bluetooth mesh. The SDK
contains samples, libraries and a full set of drivers for Nordic Semiconductor's
Expand Down Expand Up @@ -57,8 +57,8 @@ Bluetooth LE concurrently with other stacks on the same radio chip.

Read more in the nRF Connect SDK documentation:

- [SoftDevice Controller](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/softdevice_controller/README.html)
- [Multiprotocol Service Layer](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/README.html)
- [SoftDevice Controller](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/softdevice_controller/README.html)
- [Multiprotocol Service Layer](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/mpsl/README.html)

<hr>

Expand All @@ -72,9 +72,9 @@ network layer functionalities provided by the Zephyr.

Read more in the nRF Connect SDK documentation:

- [Multiprotocol Service Layer](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/README.html)
- [nRF 802.15.4 Radio Driver](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/nrf_802154/README.html)
- [OpenThread integration](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/thread/overview/ot_integration.html)
- [Multiprotocol Service Layer](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/mpsl/README.html)
- [nRF 802.15.4 Radio Driver](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/nrf_802154/README.html)
- [OpenThread integration](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/thread/overview/ot_integration.html)

<hr>

Expand Down Expand Up @@ -105,7 +105,7 @@ agnostic interfaces and no additional platform-related actions are needed to
perform communication through the Matter stack.

For more information, see the
[Matter integration in the nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/matter/overview/integration.html)
[Matter integration in the nRF Connect SDK](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/matter/overview/integration.html)
page in the SDK documentation.

<hr>
Expand All @@ -126,5 +126,5 @@ library file is imported during the compilation process.

For more information about the build system in Zephyr and the nRF Connect SDK,
see the
[Build and configuration system](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/app_dev/build_and_config_system/index.html)
[Build and configuration system](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/config_and_build/config_and_build_system.html)
page in the SDK documentation.
6 changes: 3 additions & 3 deletions docs/guides/openthread_rcp_nrf_dongle.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ Once programmed, the dongle can be used for
## Requirements

You need to set up the
[nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html)
[nRF Connect SDK](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/index.html)
to build and program the OpenThread Radio Co-Processor to the nRF52840 Dongle.
Read the
[nRF Connect SDK Getting started](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/getting_started.html)
[nRF Connect SDK installation](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/installation.html)
documentation for more information.

## Building and programming the RCP firmware onto an nRF52840 Dongle

After you set up the nRF Connect SDK, follow the steps in the
[Configuring a radio co-processor](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_tools.html#configuring-a-radio-co-processor)
[Configuring a radio co-processor](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/thread/tools.html#configuring_a_radio_co-processor)
section for the nRF52840 Dongle (USB transport).
Original file line number Diff line number Diff line change
Expand Up @@ -2554,7 +2554,7 @@ cluster TimeSynchronization = 56 {
Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags.
Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */
cluster Switch = 59 {
revision 1;
revision 2;

bitmap Feature : bitmap32 {
kLatchingSwitch = 0x1;
Expand Down
2 changes: 2 additions & 0 deletions examples/all-clusters-app/esp32/sdkconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,5 @@ CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y

# Increase LwIP IPv6 address number
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6

CONFIG_MAX_GROUP_ENDPOINTS_PER_FABRIC=3
11 changes: 11 additions & 0 deletions examples/all-clusters-app/linux/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import("${build_root}/config/compiler/compiler.gni")
import("${chip_root}/src/lib/lib.gni")
import("${chip_root}/src/platform/device.gni")

import("${chip_root}/build/chip/fuzz_test.gni")
import("${chip_root}/examples/common/pigweed/pigweed_rpcs.gni")

if (chip_enable_pw_rpc) {
Expand Down Expand Up @@ -201,3 +202,13 @@ group("linux") {
group("default") {
deps = [ ":linux" ]
}

if (enable_fuzz_test_targets) {
chip_fuzz_target("fuzz-chip-all-clusters-app") {
sources = [ "fuzzing-main.cpp" ]
public_deps = [
":chip-all-clusters-common",
"${chip_root}/examples/platform/linux:app-main",
]
}
}
2 changes: 1 addition & 1 deletion examples/all-clusters-app/linux/ValveControlDelegate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ DataModel::Nullable<chip::Percent> ValveControlDelegate::HandleOpenValve(DataMod
sLastOpenDuration = 0;
ChipLogProgress(NotSpecified, "Valve opening from level: %d to %d", currentLevel, sLevel);

// In this demo application, the trasition is considered instant,
// In this demo application, the transition is considered instant,
// so current level is set to the requested level and current state is set to kOpen.
currentLevel = sLevel;
Attributes::CurrentState::Set(kValveEndpoint, ValveConfigurationAndControl::ValveStateEnum::kOpen);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2286,7 +2286,7 @@ cluster EthernetNetworkDiagnostics = 55 {
Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags.
Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */
cluster Switch = 59 {
revision 1;
revision 2;

bitmap Feature : bitmap32 {
kLatchingSwitch = 0x1;
Expand Down
2 changes: 1 addition & 1 deletion examples/bridge-app/bridge-common/bridge-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -1921,7 +1921,7 @@ cluster EthernetNetworkDiagnostics = 55 {
Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags.
Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */
cluster Switch = 59 {
revision 1;
revision 2;

bitmap Feature : bitmap32 {
kLatchingSwitch = 0x1;
Expand Down
Loading

0 comments on commit 7a65682

Please sign in to comment.