Skip to content

Commit 90ac94b

Browse files
committed
Get the EVSE app building and test TC_DEM_2_2 passing
1 parent 645d3a7 commit 90ac94b

Some content is hidden

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

41 files changed

+2984
-418
lines changed

examples/all-clusters-app/ameba/chip_main.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,11 @@ list(
189189

190190
${chip_dir}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp
191191
${chip_dir}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp
192+
${chip_dir}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp
192193
${chip_dir}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp
193194
${chip_dir}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp
194195
${chip_dir}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp
196+
${chip_dir}/examples/energy-management-app/energy-management-common/src/utils.cpp
195197

196198
${chip_dir}/examples/platform/ameba/route_hook/ameba_route_hook.c
197199
${chip_dir}/examples/platform/ameba/route_hook/ameba_route_table.c

examples/all-clusters-app/asr/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@ asr_executable("clusters_app") {
8484
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp",
8585
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp",
8686
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp",
87+
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
8788
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
8889
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
8990
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
91+
"${chip_root}/examples/energy-management-app/energy-management-common/src/utils.cpp",
9092
"${examples_plat_dir}/ButtonHandler.cpp",
9193
"${examples_plat_dir}/CHIPDeviceManager.cpp",
9294
"${examples_plat_dir}/LEDWidget.cpp",

examples/all-clusters-app/cc13x4_26x4/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ ti_simplelink_executable("all-clusters-app") {
7777
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
7878
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
7979
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
80+
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
81+
"${chip_root}/examples/energy-management-app/energy-management-common/src/utils.cpp",
8082
"${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
8183
"${project_dir}/main/AppTask.cpp",
8284
"${project_dir}/main/ClusterManager.cpp",

examples/all-clusters-app/infineon/psoc6/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,11 @@ psoc6_executable("clusters_app") {
120120
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp",
121121
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp",
122122
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp",
123+
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
123124
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
124125
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
125126
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
127+
"${chip_root}/examples/energy-management-app/energy-management-common/src/utils.cpp",
126128
"${examples_plat_dir}/LEDWidget.cpp",
127129
"${examples_plat_dir}/init_psoc6Platform.cpp",
128130
"src/AppTask.cpp",

examples/all-clusters-app/linux/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,13 @@ source_set("chip-all-clusters-common") {
6060
"${chip_root}/examples/all-clusters-app/linux/diagnostic-logs-provider-delegate-impl.cpp",
6161
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp",
6262
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp",
63+
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
6364
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
6465
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
6566
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
6667
"${chip_root}/examples/energy-management-app/energy-management-common/src/device-energy-management-mode.cpp",
6768
"${chip_root}/examples/energy-management-app/energy-management-common/src/energy-evse-mode.cpp",
69+
"${chip_root}/examples/energy-management-app/energy-management-common/src/utils.cpp",
6870
"AllClustersCommandDelegate.cpp",
6971
"AppOptions.cpp",
7072
"ValveControlDelegate.cpp",

examples/all-clusters-app/mbed/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ target_sources(${APP_TARGET} PRIVATE
7777
${ENERGY_MANAGEMENT_COMMON}/src/EnergyEvseManager.cpp
7878
${ENERGY_MANAGEMENT_COMMON}/src/DeviceEnergyManagementDelegateImpl.cpp
7979
${ENERGY_MANAGEMENT_COMMON}/src/DeviceEnergyManagementManager.cpp
80-
80+
${ENERGY_MANAGEMENT_COMMON}/src/EVSEManufacturerImpl.cpp
81+
${ENERGY_MANAGEMENT_COMMON}/src/utils.cpp
8182
)
8283

8384
chip_configure_data_model(${APP_TARGET}

examples/all-clusters-app/nrfconnect/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ target_sources(app PRIVATE
7272
${ALL_CLUSTERS_COMMON_DIR}/src/resource-monitoring-delegates.cpp
7373
${ENERGY_MANAGEMENT_COMMON_DIR}/src/DeviceEnergyManagementDelegateImpl.cpp
7474
${ENERGY_MANAGEMENT_COMMON_DIR}/src/DeviceEnergyManagementManager.cpp
75+
${ENERGY_MANAGEMENT_COMMON_DIR}/src/EVSEManufacturerImpl.cpp
76+
${ENERGY_MANAGEMENT_COMMON_DIR}/src/utils.cpp
7577
${ENERGY_MANAGEMENT_COMMON_DIR}/src/ElectricalPowerMeasurementDelegate.cpp
7678
${ENERGY_MANAGEMENT_COMMON_DIR}/src/EnergyEvseDelegateImpl.cpp
7779
${ENERGY_MANAGEMENT_COMMON_DIR}/src/EnergyEvseManager.cpp

examples/all-clusters-app/nxp/mw320/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,11 @@ mw320_executable("shell_mw320") {
8888
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp",
8989
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp",
9090
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp",
91+
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
9192
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
9293
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
9394
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
95+
"${chip_root}/examples/energy-management-app/energy-management-common/src/utils.cpp",
9496
"${chip_root}/src/lib/shell/streamer_mw320.cpp",
9597
"binding-handler.cpp",
9698
"include/CHIPProjectConfig.h",

examples/all-clusters-app/openiotsdk/CMakeLists.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ target_sources(${APP_TARGET}
6969
${ENERGY_MANAGEMENT_COMMON}/src/EnergyEvseDelegateImpl.cpp
7070
${ENERGY_MANAGEMENT_COMMON}/src/EnergyEvseManager.cpp
7171
${ENERGY_MANAGEMENT_COMMON}/src/DeviceEnergyManagementDelegateImpl.cpp
72-
${ENERGY_MANAGEMENT_COMMON}/src/DeviceEnergyManagementManager.cpp
72+
${ENERGY_MANAGEMENT_COMMON}/src/DeviceEnergyManagementManager.cpp
73+
${ENERGY_MANAGEMENT_COMMON}/src/EVSEManufacturerImpl.cpp
74+
${ENERGY_MANAGEMENT_COMMON}/src/utils.cpp
7375
)
7476

7577
target_link_libraries(${APP_TARGET}

examples/all-clusters-app/telink/CMakeLists.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ target_sources(app PRIVATE
5555
${ENERGY_MANAGEMENT_COMMON_DIR}/src/EnergyEvseDelegateImpl.cpp
5656
${ENERGY_MANAGEMENT_COMMON_DIR}/src/EnergyEvseManager.cpp
5757
${ENERGY_MANAGEMENT_COMMON_DIR}/src/DeviceEnergyManagementDelegateImpl.cpp
58-
${ENERGY_MANAGEMENT_COMMON_DIR}/src/DeviceEnergyManagementManager.cpp
58+
${ENERGY_MANAGEMENT_COMMON_DIR}/src/DeviceEnergyManagementManager.cpp
59+
${ENERGY_MANAGEMENT_COMMON_DIR}/src/EVSEManufacturerImpl.cpp
60+
${ENERGY_MANAGEMENT_COMMON_DIR}/src/utils.cpp
5961
${TELINK_COMMON}/common/src/mainCommon.cpp
6062
${TELINK_COMMON}/common/src/AppTaskCommon.cpp
6163
${TELINK_COMMON}/util/src/LEDManager.cpp

examples/all-clusters-app/tizen/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ source_set("chip-all-clusters-common") {
4040
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp",
4141
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementDelegateImpl.cpp",
4242
"${chip_root}/examples/energy-management-app/energy-management-common/src/DeviceEnergyManagementManager.cpp",
43+
"${chip_root}/examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp",
4344
"${chip_root}/examples/energy-management-app/energy-management-common/src/ElectricalPowerMeasurementDelegate.cpp",
4445
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseDelegateImpl.cpp",
4546
"${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyEvseManager.cpp",
47+
"${chip_root}/examples/energy-management-app/energy-management-common/src/utils.cpp",
4648
]
4749

4850
deps = [
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
/*
2+
*
3+
* Copyright (c) 2023 Project CHIP Authors
4+
* All rights reserved.
5+
*
6+
* Licensed under the Apache License, Version 2.0 (the "License");
7+
* you may not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*/
18+
19+
#pragma once
20+
21+
using chip::Protocols::InteractionModel::Status;
22+
23+
namespace chip {
24+
namespace app {
25+
namespace Clusters {
26+
namespace DeviceEnergyManagement {
27+
28+
class DeviceEnergyManagementDelegate;
29+
30+
/**
31+
* Class to abstract manufacturer specific functionality
32+
*/
33+
class DEMManufacturerDelegate
34+
{
35+
public:
36+
DEMManufacturerDelegate()
37+
{
38+
}
39+
40+
virtual ~DEMManufacturerDelegate()
41+
{
42+
}
43+
44+
virtual int64_t GetEnergyUse() = 0;
45+
46+
virtual CHIP_ERROR HandleDeviceEnergyManagementPowerAdjustRequest(const int64_t power, const uint32_t duration, AdjustmentCauseEnum cause)
47+
{
48+
return CHIP_NO_ERROR;
49+
}
50+
51+
virtual CHIP_ERROR HandleDeviceEnergyManagementPowerAdjustCompletion()
52+
{
53+
return CHIP_NO_ERROR;
54+
}
55+
56+
virtual CHIP_ERROR HandleDeviceEnergyManagementCancelPowerAdjustRequest(CauseEnum cause)
57+
{
58+
return CHIP_NO_ERROR;
59+
}
60+
61+
virtual CHIP_ERROR HandleDeviceEnergyManagementStartTimeAdjustRequest(const uint32_t requestedStartTime, AdjustmentCauseEnum cause)
62+
{
63+
return CHIP_NO_ERROR;
64+
}
65+
66+
virtual CHIP_ERROR HandleDeviceEnergyManagementPauseRequest(const uint32_t duration, AdjustmentCauseEnum cause)
67+
{
68+
return CHIP_NO_ERROR;
69+
}
70+
71+
virtual CHIP_ERROR HandleDeviceEnergyManagementPauseCompletion()
72+
{
73+
return CHIP_NO_ERROR;
74+
}
75+
76+
virtual CHIP_ERROR HandleDeviceEnergyManagementCancelPauseRequest(CauseEnum cause)
77+
{
78+
return CHIP_NO_ERROR;
79+
}
80+
81+
virtual CHIP_ERROR HandleDeviceEnergyManagementCancelRequest()
82+
{
83+
return CHIP_NO_ERROR;
84+
}
85+
86+
virtual CHIP_ERROR HandleModifyRequest(const uint32_t forecastID,
87+
const DataModel::DecodableList<Structs::SlotAdjustmentStruct::DecodableType> & slotAdjustments,
88+
AdjustmentCauseEnum cause)
89+
{
90+
return CHIP_NO_ERROR;
91+
}
92+
93+
virtual CHIP_ERROR RequestConstraintBasedForecast(const DataModel::DecodableList<DeviceEnergyManagement::Structs::ConstraintsStruct::DecodableType> & constraints,
94+
AdjustmentCauseEnum cause)
95+
{
96+
return CHIP_NO_ERROR;
97+
}
98+
};
99+
100+
} // namespace DeviceEnergyManagement
101+
} // namespace Clusters
102+
} // namespace app
103+
} // namespace chip
104+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/*
2+
*
3+
* Copyright (c) 2024 Project CHIP Authors
4+
* All rights reserved.
5+
*
6+
* Licensed under the Apache License, Version 2.0 (the "License");
7+
* you may not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*/
18+
19+
#pragma once
20+
21+
#include <protocols/interaction_model/StatusCode.h>
22+
#include <protocols/Protocols.h>
23+
#include <app/util/config.h>
24+
#include <cstring>
25+
26+
using chip::Protocols::InteractionModel::Status;
27+
28+
/**
29+
* @brief Helper function to get current timestamp in Epoch format
30+
*
31+
* @param chipEpoch reference to hold return timestamp
32+
*/
33+
CHIP_ERROR UtilsGetEpochTS(uint32_t & chipEpoch);
34+
35+
/**
36+
* @brief Helper function to get current timestamp and work out the day of week
37+
*
38+
* NOTE that the time_t is converted using localtime to provide the timestamp
39+
* in local time. If this is not supported on some platforms an alternative
40+
* implementation may be required.
41+
*
42+
* @param unixEpoch (as time_t)
43+
*
44+
* @return bitmap value for day of week
45+
* Sunday = 0x01, Monday = 0x01 ... Saturday = 0x40 (1<<6)
46+
*/
47+
uint8_t UtilsGetDayOfWeekUnixEpoch(time_t unixEpoch);
48+
49+
/**
50+
* @brief Helper function to get current timestamp and work out the day of week based on localtime
51+
*
52+
* @param reference to hold the day of week as a bitmap
53+
*
54+
* Sunday = 0x01, Monday = 0x01 ... Saturday = 0x40 (1<<6)
55+
*/
56+
CHIP_ERROR UtilsGetDayOfWeekNow(uint8_t & dayOfWeekMap);

0 commit comments

Comments
 (0)