nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
simulated_temperature_sensor_data_provider.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7#pragma once
8
10
11#include <zephyr/kernel.h>
12
14public:
16 InvokeCommandCallback commandCallback)
17 : Nrf::BridgedDeviceDataProvider(updateCallback, commandCallback)
18 {
19 }
20 ~SimulatedTemperatureSensorDataProvider() { k_timer_stop(&mTimer); }
21
22 void Init() override;
23 void NotifyUpdateState(chip::ClusterId clusterId, chip::AttributeId attributeId, void *data,
24 size_t dataSize) override;
25 CHIP_ERROR UpdateState(chip::ClusterId clusterId, chip::AttributeId attributeId, uint8_t *buffer) override;
26
27private:
28 static constexpr uint16_t kMeasurementsIntervalMs = 10000;
29 static constexpr int16_t kMinRandomTemperature = -1000;
30 static constexpr int16_t kMaxRandomTemperature = 1000;
31
32 static void TimerTimeoutCallback(k_timer *timer);
33
34 k_timer mTimer;
35 int16_t mTemperature = 0;
36};
BridgedDeviceDataProvider(UpdateAttributeCallback updateCallback, InvokeCommandCallback commandCallback=nullptr)
Definition bridged_device_data_provider.h:26
void(*)(BridgedDeviceDataProvider &dataProvider, chip::ClusterId clusterId, chip::CommandId commandId, Nrf::Matter::BindingHandler::InvokeCommand invokeCommand) InvokeCommandCallback
Definition bridged_device_data_provider.h:22
void(*)(BridgedDeviceDataProvider &dataProvider, chip::ClusterId clusterId, chip::AttributeId attributeId, void *data, size_t dataSize) UpdateAttributeCallback
Definition bridged_device_data_provider.h:19
Definition bridged_device_data_provider.h:17
SimulatedTemperatureSensorDataProvider(UpdateAttributeCallback updateCallback, InvokeCommandCallback commandCallback)
Definition simulated_temperature_sensor_data_provider.h:15
~SimulatedTemperatureSensorDataProvider()
Definition simulated_temperature_sensor_data_provider.h:20
void NotifyUpdateState(chip::ClusterId clusterId, chip::AttributeId attributeId, void *data, size_t dataSize) override
CHIP_ERROR UpdateState(chip::ClusterId clusterId, chip::AttributeId attributeId, uint8_t *buffer) override
Definition simulated_temperature_sensor_data_provider.h:13
Definition ble_connectivity_manager.h:21