@@ -94,8 +94,7 @@ int8_t RefrigeratorManager::ConvertToPrintableTemp(int16_t temperature)
94
94
return static_cast <int8_t >(temperature / 100 );
95
95
}
96
96
97
- void RefrigeratorManager::RefAndTempCtrlAttributeChangeHandler (EndpointId endpointId, AttributeId attributeId, uint8_t * value,
98
- uint16_t size)
97
+ void RefrigeratorManager::RefAndTempCtrlAttributeChangeHandler (EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size)
99
98
{
100
99
switch (attributeId)
101
100
{
@@ -118,62 +117,51 @@ void RefrigeratorManager::RefAndTempCtrlAttributeChangeHandler(EndpointId endpoi
118
117
break ;
119
118
120
119
default : {
121
- SILABS_LOG ( " Unhandled Refrigerator and Temprature attribute %x" , attributeId);
120
+ ChipLogDetail (AppServer, " Unhandled Refrigerator and Temprature attribute %x" , attributeId);
122
121
return ;
123
122
}
124
123
break ;
125
124
}
126
125
}
127
126
128
- void RefrigeratorManager::TempCtrlAttributeChangeHandler (EndpointId endpointId, AttributeId attributeId, uint8_t * value,
129
- uint16_t size)
127
+ void RefrigeratorManager::TempCtrlAttributeChangeHandler (EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size)
130
128
{
131
129
switch (attributeId)
132
130
{
133
- case TempCtrlAttr::TemperatureSetpoint::Id: {
134
- int16_t temperatureSetpoint = ConvertToPrintableTemp (*((int16_t *) value));
135
- mTemperatureSetpoint = temperatureSetpoint;
136
- TempCtrlAttr::TemperatureSetpoint::Set (endpointId, temperatureSetpoint);
137
- }
138
- break ;
131
+ case TempCtrlAttr::TemperatureSetpoint::Id:
132
+ HandleTemperatureAttribute (mTemperatureSetpoint , static_cast <int16_t *>(value), TempCtrlAttr::TemperatureSetpoint::Set, endpointId);
133
+ break ;
139
134
140
- case TempCtrlAttr::MinTemperature::Id: {
141
- int16_t minTemperature = ConvertToPrintableTemp (*((int16_t *) value));
142
- mMinTemperature = minTemperature;
143
- TempCtrlAttr::MinTemperature::Set (endpointId, minTemperature);
144
- }
145
- break ;
135
+ case TempCtrlAttr::MinTemperature::Id:
136
+ HandleTemperatureAttribute (mMinTemperature , static_cast <int16_t *>(value), TempCtrlAttr::MinTemperature::Set, endpointId);
137
+ break ;
146
138
147
- case TempCtrlAttr::MaxTemperature::Id: {
148
- int16_t maxTemperature = ConvertToPrintableTemp (*((int16_t *) value));
149
- mMaxTemperature = maxTemperature;
150
- TempCtrlAttr::MaxTemperature::Set (endpointId, maxTemperature);
151
- }
152
- break ;
139
+ case TempCtrlAttr::MaxTemperature::Id:
140
+ HandleTemperatureAttribute (mMaxTemperature , static_cast <int16_t *>(value), TempCtrlAttr::MaxTemperature::Set, endpointId);
141
+ break ;
153
142
154
- case TempCtrlAttr::SelectedTemperatureLevel::Id: {
155
- int16_t selectedTemperatureLevel = ConvertToPrintableTemp (*((int16_t *) value));
156
- mSelectedTemperatureLevel = selectedTemperatureLevel;
157
- TempCtrlAttr::SelectedTemperatureLevel::Set (endpointId, selectedTemperatureLevel);
158
- }
159
- break ;
143
+ case TempCtrlAttr::SelectedTemperatureLevel::Id:
144
+ HandleTemperatureAttribute (mSelectedTemperatureLevel , static_cast <int16_t *>(value), TempCtrlAttr::SelectedTemperatureLevel::Set, endpointId);
145
+ break ;
160
146
161
- case TempCtrlAttr::Step::Id: {
162
- int16_t step = ConvertToPrintableTemp (*((int16_t *) value));
163
- TempCtrlAttr::MaxTemperature::Set (endpointId, step);
164
- }
165
- break ;
147
+ case TempCtrlAttr::Step::Id:
148
+ int16_t step = ConvertToPrintableTemp (*static_cast <int16_t *>(value));
149
+ TempCtrlAttr::Step::Set (endpointId, step);
150
+ break ;
166
151
167
- default : {
168
- SILABS_LOG (" Unhandled Temprature controlled attribute %x" , attributeId);
169
- return ;
170
- }
171
- break ;
152
+ default :
153
+ ChipLogDetail (AppServer, " Unhandled Temperature-controlled attribute %x" , attributeId);
154
+ return ;
172
155
}
173
156
}
174
157
175
- void RefrigeratorManager::RefAlaramAttributeChangeHandler (EndpointId endpointId, AttributeId attributeId, uint8_t * value,
176
- uint16_t size)
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);
162
+ }
163
+
164
+ void RefrigeratorManager::RefAlaramAttributeChangeHandler (EndpointId endpointId, AttributeId attributeId, uint8_t * value, uint16_t size)
177
165
{
178
166
switch (attributeId)
179
167
{
@@ -199,7 +187,7 @@ void RefrigeratorManager::RefAlaramAttributeChangeHandler(EndpointId endpointId,
199
187
break ;
200
188
201
189
default : {
202
- SILABS_LOG ( " Unhandled Refrigerator Alarm attribute %x" , attributeId);
190
+ ChipLogDetail (AppServer, " Unhandled Refrigerator Alarm attribute %x" , attributeId);
203
191
return ;
204
192
}
205
193
break ;
0 commit comments