From c134f1d656eca8935a635c875182a7ee97bafc94 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Thu, 23 Mar 2023 16:00:08 -0400 Subject: [PATCH] Stop generating a weakly typed enum for HardwareFaultEnum. (#25806) --- .../linux/AllClustersCommandDelegate.cpp | 14 ++++++++------ .../GenericFaultTestEventTriggerDelegate.cpp | 15 ++++++++------- src/app/common/templates/config-data.yaml | 1 - .../Linux/DiagnosticDataProviderImpl.cpp | 8 ++++---- .../BL702/DiagnosticDataProviderImpl.cpp | 8 ++++---- .../cc13x2_26x2/DiagnosticDataProviderImpl.cpp | 10 ++++++---- .../mt793x/DiagnosticDataProviderImpl.cpp | 8 ++++---- src/platform/qpg/DiagnosticDataProviderImpl.cpp | 10 ++++++---- .../silabs/DiagnosticDataProviderImpl.cpp | 8 ++++---- .../webos/DiagnosticDataProviderImpl.cpp | 8 ++++---- .../zap-generated/cluster-enums-check.h | 16 ---------------- .../app-common/zap-generated/cluster-enums.h | 7 ------- .../app-common/app-common/zap-generated/enums.h | 16 ---------------- 13 files changed, 48 insertions(+), 81 deletions(-) diff --git a/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp b/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp index da9f7884d094e1..0bd2a859f936af 100644 --- a/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp +++ b/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp @@ -182,14 +182,16 @@ void AllClustersAppCommandHandler::OnGeneralFaultEventHandler(uint32_t eventId) GeneralFaults current; #if CHIP_CONFIG_TEST + using GeneralDiagnostics::HardwareFaultEnum; + // On Linux Simulation, set following hardware faults statically. - ReturnOnFailure(previous.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnOnFailure(previous.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); + ReturnOnFailure(previous.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnOnFailure(previous.add(to_underlying(HardwareFaultEnum::kPowerSource))); - ReturnOnFailure(current.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnOnFailure(current.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR)); - ReturnOnFailure(current.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - ReturnOnFailure(current.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT)); + ReturnOnFailure(current.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnOnFailure(current.add(to_underlying(HardwareFaultEnum::kSensor))); + ReturnOnFailure(current.add(to_underlying(HardwareFaultEnum::kPowerSource))); + ReturnOnFailure(current.add(to_underlying(HardwareFaultEnum::kUserInterfaceFault))); #endif Clusters::GeneralDiagnosticsServer::Instance().OnHardwareFaultsDetect(previous, current); } diff --git a/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp b/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp index f1fa7488fd9e88..3d4fd54f5b8b4b 100644 --- a/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp +++ b/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp @@ -38,13 +38,14 @@ CHIP_ERROR GenericFaultTestEventTriggerDelegate::HandleEventTrigger(uint64_t eve // Fault injection GeneralFaults hwFaultsPrevious; GeneralFaults hwFaultsCurrent; - ReturnErrorOnFailure(hwFaultsPrevious.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnErrorOnFailure(hwFaultsPrevious.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - - ReturnErrorOnFailure(hwFaultsCurrent.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnErrorOnFailure(hwFaultsCurrent.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR)); - ReturnErrorOnFailure(hwFaultsCurrent.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - ReturnErrorOnFailure(hwFaultsCurrent.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT)); + using app::Clusters::GeneralDiagnostics::HardwareFaultEnum; + ReturnErrorOnFailure(hwFaultsPrevious.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnErrorOnFailure(hwFaultsPrevious.add(to_underlying(HardwareFaultEnum::kPowerSource))); + + ReturnErrorOnFailure(hwFaultsCurrent.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnErrorOnFailure(hwFaultsCurrent.add(to_underlying(HardwareFaultEnum::kSensor))); + ReturnErrorOnFailure(hwFaultsCurrent.add(to_underlying(HardwareFaultEnum::kPowerSource))); + ReturnErrorOnFailure(hwFaultsCurrent.add(to_underlying(HardwareFaultEnum::kUserInterfaceFault))); app::Clusters::GeneralDiagnosticsServer::Instance().OnHardwareFaultsDetect(hwFaultsPrevious, hwFaultsCurrent); diff --git a/src/app/common/templates/config-data.yaml b/src/app/common/templates/config-data.yaml index ad09163530c4d3..6b200cba2300c3 100644 --- a/src/app/common/templates/config-data.yaml +++ b/src/app/common/templates/config-data.yaml @@ -6,7 +6,6 @@ WeakEnums: - ColorControlOptions - ColorMode - EnhancedColorMode - - HardwareFaultEnum - IdentifyEffectIdentifier - IdentifyEffectVariant - IdentifyIdentifyType diff --git a/src/platform/Linux/DiagnosticDataProviderImpl.cpp b/src/platform/Linux/DiagnosticDataProviderImpl.cpp index 08a42a599da0f2..fb8fddf0d2be6b 100644 --- a/src/platform/Linux/DiagnosticDataProviderImpl.cpp +++ b/src/platform/Linux/DiagnosticDataProviderImpl.cpp @@ -400,10 +400,10 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetActiveHardwareFaults(GeneralFaults & hardwareFaults) { #if CHIP_CONFIG_TEST - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT)); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kSensor))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kPowerSource))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kUserInterfaceFault))); #endif return CHIP_NO_ERROR; diff --git a/src/platform/cc13x2_26x2/DiagnosticDataProviderImpl.cpp b/src/platform/cc13x2_26x2/DiagnosticDataProviderImpl.cpp index 78042b70073313..323ca605221ae4 100644 --- a/src/platform/cc13x2_26x2/DiagnosticDataProviderImpl.cpp +++ b/src/platform/cc13x2_26x2/DiagnosticDataProviderImpl.cpp @@ -205,10 +205,12 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetTotalOperationalHours(uint32_t & total CHIP_ERROR DiagnosticDataProviderImpl::GetActiveHardwareFaults(GeneralFaults & hardwareFaults) { #if CHIP_CONFIG_TEST - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT)); + using app::Clusters::GeneralDiagnostics::HardwareFaultEnum; + + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kSensor))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kPowerSource))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kUserInterfaceFault))); #endif return CHIP_NO_ERROR; diff --git a/src/platform/mt793x/DiagnosticDataProviderImpl.cpp b/src/platform/mt793x/DiagnosticDataProviderImpl.cpp index ba91779bed0047..faf5407c832b54 100644 --- a/src/platform/mt793x/DiagnosticDataProviderImpl.cpp +++ b/src/platform/mt793x/DiagnosticDataProviderImpl.cpp @@ -170,10 +170,10 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetTotalOperationalHours(uint32_t & total CHIP_ERROR DiagnosticDataProviderImpl::GetActiveHardwareFaults(GeneralFaults & hardwareFaults) { #if CHIP_CONFIG_TEST - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT)); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kSensor))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kPowerSource))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kUserInterfaceFault))); #endif return CHIP_NO_ERROR; diff --git a/src/platform/qpg/DiagnosticDataProviderImpl.cpp b/src/platform/qpg/DiagnosticDataProviderImpl.cpp index 18c3f60efa18bb..01f58a4d179f10 100644 --- a/src/platform/qpg/DiagnosticDataProviderImpl.cpp +++ b/src/platform/qpg/DiagnosticDataProviderImpl.cpp @@ -145,10 +145,12 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetActiveHardwareFaults(GeneralFaults & hardwareFaults) { #if CHIP_CONFIG_TEST - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE)); - ReturnErrorOnFailure(hardwareFaults.add(EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT)); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kRadio))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kSensor))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kPowerSource))); + ReturnErrorOnFailure(hardwareFaults.add(to_underlying(HardwareFaultEnum::kUserInterfaceFault))); #endif return CHIP_NO_ERROR; diff --git a/src/platform/webos/DiagnosticDataProviderImpl.cpp b/src/platform/webos/DiagnosticDataProviderImpl.cpp index dc4e534f40e18c..588b23c5009087 100644 --- a/src/platform/webos/DiagnosticDataProviderImpl.cpp +++ b/src/platform/webos/DiagnosticDataProviderImpl.cpp @@ -386,10 +386,10 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetActiveHardwareFaults(GeneralFaults(11); diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index dea6a250b6984b..2f6c245d6bf508 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -941,9 +941,6 @@ enum class BootReasonEnum : uint8_t kUnknownEnumValue = 7, }; -// Need to convert consumers to using the new enum classes, so we -// don't just have casts all over. -#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for HardwareFaultEnum enum class HardwareFaultEnum : uint8_t { @@ -964,10 +961,6 @@ enum class HardwareFaultEnum : uint8_t // enum value. This specific should never be transmitted. kUnknownEnumValue = 11, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using HardwareFaultEnum = EmberAfHardwareFaultEnum; -static HardwareFaultEnum __attribute__((unused)) kHardwareFaultEnumkUnknownEnumValue = static_cast(11); -#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. diff --git a/zzz_generated/app-common/app-common/zap-generated/enums.h b/zzz_generated/app-common/app-common/zap-generated/enums.h index f5db3095fa6e28..1d4e9928b33b0c 100644 --- a/zzz_generated/app-common/app-common/zap-generated/enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/enums.h @@ -63,22 +63,6 @@ enum EmberAfEnhancedColorMode : uint8_t EMBER_ZCL_ENHANCED_COLOR_MODE_ENHANCED_CURRENT_HUE_AND_CURRENT_SATURATION = 3, }; -// Enum for HardwareFaultEnum -enum EmberAfHardwareFaultEnum : uint8_t -{ - EMBER_ZCL_HARDWARE_FAULT_ENUM_UNSPECIFIED = 0, - EMBER_ZCL_HARDWARE_FAULT_ENUM_RADIO = 1, - EMBER_ZCL_HARDWARE_FAULT_ENUM_SENSOR = 2, - EMBER_ZCL_HARDWARE_FAULT_ENUM_RESETTABLE_OVER_TEMP = 3, - EMBER_ZCL_HARDWARE_FAULT_ENUM_NON_RESETTABLE_OVER_TEMP = 4, - EMBER_ZCL_HARDWARE_FAULT_ENUM_POWER_SOURCE = 5, - EMBER_ZCL_HARDWARE_FAULT_ENUM_VISUAL_DISPLAY_FAULT = 6, - EMBER_ZCL_HARDWARE_FAULT_ENUM_AUDIO_OUTPUT_FAULT = 7, - EMBER_ZCL_HARDWARE_FAULT_ENUM_USER_INTERFACE_FAULT = 8, - EMBER_ZCL_HARDWARE_FAULT_ENUM_NON_VOLATILE_MEMORY_ERROR = 9, - EMBER_ZCL_HARDWARE_FAULT_ENUM_TAMPER_DETECTED = 10, -}; - // Enum for IdentifyEffectIdentifier enum EmberAfIdentifyEffectIdentifier : uint8_t {