Skip to content

Commit c65feae

Browse files
committed
using schedulework
1 parent c6f6c8d commit c65feae

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

examples/air-quality-sensor-app/silabs/src/SensorManager.cpp

+7-10
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,7 @@ AirQualityEnum classifyAirQuality(int32_t value)
9999

100100
CHIP_ERROR SensorManager::Init()
101101
{
102-
103-
PlatformMgr().LockChipStack();
104-
ChipLogDetail(AppServer, "Int instnace");
105-
AirQualitySensorManager::InitInstance();
106-
PlatformMgr().UnlockChipStack();
107-
ChipLogDetail(AppServer, "Int instnace success");
102+
DeviceLayer::PlatformMgr().ScheduleWork(AirQualitySensorManager::InitInstance);
108103
// Create cmsisos sw timer for air quality sensor timer.
109104
mSensorTimer = osTimerNew(SensorTimerEventHandler, osTimerPeriodic, nullptr, nullptr);
110105
if (mSensorTimer == NULL)
@@ -165,12 +160,14 @@ void SensorManager::SensorTimerEventHandler(void * arg)
165160
}
166161
#endif // USE_AIR_QUALITY_SENSOR
167162

163+
DeviceLayer::PlatformMgr().ScheduleWork(AirQualitySensorManager::GetInstance()->OnAirQualityChangeHandler,
164+
classifyAirQuality(air_quality));
165+
168166
PlatformMgr().LockChipStack();
169-
AirQualitySensorManager::GetInstance()->OnAirQualityChangeHandler(classifyAirQuality(air_quality));
167+
ChipLogDetail(AppServer, "RAW AirQuality value: %ld and corresponding Enum value : %d", air_quality,
168+
chip::to_underlying(AirQualitySensorManager::GetInstance()->GetAirQuality()));
170169
PlatformMgr().UnlockChipStack();
171170

172-
AppTask::GetAppTask().UpdateAirQualitySensorUI();
173171

174-
ChipLogDetail(AppServer, "RAW AirQuality value: %ld and corresponding Enum value : %d", air_quality,
175-
chip::to_underlying(AirQualitySensorManager::GetInstance()->GetAirQuality()));
172+
AppTask::GetAppTask().UpdateAirQualitySensorUI();
176173
}

0 commit comments

Comments
 (0)