ret = ad7314_spi_read(chip); if (ret < 0) return ret; switch (spi_get_device_id(chip->spi_dev)->driver_data) { case ad7314: if (ret & AD7314_LEADING_ZEROS_MASK) { /* Invalid read-out, leading zero part is missing */ return -EIO;
}
data = (ret & AD7314_TEMP_MASK) >> AD7314_TEMP_SHIFT;
data = sign_extend32(data, 9);
return sprintf(buf, "%d\n", 250 * data); case adt7301: case adt7302: if (ret & ADT7301_LEADING_ZEROS_MASK) { /* Invalid read-out, leading zero part is missing */ return -EIO;
} /* *Documentedasa13bittwoscomplementregister *withasignbit-whichisa14bit2'scomplement *register.1lsb-31.25millidegreescentigrade
*/
data = ret & ADT7301_TEMP_MASK;
data = sign_extend32(data, 13);
MODULE_AUTHOR("Sonic Zhang <sonic.zhang@analog.com>");
MODULE_DESCRIPTION("Analog Devices AD7314, ADT7301 and ADT7302 digital temperature sensor driver");
MODULE_LICENSE("GPL v2");
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-09-28)
¤
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.