Skip to content

Commit 1a9e798

Browse files
authored
Merge branch 'master' into reenable_ti_ci
2 parents 28bef46 + dff8864 commit 1a9e798

File tree

85 files changed

+18880
-18726
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+18880
-18726
lines changed

.clang-tidy

+3-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Checks: >
2424
-bugprone-multi-level-implicit-pointer-conversion,
2525
-bugprone-narrowing-conversions,
2626
-bugprone-not-null-terminated-result,
27+
-bugprone-pointer-arithmetic-on-polymorphic-object,
2728
-bugprone-reserved-identifier,
2829
-bugprone-signed-char-misuse,
2930
-bugprone-suspicious-include,
@@ -45,6 +46,7 @@ Checks: >
4546
-clang-analyzer-security.insecureAPI.rand,
4647
-clang-analyzer-security.insecureAPI.strcpy,
4748
-clang-analyzer-unix.Malloc,
48-
-clang-diagnostic-implicit-int-conversion
49+
-clang-diagnostic-implicit-int-conversion,
50+
-clang-diagnostic-missing-template-arg-list-after-template-kw
4951
WarningsAsErrors: '*'
5052
HeaderFilterRegex: '(src|examples|zzz_generated|credentials).*(?<!third_party.*repo)'

.github/.wordlist.txt

+2
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,7 @@ DV
462462
DVK
463463
dynload
464464
eabi
465+
EAF
465466
EB
466467
ECC
467468
ECD
@@ -552,6 +553,7 @@ feff
552553
ffaa
553554
ffeebaefa
554555
FFF
556+
FFFFFFFFFFFF0102
555557
fffe
556558
fffff
557559
Fi

.github/workflows/examples-efr32.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
if: github.actor != 'restyled-io[bot]'
4141

4242
container:
43-
image: ghcr.io/project-chip/chip-build-efr32:77
43+
image: ghcr.io/project-chip/chip-build-efr32:78
4444
volumes:
4545
- "/tmp/bloat_reports:/tmp/bloat_reports"
4646
steps:

.github/workflows/release_artifacts.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
runs-on: ubuntu-latest
6565

6666
container:
67-
image: ghcr.io/project-chip/chip-build-efr32:77
67+
image: ghcr.io/project-chip/chip-build-efr32:78
6868
steps:
6969
- name: Checkout
7070
uses: actions/checkout@v4

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
[submodule "third_party/silabs/wifi_sdk"]
224224
path = third_party/silabs/wifi_sdk
225225
url = https://github.com/SiliconLabs/wiseconnect.git
226-
branch = v3.3.1
226+
branch = v3.3.2
227227
platforms = silabs
228228
[submodule "editline"]
229229
path = third_party/editline/repo

examples/energy-management-app/silabs/BUILD.gn

+54-18
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,21 @@ import("${examples_common_plat_dir}/args.gni")
4747
declare_args() {
4848
# Dump memory usage at link time.
4949
chip_print_memory_usage = false
50+
51+
# Enable test event triggers by default: Disable these in production devices
52+
sl_enable_energy_evse_trigger = true
53+
sl_enable_energy_reporting_trigger = true
54+
sl_enable_water_heater_management_trigger = true
55+
sl_enable_device_energy_management_trigger = true
56+
57+
# Device Energy Management feature support - only one of these can be true
58+
# or both can be disabled if forecasting is not supported
59+
sl_dem_support_power_forecast_reporting = true
60+
sl_dem_support_state_forecast_reporting = false
61+
62+
# Only one of these examples should be enabled
63+
sl_enable_example_evse_device = true
64+
sl_enable_example_water_heater_device = false
5065
}
5166

