Skip to content

Commit aaa8aa2

Browse files
committed
Added changes according to comment
1 parent 82d4ecf commit aaa8aa2

File tree

2 files changed

+39
-30
lines changed

2 files changed

+39
-30
lines changed

examples/refrigerator-app/silabs/include/RefrigeratorManager.h

-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ class RefrigeratorManager
5555
void RefAndTempCtrlAttributeChangeHandler(EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size);
5656
void TempCtrlAttributeChangeHandler(EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size);
5757
void RefAlaramAttributeChangeHandler(EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size);
58-
void HandleTemperatureAttribute(int16_t& target, const int16_t* value, const auto& attributeSetFunc, EndpointId endpointId)
5958
uint8_t GetMode();
6059
int8_t GetCurrentTemp();
6160
int8_t SetMode();

examples/refrigerator-app/silabs/src/RefrigeratorManager.cpp

+39-29
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ void RefrigeratorManager::RefAndTempCtrlAttributeChangeHandler(EndpointId endpoi
117117
break;
118118

119119
default: {
120-
ChipLogDetail(AppServer, "Unhandled Refrigerator and Temprature attribute %x", attributeId);
120+
ChipLogDetail(AppServer, "Unhandled Refrigerator and Temprature attribute %d", attributeId);
121121
return;
122122
}
123123
break;
@@ -128,37 +128,47 @@ void RefrigeratorManager::TempCtrlAttributeChangeHandler(EndpointId endpointId,
128128
{
129129
switch (attributeId)
130130
{
131-
case TempCtrlAttr::TemperatureSetpoint::Id:
132-
HandleTemperatureAttribute(mTemperatureSetpoint, static_cast<int16_t*>(value), TempCtrlAttr::TemperatureSetpoint::Set, endpointId);
133-
break;
134-
135-
case TempCtrlAttr::MinTemperature::Id:
136-
HandleTemperatureAttribute(mMinTemperature, static_cast<int16_t*>(value), TempCtrlAttr::MinTemperature::Set, endpointId);
137-
break;
138-
139-
case TempCtrlAttr::MaxTemperature::Id:
140-
HandleTemperatureAttribute(mMaxTemperature, static_cast<int16_t*>(value), TempCtrlAttr::MaxTemperature::Set, endpointId);
141-
break;
142-
143-
case TempCtrlAttr::SelectedTemperatureLevel::Id:
144-
HandleTemperatureAttribute(mSelectedTemperatureLevel, static_cast<int16_t*>(value), TempCtrlAttr::SelectedTemperatureLevel::Set, endpointId);
145-
break;
146-
147-
case TempCtrlAttr::Step::Id:
148-
int16_t step = ConvertToPrintableTemp(*static_cast<int16_t*>(value));
149-
TempCtrlAttr::Step::Set(endpointId, step);
150-
break;
151-
152-
default:
153-
ChipLogDetail(AppServer, "Unhandled Temperature-controlled attribute %x", attributeId);
131+
case TempCtrlAttr::TemperatureSetpoint::Id: {
132+
int16_t temperatureSetpoint = ConvertToPrintableTemp(static_cast<int16_t>(*value));
133+
mTemperatureSetpoint = temperatureSetpoint;
134+
TempCtrlAttr::TemperatureSetpoint::Set(endpointId, temperatureSetpoint);
135+
}
136+
break;
137+
138+
case TempCtrlAttr::MinTemperature::Id: {
139+
int16_t minTemperature = ConvertToPrintableTemp(static_cast<int16_t>(*value));
140+
mMinTemperature = minTemperature;
141+
TempCtrlAttr::MinTemperature::Set(endpointId, minTemperature);
142+
}
143+
break;
144+
145+
case TempCtrlAttr::MaxTemperature::Id: {
146+
int16_t maxTemperature = ConvertToPrintableTemp(static_cast<int16_t>(*value));
147+
mMaxTemperature = maxTemperature;
148+
TempCtrlAttr::MaxTemperature::Set(endpointId, maxTemperature);
149+
}
150+
break;
151+
152+
case TempCtrlAttr::SelectedTemperatureLevel::Id: {
153+
int16_t selectedTemperatureLevel = ConvertToPrintableTemp(static_cast<int16_t>(*value));
154+
mSelectedTemperatureLevel = selectedTemperatureLevel;
155+
TempCtrlAttr::SelectedTemperatureLevel::Set(endpointId, selectedTemperatureLevel);
156+
}
157+
break;
158+
159+
case TempCtrlAttr::Step::Id: {
160+
int16_t step = ConvertToPrintableTemp(static_cast<int16_t>(*value));
161+
TempCtrlAttr::MaxTemperature::Set(endpointId, step);
162+
}
163+
break;
164+
165+
default: {
166+
ChipLogDetail(AppServer, "Unhandled Temprature controlled attribute %d", attributeId);
154167
return;
168+
}
169+
break;
155170
}
156-
}
157171

158-
void HandleTemperatureAttribute(int16_t& target, const int16_t* value, const auto& attributeSetFunc, EndpointId endpointId) {
159-
int16_t tempValue = ConvertToPrintableTemp(*value);
160-
target = tempValue;
161-
attributeSetFunc(endpointId, tempValue);
162172
}
163173

164174
void RefrigeratorManager::RefAlaramAttributeChangeHandler(EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size)

0 commit comments

Comments
 (0)