28__subsystem
struct emul_sensor_backend_api {
78 struct emul_sensor_backend_api *api = (
struct emul_sensor_backend_api *)target->
backend_api;
80 if (api->set_channel) {
81 return api->set_channel(target, ch, value, shift);
111 struct emul_sensor_backend_api *api = (
struct emul_sensor_backend_api *)target->
backend_api;
113 if (api->get_sample_range) {
114 return api->get_sample_range(target, ch, lower, upper, epsilon, shift);
138 struct emul_sensor_backend_api *api = (
struct emul_sensor_backend_api *)target->
backend_api;
140 if (api->set_attribute == NULL) {
143 return api->set_attribute(target, ch, attribute, value);
173 struct emul_sensor_backend_api *api = (
struct emul_sensor_backend_api *)target->
backend_api;
175 if (api->get_attribute_metadata == NULL) {
178 return api->get_attribute_metadata(target, ch, attribute, min, max, increment, shift);
int32_t q31_t
32-bit fractional data type in 1.31 format.
Definition: types.h:35
static int emul_sensor_backend_set_attribute(const struct emul *target, enum sensor_channel ch, enum sensor_attribute attribute, const void *value)
Set the emulator's attribute values.
Definition: emul_sensor.h:129
static int emul_sensor_backend_set_channel(const struct emul *target, enum sensor_channel ch, const q31_t *value, int8_t shift)
Set an expected value for a given channel on a given sensor emulator.
Definition: emul_sensor.h:71
static int emul_sensor_backend_get_attribute_metadata(const struct emul *target, enum sensor_channel ch, enum sensor_attribute attribute, q31_t *min, q31_t *max, q31_t *increment, int8_t *shift)
Get metadata about an attribute.
Definition: emul_sensor.h:163
static int emul_sensor_backend_get_sample_range(const struct emul *target, enum sensor_channel ch, q31_t *lower, q31_t *upper, q31_t *epsilon, int8_t *shift)
Query an emulator for a channel's supported sample value range and tolerance.
Definition: emul_sensor.h:103
static bool emul_sensor_backend_is_supported(const struct emul *target)
Check if a given sensor emulator supports the backend API.
Definition: emul_sensor.h:54
sensor_attribute
Sensor attribute types.
Definition: sensor.h:290
sensor_channel
Sensor channels.
Definition: sensor.h:59
#define ENOTSUP
Unsupported value.
Definition: errno.h:115
Public APIs for the sensor driver.
__INT8_TYPE__ int8_t
Definition: stdint.h:72
An emulator instance - represents the target emulated device/peripheral that is interacted with throu...
Definition: emul.h:78
const void * backend_api
Address of the API structure exposed by the emulator instance.
Definition: emul.h:97