28__subsystem
struct emul_sensor_driver_api {
79 struct emul_sensor_driver_api *api = (
struct emul_sensor_driver_api *)target->
backend_api;
81 if (api->set_channel) {
82 return api->set_channel(target, ch, value, shift);
112 struct emul_sensor_driver_api *api = (
struct emul_sensor_driver_api *)target->
backend_api;
114 if (api->get_sample_range) {
115 return api->get_sample_range(target, ch, lower, upper, epsilon, shift);
139 struct emul_sensor_driver_api *api = (
struct emul_sensor_driver_api *)target->
backend_api;
141 if (api->set_attribute == NULL) {
144 return api->set_attribute(target, ch, attribute, value);
174 struct emul_sensor_driver_api *api = (
struct emul_sensor_driver_api *)target->
backend_api;
176 if (api->get_attribute_metadata == NULL) {
179 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_get_sample_range(const struct emul *target, struct sensor_chan_spec 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:104
static int emul_sensor_backend_get_attribute_metadata(const struct emul *target, struct sensor_chan_spec 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:164
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
static int emul_sensor_backend_set_channel(const struct emul *target, struct sensor_chan_spec 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_set_attribute(const struct emul *target, struct sensor_chan_spec ch, enum sensor_attribute attribute, const void *value)
Set the emulator's attribute values.
Definition: emul_sensor.h:130
sensor_attribute
Sensor attribute types.
Definition: sensor.h:294
#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
Sensor Channel Specification.
Definition: sensor.h:429