tests: drivers: sensor: add test case for getting a sensor attribute
Add test case for getting the value of a sensor attribute. Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
parent
696fc3afbf
commit
0997265111
2 changed files with 34 additions and 2 deletions
|
@ -104,13 +104,33 @@ int dummy_sensor_attr_set(struct device *dev,
|
|||
{
|
||||
struct dummy_sensor_data *data = dev->driver_data;
|
||||
|
||||
if (chan == SENSOR_CHAN_PROX) {
|
||||
if (chan == SENSOR_CHAN_PROX &&
|
||||
attr == SENSOR_ATTR_UPPER_THRESH) {
|
||||
data->val[4].val1 = val->val1;
|
||||
data->val[4].val2 = val->val2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int dummy_sensor_attr_get(struct device *dev,
|
||||
enum sensor_channel chan,
|
||||
enum sensor_attribute attr,
|
||||
struct sensor_value *val)
|
||||
{
|
||||
struct dummy_sensor_data *data = dev->driver_data;
|
||||
|
||||
if (chan == SENSOR_CHAN_PROX &&
|
||||
attr == SENSOR_ATTR_UPPER_THRESH) {
|
||||
val->val1 = data->val[4].val1;
|
||||
val->val2 = data->val[4].val2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int dummy_sensor_trigger_set(struct device *dev,
|
||||
const struct sensor_trigger *trig,
|
||||
sensor_trigger_handler_t handler)
|
||||
|
@ -140,6 +160,7 @@ static const struct sensor_driver_api dummy_sensor_api = {
|
|||
.sample_fetch = &dummy_sensor_sample_fetch,
|
||||
.channel_get = &dummy_sensor_channel_get,
|
||||
.attr_set = dummy_sensor_attr_set,
|
||||
.attr_get = dummy_sensor_attr_get,
|
||||
.trigger_set = dummy_sensor_trigger_set,
|
||||
};
|
||||
|
||||
|
|
|
@ -141,6 +141,17 @@ void test_sensor_handle_triggers(void)
|
|||
&trigger_elements[i].data),
|
||||
RETURN_SUCCESS, "fail to set attributes");
|
||||
|
||||
/* read-back attributes for trigger */
|
||||
zassert_equal(sensor_attr_get(dev,
|
||||
trigger_elements[i].trig.chan,
|
||||
trigger_elements[i].attr,
|
||||
&data),
|
||||
RETURN_SUCCESS, "fail to get attributes");
|
||||
zassert_equal(trigger_elements[i].data.val1,
|
||||
data.val1, "read-back returned wrong val1");
|
||||
zassert_equal(trigger_elements[i].data.val2,
|
||||
data.val2, "read-back returned wrong val2");
|
||||
|
||||
/* setting a sensor’s trigger and handler */
|
||||
zassert_equal(sensor_trigger_set(dev,
|
||||
&trigger_elements[i].trig,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue