Skip to content

Commit 3b4de3e

Browse files
committed
Setting min and max temperature for the controlled cabinet
1 parent b0706ca commit 3b4de3e

File tree

2 files changed

+13
-35
lines changed

2 files changed

+13
-35
lines changed

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

+5
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ using namespace chip::app::Clusters::RefrigeratorAndTemperatureControlledCabinet
3939
using namespace chip::DeviceLayer;
4040
using chip::Protocols::InteractionModel::Status;
4141

42+
#define MIN_TEMP_COLD_CABINATE 0
43+
#define MAX_TEMP_COLD_CABINATE 7
44+
#define MIN_TEMP_FREEZER_CABINATE -25
45+
#define MAX_TEMP_FREEZER_CABINATE -15
46+
4247
class RefrigeratorManager
4348
{
4449
public:

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

+8-35
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ EndpointId kRefEndpointId = 1;
4545
EndpointId kColdCabinetEndpointId = 2;
4646
EndpointId kFreezeCabinetEndpointId = 3;
4747

48+
49+
4850
RefrigeratorManager RefrigeratorManager::sRefrigeratorMgr;
4951

5052
namespace {
@@ -72,6 +74,11 @@ CHIP_ERROR RefrigeratorManager::Init()
7274
SetTagList(kColdCabinetEndpointId, Span<const Clusters::Descriptor::Structs::SemanticTagStruct::Type>(refrigeratorTagList));
7375
SetTagList(kFreezeCabinetEndpointId, Span<const Clusters::Descriptor::Structs::SemanticTagStruct::Type>(freezerTagList));
7476

77+
TempCtrlAttr::MinTemperature::Set(kColdCabinetEndpointId, MIN_TEMP_COLD_CABINATE);
78+
TempCtrlAttr::MaxTemperature::Set(kColdCabinetEndpointId, MAX_TEMP_COLD_CABINATE);
79+
TempCtrlAttr::MinTemperature::Set(kFreezeCabinetEndpointId, MIN_TEMP_FREEZER_CABINATE);
80+
TempCtrlAttr::MaxTemperature::Set(kFreezeCabinetEndpointId, MAX_TEMP_FREEZER_CABINATE);
81+
7582
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
7683
return CHIP_NO_ERROR;
7784
}
@@ -105,18 +112,6 @@ void RefrigeratorManager::RefAndTempCtrlAttributeChangeHandler(EndpointId endpoi
105112
}
106113
break;
107114

108-
case RefAndTempAttr::StartUpMode::Id: {
109-
int16_t startUpMode = static_cast<int16_t>(*value);
110-
mStartUpMode = startUpMode;
111-
}
112-
break;
113-
114-
case RefAndTempAttr::OnMode::Id: {
115-
int16_t onMode = static_cast<int16_t>(*value);
116-
mOnMode = onMode;
117-
}
118-
break;
119-
120115
default: {
121116
ChipLogError(AppServer, "Unhandled Refrigerator and Temperature attribute %ld", attributeId);
122117
return;
@@ -136,21 +131,6 @@ void RefrigeratorManager::TempCtrlAttributeChangeHandler(EndpointId endpointId,
136131
TempCtrlAttr::TemperatureSetpoint::Set(endpointId, temperatureSetpoint);
137132
}
138133
break;
139-
140-
case TempCtrlAttr::MinTemperature::Id: {
141-
int16_t minTemperature = ConvertToPrintableTemp(static_cast<int16_t>(*value));
142-
mMinTemperature = minTemperature;
143-
TempCtrlAttr::MinTemperature::Set(endpointId, minTemperature);
144-
}
145-
break;
146-
147-
case TempCtrlAttr::MaxTemperature::Id: {
148-
int16_t maxTemperature = ConvertToPrintableTemp(static_cast<int16_t>(*value));
149-
mMaxTemperature = maxTemperature;
150-
TempCtrlAttr::MaxTemperature::Set(endpointId, maxTemperature);
151-
}
152-
break;
153-
154134
default: {
155135
ChipLogError(AppServer, "Unhandled Temperature controlled attribute %ld", attributeId);
156136
return;
@@ -177,14 +157,7 @@ void RefrigeratorManager::RefAlaramAttributeChangeHandler(EndpointId endpointId,
177157
RefAlarmAttr::State::Set(endpointId, mState);
178158
}
179159
break;
180-
181-
case RefAlarmAttr::Supported::Id: {
182-
auto supported = static_cast<uint32_t>(*value);
183-
mSupported = static_cast<chip::app::Clusters::RefrigeratorAlarm::AlarmBitmap>(supported);
184-
RefAlarmAttr::Supported::Set(endpointId, mSupported);
185-
}
186-
break;
187-
160+
188161
default: {
189162
ChipLogError(AppServer, "Unhandled Refrigerator Alarm attribute %ld", attributeId);
190163
return;

0 commit comments

Comments
 (0)