zephyr/samples/sensor/adt7420
Keith Packard 0b90fd5adf samples, tests, boards: Switch main return type from void to int
As both C and C++ standards require applications running under an OS to
return 'int', adapt that for Zephyr to align with those standard. This also
eliminates errors when building with clang when not using -ffreestanding,
and reduces the need for compiler flags to silence warnings for both clang
and gcc.

Most of these changes were automated using coccinelle with the following
script:

@@
@@
- void
+ int
main(...) {
	...
-	return;
+	return 0;
	...
}

Approximately 40 files had to be edited by hand as coccinelle was unable to
fix them.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-14 07:49:41 +09:00
..
boards
src
CMakeLists.txt
README.rst
prj.conf
sample.yaml

README.rst

.. _adt7420:

ADT7420: High accuracy digital I2C temperature sensor
#####################################################

Description
***********

This sample application periodically (1Hz) measures the ambient temperature
in degrees Celsius. The result is written to the console.

When configured in trigger mode the update interval is 5 s, and the
sample maintains a |plusminus| 1 |deg| C window around a recent
temperature.  As soon as the temperature goes outside the window an
interrupt causes the application to display an event and update the
upper and lower window boundaries.

References
**********

 - ADT7420: http://www.analog.com/adt7420

Wiring
*******

This sample uses the ADT7420 sensor controlled using the I2C interface.
Connect Supply: **VDD**, **GND** and Interface: **SDA**, **SCL**
and optionally connect the **INT** to a interrupt capable GPIO.
The supply voltage can be in the 2.7V to 5.5V range.
Depending on the baseboard used, the **SDA** and **SCL** lines require Pull-Up
resistors.

Building and Running
********************

This project outputs sensor data to the console. It requires an ADT7420
sensor. It should work with any platform featuring a I2C peripheral interface.
It does not work on QEMU.
In this example below the :ref:`nrf52dk_nrf52832` board is used.


.. zephyr-app-commands::
   :zephyr-app: samples/sensor/adt7420
   :board: nrf52dk_nrf52832
   :goals: build flash

Sample Output
=============

.. code-block:: console

   *** Booting Zephyr OS build zephyr-v2.1.0-538-g12b2ed2cf7c3  ***
   device is 0x2000101c, name is ADT7420
   [0:00:00.011]: temperature 21.203125 Cel
   [0:00:01.015]: temperature 21.171875 Cel
   [0:00:02.019]: temperature 21.171875 Cel
   [0:00:03.023]: temperature 21.187500 Cel
   [0:00:04.027]: temperature 21.140625 Cel

<repeats endlessly>