Skip to content

Commit c60968b

Browse files
committed
Merge branch 'fix_generic_switch_feature_check_error' into 'main'
components/esp-matter: fix generic switch feature check error See merge request app-frameworks/esp-matter!997
2 parents 4c71deb + 87b3168 commit c60968b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

components/esp_matter/esp_matter_feature.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -2805,7 +2805,7 @@ esp_err_t add(cluster_t *cluster)
28052805
uint32_t as_feature_map = feature::action_switch::get_id();
28062806
uint32_t ms_feature_map = feature::momentary_switch::get_id();
28072807
uint32_t feature_map = get_feature_map_value(cluster);
2808-
VerifyOrReturnError(((feature_map & ms_feature_map) != ms_feature_map) || ((feature_map & as_feature_map) == as_feature_map), ESP_ERR_NOT_SUPPORTED, ESP_LOGE(TAG, "Momentary switch release is not supported."));
2808+
VerifyOrReturnError(((feature_map & ms_feature_map) == ms_feature_map) && ((feature_map & as_feature_map) != as_feature_map), ESP_ERR_NOT_SUPPORTED, ESP_LOGE(TAG, "Momentary switch release is not supported."));
28092809
update_feature_map(cluster, get_id());
28102810

28112811
event::create_short_release(cluster);
@@ -2827,8 +2827,8 @@ esp_err_t add(cluster_t *cluster)
28272827
uint32_t as_feature_map = feature::action_switch::get_id();
28282828
uint32_t ms_feature_map = feature::momentary_switch::get_id();
28292829
uint32_t feature_map = get_feature_map_value(cluster);
2830-
VerifyOrReturnError((feature_map & ms_feature_map) != ms_feature_map, ESP_ERR_NOT_SUPPORTED, ESP_LOGE(TAG, "Momentary switch long press is not supported."));
2831-
VerifyOrReturnError(((feature_map & msr_feature_map) != msr_feature_map) && ((feature_map & as_feature_map) != as_feature_map), ESP_ERR_NOT_SUPPORTED, ESP_LOGE(TAG, "Momentary switch long press is not supported."));
2830+
VerifyOrReturnError((feature_map & ms_feature_map) == ms_feature_map, ESP_ERR_NOT_SUPPORTED, ESP_LOGE(TAG, "Momentary switch long press is not supported."));
2831+
VerifyOrReturnError(((feature_map & msr_feature_map) == msr_feature_map) || ((feature_map & as_feature_map) == as_feature_map), ESP_ERR_NOT_SUPPORTED, ESP_LOGE(TAG, "Momentary switch long press is not supported."));
28322832
update_feature_map(cluster, get_id());
28332833

28342834
event::create_long_press(cluster);

0 commit comments

Comments
 (0)