Skip to content

Commit

Permalink
Merge branch 'master' into add_presets_to_Sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
hasty authored Jul 30, 2024
2 parents c41d02c + 2b223ce commit 924ad8f
Show file tree
Hide file tree
Showing 133 changed files with 4,707 additions and 30 deletions.
2 changes: 2 additions & 0 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
"${chip_root}/src/lib/core/tests:fuzz-tlv-reader",
"${chip_root}/src/lib/dnssd/minimal_mdns/tests:fuzz-minmdns-packet-parsing",
"${chip_root}/src/lib/format/tests:fuzz-payload-decoder",
"${chip_root}/src/setup_payload/tests:fuzz-setup-payload-base38",
"${chip_root}/src/setup_payload/tests:fuzz-setup-payload-base38-decode",
]
}
}
Expand Down
11 changes: 10 additions & 1 deletion config/nrfconnect/chip-module/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,6 @@ matter_generate_args_tmp_file()
# ==============================================================================

matter_build(chip
LIB_SHELL ${CONFIG_CHIP_LIB_SHELL}
LIB_TESTS ${CONFIG_CHIP_BUILD_TESTS}
DEVICE_INFO_EXAMPLE_PROVIDER ${CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER}
GN_DEPENDENCIES kernel
Expand All @@ -225,6 +224,16 @@ if (CONFIG_CHIP_MALLOC_SYS_HEAP_OVERRIDE)
)
endif()

if (CONFIG_CHIP_LIB_SHELL)
# Force pulling chip::Shell::Engine::RunMainLoop() in the final binary.
# Without this workaround, the linker script does not process the shell and
# init objects defined in MainLoopZephyr.cpp unless the Matter library or
# the Matter shell library is linked using the '--whole-archive' flag.
target_link_options(chip INTERFACE
-Wl,-u,_ZN4chip5Shell6Engine11RunMainLoopEv
)
endif()

# ==============================================================================
# Define 'chip-ota-image' target for building CHIP OTA image
# ==============================================================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -510,6 +513,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -520,6 +527,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -553,12 +564,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -510,6 +513,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -520,6 +527,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -553,12 +564,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1440,6 +1440,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -1448,6 +1451,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -1458,6 +1465,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -1491,12 +1502,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ class WaterHeaterManagementDelegate : public WaterHeaterManagement::Delegate
* @param percentageReplaced The % of water being replaced with water with a temperature of replacedWaterTemperature.
* @param replacedWaterTemperature The temperature of the percentageReplaced water.
*/
void DrawOffHotWater(uint8_t percentageReplaced, uint16_t replacedWaterTemperature);
void DrawOffHotWater(chip::Percent percentageReplaced, uint16_t replacedWaterTemperature);

private:
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ void WaterHeaterManagementDelegate::SetTargetWaterTemperature(uint16_t targetWat
CheckIfHeatNeedsToBeTurnedOnOrOff();
}

void WaterHeaterManagementDelegate::DrawOffHotWater(uint8_t percentageReplaced, uint16_t replacedWaterTemperature)
void WaterHeaterManagementDelegate::DrawOffHotWater(Percent percentageReplaced, uint16_t replacedWaterTemperature)
{
// Only supported in the kTankPercent is supported.
// Replaces percentageReplaced% of the water in the tank with water of a temperature replacedWaterTemperature
Expand All @@ -303,7 +303,7 @@ void WaterHeaterManagementDelegate::DrawOffHotWater(uint8_t percentageReplaced,
// See if all of the water has now been replaced with replacedWaterTemperature
if (mTankPercentage >= percentageReplaced)
{
mTankPercentage -= percentageReplaced;
mTankPercentage = static_cast<Percent>(mTankPercentage - percentageReplaced);
}
else
{
Expand Down
4 changes: 4 additions & 0 deletions examples/all-clusters-app/nrfconnect/prj_release.conf
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,7 @@ CONFIG_CHIP_FACTORY_DATA_BUILD=y

# Enable the Read Client for binding purposes
CONFIG_CHIP_ENABLE_READ_CLIENT=y

# Enable LTO to reduce the flash usage
CONFIG_LTO=y
CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
Original file line number Diff line number Diff line change
Expand Up @@ -1320,6 +1320,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -1328,6 +1331,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -1338,6 +1345,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -1371,12 +1382,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
22 changes: 22 additions & 0 deletions examples/bridge-app/bridge-common/bridge-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -959,6 +959,9 @@ cluster GeneralCommissioning = 48 {
kInvalidAuthentication = 2;
kNoFailSafe = 3;
kBusyWithOtherAdmin = 4;
kRequiredTCNotAccepted = 5;
kTCAcknowledgementsNotReceived = 6;
kTCMinVersionNotMet = 7;
}

enum RegulatoryLocationTypeEnum : enum8 {
Expand All @@ -967,6 +970,10 @@ cluster GeneralCommissioning = 48 {
kIndoorOutdoor = 2;
}

bitmap Feature : bitmap32 {
kTermsAndConditions = 0x1;
}

struct BasicCommissioningInfo {
int16u failSafeExpiryLengthSeconds = 0;
int16u maxCumulativeFailsafeSeconds = 1;
Expand All @@ -977,6 +984,10 @@ cluster GeneralCommissioning = 48 {
readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2;
readonly attribute RegulatoryLocationTypeEnum locationCapability = 3;
readonly attribute boolean supportsConcurrentConnection = 4;
provisional readonly attribute access(read: administer) optional int16u TCAcceptedVersion = 5;
provisional readonly attribute access(read: administer) optional int16u TCMinRequiredVersion = 6;
provisional readonly attribute access(read: administer) optional bitmap16 TCAcknowledgements = 7;
provisional readonly attribute access(read: administer) optional boolean TCAcknowledgementsRequired = 8;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -1010,12 +1021,23 @@ cluster GeneralCommissioning = 48 {
char_string debugText = 1;
}

request struct SetTCAcknowledgementsRequest {
int16u TCVersion = 0;
bitmap16 TCUserResponse = 1;
}

response struct SetTCAcknowledgementsResponse = 7 {
CommissioningErrorEnum errorCode = 0;
}

/** Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock */
command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0;
/** Set the regulatory configuration to be used during commissioning */
command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2;
/** Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. */
fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4;
/** This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. */
command access(invoke: administer) SetTCAcknowledgements(SetTCAcknowledgementsRequest): SetTCAcknowledgementsResponse = 6;
}

/** Functionality to configure, enable, disable network credentials and access on a Matter device. */
Expand Down
Loading

0 comments on commit 924ad8f

Please sign in to comment.