GPIOTHS(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

✨ NAME ✨

okay so welcome to the GPIOTHS(4) page from the Kernel Interfaces Manual β€” this is the tea on gpioths, the driver for DHTxx and AM320x temperature and humidity sensors. πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

bestie, if you want this compiled into the kernel, drop this line into your kernel configuration file:

device gpioths

or, if you’d rather load the driver as a module at boot time, put this in loader.conf(5):

gpioths_load="YES"

🌸 DESCRIPTION 🌸

The gpioths driver supports the DHTxx and AM320x family of temperature and humidity sensors. The driver automatically reads the values from the sensor once every 5 seconds, and makes the results available via sysctl(8) variables. ✨

πŸ¦‹ HARDWARE πŸ¦‹

The gpioths driver provides support for these devices, no cap:

  • DHT11, DHT12
  • DHT21, DHT22
  • AM3201, AM3202

The supported devices are all similar to each other, varying primarily in accuracy and resolution. The devices require a single wire for data communications, using a custom protocol which is not compatible with Maxim's 1-wire(tm). The AM320x devices also support connection to an i2c bus, but this driver supports only the single-wire connection option. πŸ’…

πŸŽ€ SYSCTL VARIABLES πŸŽ€

Sysctl variables are used to access the most recent temperature and humidity measurements.

  • dev.gpioths.<unit>.temperature β€” the current temperature in integer deciKelvins. Note that sysctl(8) will convert those units to display in decimal degrees Celsius.
  • dev.gpioths.<unit>.humidity β€” the current relative humidity, as an integer percentage.
  • dev.gpioths.<unit>.fails β€” the number of failed attempts to communicate with the sensor since the last good access. Cleared whenever a set of measurements is successfully retrieved.

🌈 FDT CONFIGURATION 🌈

On an fdt(4) based system, a gpioths device node is typically defined directly under the root node, or under a simplebus node that represents a collection of devices on a board.

The following properties are required in the gpioths device subnode:

  • compatible β€” must be "dht11".
  • gpios β€” a reference to the gpio device and pin for data communications.

🌟 Example of adding a sensor with an overlay 🌟

             /dts-v1/;
             /plugin/;
             #include <dt-bindings/gpio/gpio.h>

             / {
                 compatible = "wand,imx6q-wandboard";
             };

             &{/} {
                 dht0 {
                     compatible = "dht11";
                     gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
                 };
             };

🧚 HINTS CONFIGURATION 🧚

On a device.hints(5) based system, such as MIPS, these values are configurable for gpioths:

  • hint.gpioths.<unit>.at β€” the gpiobus(4) instance the gpioths instance is attached to.
  • hint.gpioths.pins β€” a bitmask with a single bit set to indicate which gpio pin on the gpiobus(4) to use for data communications.

πŸ’œ SEE ALSO πŸ’œ

πŸ‘‘ HISTORY πŸ‘‘

The gpioths driver first appeared in FreeBSD 11.1. periodt. 🫢


πŸ’Œ cute little sign-off, bestie: footer source/version is Debian, the date is December 8, 2019, and the page is GPIOTHS(4). slay. πŸ’…

πŸ“¦ where this page comes from