staticint noa1305_read_raw(struct iio_dev *indio_dev, struct iio_chan_spec const *chan, int *val, int *val2, long mask)
{ struct noa1305_priv *priv = iio_priv(indio_dev);
if (chan->type != IIO_LIGHT) return -EINVAL;
switch (mask) { case IIO_CHAN_INFO_RAW: return noa1305_measure(priv, val); case IIO_CHAN_INFO_SCALE: return noa1305_scale(priv, val, val2); case IIO_CHAN_INFO_INT_TIME: return noa1305_int_time(priv, val, val2); default: return -EINVAL;
}
}
staticint noa1305_write_raw(struct iio_dev *indio_dev, struct iio_chan_spec const *chan, int val, int val2, long mask)
{ struct noa1305_priv *priv = iio_priv(indio_dev); int i;
if (chan->type != IIO_LIGHT) return -EINVAL;
if (mask != IIO_CHAN_INFO_INT_TIME) return -EINVAL;
if (val) /* >= 1s integration time not supported */ return -EINVAL;
/* Look up integration time register settings and write it if found. */ for (i = 0; i < ARRAY_SIZE(noa1305_int_time_available) / 2; i++) if (noa1305_int_time_available[2 * i + 1] == val2) return regmap_write(priv->regmap, NOA1305_REG_INTEGRATION_TIME, i);
staticbool noa1305_writable_reg(struct device *dev, unsignedint reg)
{ switch (reg) { case NOA1305_REG_POWER_CONTROL: case NOA1305_REG_RESET: case NOA1305_REG_INTEGRATION_TIME: case NOA1305_REG_INT_SELECT: case NOA1305_REG_INT_THRESH_LSB: case NOA1305_REG_INT_THRESH_MSB: returntrue; default: returnfalse;
}
}
ret = regmap_write(regmap, NOA1305_REG_POWER_CONTROL,
NOA1305_POWER_CONTROL_ON); if (ret < 0) {
dev_err(&client->dev, "Enabling power control failed\n"); return ret;
}
ret = regmap_write(regmap, NOA1305_REG_RESET, NOA1305_RESET_RESET); if (ret < 0) {
dev_err(&client->dev, "Device reset failed\n"); return ret;
}
ret = regmap_write(regmap, NOA1305_REG_INTEGRATION_TIME,
NOA1305_INTEGR_TIME_800MS); if (ret < 0) {
dev_err(&client->dev, "Setting integration time failed\n"); return ret;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.