5267
if (slc_generate) {
@@ -101,7 +116,11 @@ if (wifi_soc) {
101116
"${examples_plat_dir}",
102117
"${chip_root}/src/lib",
103118
"${examples_common_plat_dir}",
104-
"../energy-management-common/include",
119+
"${chip_root}/examples/energy-management-app/energy-management-common/common/include",
120+
"${chip_root}/examples/energy-management-app/energy-management-common/device-energy-management/include",
121+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/include",
122+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-reporting/include",
123+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/include",
105124
]
106125

107126
if (use_wf200) {
@@ -131,28 +150,45 @@ silabs_executable("energy-management-app") {
131150
include_dirs = [ "include" ]
132151
defines = []
133152

153+
defines += [
154+
"SL_MATTER_CONFIG_ENABLE_ENERGY_EVSE_TRIGGER=${sl_enable_energy_evse_trigger}",
155+
"SL_MATTER_CONFIG_ENABLE_ENERGY_REPORTING_TRIGGER=${sl_enable_energy_reporting_trigger}",
156+
"SL_MATTER_CONFIG_ENABLE_WATER_HEATER_MANAGEMENT_TRIGGER=${sl_enable_water_heater_management_trigger}",
157+
"SL_MATTER_CONFIG_ENABLE_DEVICE_ENERGY_MANAGEMENT_TRIGGER=${sl_enable_device_energy_management_trigger}",
158+
"SL_MATTER_CONFIG_DEM_SUPPORT_POWER_FORECAST_REPORTING=${sl_dem_support_power_forecast_reporting}",
159+
"SL_MATTER_CONFIG_DEM_SUPPORT_STATE_FORECAST_REPORTING=${sl_dem_support_state_forecast_reporting}",
160+
"SL_MATTER_CONFIG_ENABLE_EXAMPLE_EVSE_DEVICE=${sl_enable_example_evse_device}",
161+
"SL_CONFIG_ENABLE_EXAMPLE_WATER_HEATER_DEVICE=${sl_enable_example_water_heater_device}",
162+
]
163+
134164
if (silabs_board == "BRD2704A") {
135165
defines += [ "SL_STATUS_LED=0" ]
136166
}
137167

138168
sources = [
139-
"${chip_root}/examples/energy-management-app/energy-management-common/src/ChargingTargetsMemMgr.cpp",
140-
"${chip_root}/examples/energy-management-app/energy-management-common/src/DEMTestEventTriggers.cpp",
141-
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp",
142-
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp",
143-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
144-
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
145-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
146-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseEventTriggers.cpp",
147-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseMain.cpp",
148-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
149-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseTargetsStore.cpp",
150-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyReportingEventTriggers.cpp",
151-
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyTimeUtils.cpp",
152-
"${chip_root}/examples/energy-management-app/energy-management-common/src/FakeReadings.cpp",
153-
"${chip_root}/examples/energy-management-app/energy-management-common/src/PowerTopologyDelegate.cpp",
154-
"${chip_root}/examples/energy-management-app/energy-management-common/src/device-energy-management-mode.cpp",
155-
"${chip_root}/examples/energy-management-app/energy-management-common/src/energy-evse-mode.cpp",
169+
"${chip_root}/examples/energy-management-app/energy-management-common/common/src/EnergyTimeUtils.cpp",
170+
"${chip_root}/examples/energy-management-app/energy-management-common/device-energy-management/src/DEMTestEventTriggers.cpp",
171+
"${chip_root}/examples/energy-management-app/energy-management-common/device-energy-management/src/DeviceEnergyManagementDelegateImpl.cpp",
172+
"${chip_root}/examples/energy-management-app/energy-management-common/device-energy-management/src/DeviceEnergyManagementManager.cpp",
173+
"${chip_root}/examples/energy-management-app/energy-management-common/device-energy-management/src/device-energy-management-mode.cpp",
174+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/ChargingTargetsMemMgr.cpp",
175+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/EVSEManufacturerImpl.cpp",
176+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/EnergyEvseDelegateImpl.cpp",
177+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/EnergyEvseEventTriggers.cpp",
178+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/EnergyEvseMain.cpp",
179+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/EnergyEvseManager.cpp",
180+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/EnergyEvseTargetsStore.cpp",
181+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-evse/src/energy-evse-mode.cpp",
182+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-reporting/src/ElectricalPowerMeasurementDelegate.cpp",
183+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-reporting/src/EnergyReportingEventTriggers.cpp",
184+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-reporting/src/FakeReadings.cpp",
185+
"${chip_root}/examples/energy-management-app/energy-management-common/energy-reporting/src/PowerTopologyDelegate.cpp",
186+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/src/WaterHeaterMain.cpp",
187+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/src/WhmDelegateImpl.cpp",
188+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/src/WhmInstance.cpp",
189+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/src/WhmMain.cpp",
190+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/src/WhmManufacturer.cpp",
191+
"${chip_root}/examples/energy-management-app/energy-management-common/water-heater/src/water-heater-mode.cpp",
156192
"${examples_common_plat_dir}/main.cpp",
157193
"src/AppTask.cpp",
158194
]

examples/energy-management-app/silabs/README.md

+21-5
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
3333
## Introduction
3434

3535
The EFR32 Energy Management example provides a baseline demonstration of a EVSE
36-
device, built using Matter and the Silicon Labs gecko SDK. It can be controlled
37-
by a Chip controller over an Openthread or Wifi network..
36+
or Water Heater device, built using Matter and the Silicon Labs gecko SDK. It
37+
can be controlled by a Chip controller over an Openthread or Wifi network.
3838

3939
The EFR32 device can be commissioned over Bluetooth Low Energy where the device
4040
and the Chip controller will exchange security information with the Rendez-vous
@@ -45,9 +45,9 @@ If the LCD is enabled, the LCD on the Silabs WSTK shows a QR Code containing the
4545
needed commissioning information for the BLE connection and starting the
4646
Rendez-vous procedure.
4747

48-
The EVSE example is intended to serve both as a means to explore the workings of
49-
Matter as well as a template for creating real products based on the Silicon
50-
Labs platform.
48+
The EVSE and Water Heater examples are intended to serve both as a means to
49+
explore the workings of Matter Energy Management as well as a template for
50+
creating real products based on the Silicon Labs platform.
5151

5252
## Building
5353

@@ -99,9 +99,25 @@ Labs platform.
9999
$ git submodule update --init
100100
$ source third_party/connectedhomeip/scripts/activate.sh
101101
$ export SILABS_BOARD=BRD4187C
102+
103+
To build the EVSE example
104+
102105
$ gn gen out/debug
103106
$ ninja -C out/debug
104107

108+
To build the Water Heater example you can change the args to gn gen (see
109+
BUILD.gn for arg options)
110+
111+
$ gn gen out/debug --args='chip_enable_example_evse_device=false chip_enable_example_water_heater_device=true'
112+
$ ninja -C out/debug
113+
114+
To change Device Energy Management feature support (e.g. Power forecast or
115+
State forecast reporting), you can change the args to gn gen (see BUILD.gn
116+
for arg options)
117+
118+
$ gn gen out/debug --args='chip_dem_support_state_forecast_reporting=true chip_dem_support_power_forecast_reporting=false'
119+
$ ninja -C out/debug
120+
105121
- To delete generated executable, libraries and object files use:
106122

107123
$ cd ~/connectedhomeip/examples/energy-management-app/silabs

examples/energy-management-app/silabs/build_for_wifi_args.gni

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ silabs_sdk_target = get_label_info(":sdk", "label_no_toolchain")
1818
chip_enable_openthread = false
1919
import("${chip_root}/src/platform/silabs/wifi_args.gni")
2020

21+
sl_enable_test_event_trigger = true
2122
chip_enable_ota_requestor = false
2223
disable_lcd = true
2324
app_data_model =

examples/energy-management-app/silabs/include/AppTask.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
#include "AppEvent.h"
3030
#include "BaseApplication.h"
31-
#include "EnergyEvseManager.h"
31+
3232
#include "FreeRTOS.h"
3333
#include "timers.h" // provides FreeRTOS timer support
3434
#include <ble/BLEEndPoint.h>
@@ -80,7 +80,7 @@ class AppTask : public BaseApplication
8080

8181
private:
8282
static AppTask sAppTask;
83-
static void EvseActionEventHandler(AppEvent * aEvent);
83+
static void EnergyManagementActionEventHandler(AppEvent * aEvent);
8484

8585
static void UpdateClusterState(intptr_t context);
8686

examples/energy-management-app/silabs/openthread.gni

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ app_data_model =
2323
chip_enable_ota_requestor = false
2424
chip_enable_openthread = true
2525
disable_lcd = true
26+
sl_enable_test_event_trigger = true
2627

2728
openthread_external_platform =
2829
"${chip_root}/third_party/openthread/platforms/efr32:libopenthread-efr32"

0 commit comments

Comments
 (0)