NAME Device::Chip::BME280 - chip driver for BME280 SYNOPSIS use Device::Chip::BME280; use Future::AsyncAwait; my $chip = Device::Chip::BME280->new; await $chip->mount( Device::Chip::Adapter::...->new ); await $chip->change_config( OSRS_H => 4, OSRS_P => 4, OSRS_T => 4, MODE => "NORMAL", ); my ( $pressure, $temperature, $humidity ) = await $chip->read_sensor; printf "Temperature=%.2fC ", $temperature; printf "Pressure=%dPa ", $pressure; printf "Humidity=%.2f%%\n", $humidity; DESCRIPTION This Device::Chip subclass provides specific communication to a Bosch BME280 attached to a computer via an I涎 adapter. The reader is presumed to be familiar with the general operation of this chip; the documentation here will not attempt to explain or define chip-specific concepts or features, only the use of this module to access them. MOUNT PARAMETERS addr The I涎 address of the device. Can be specified in decimal, octal or hex with leading 0 or 0x prefixes. METHODS The following methods documented in an await expression return Future instances. read_id $id = await $chip->read_id; Returns the chip ID. read_config $config = await $chip->read_config; Returns a HASH reference containing the chip config, using fields named from the data sheet. FILTER => OFF | 2 | 4 | 8 | 16 MODE => SLEEP | FORCED | NORMAL OSRS_H => SKIP | 1 | 2 | 4 | 8 | 16 OSRS_P => SKIP | 1 | 2 | 4 | 8 | 16 OSRS_T => SKIP | 1 | 2 | 4 | 8 | 16 SPI3W_EN => 0 | 1 T_SB => 0.5 | 10 | 20 | 62.5 | 125 | 250 | 500 | 1000 change_config await $chip->change_config( %changes ); Writes updates to the configuration registers. Note that these two methods use a cache of configuration bytes to make subsequent modifications more efficient. read_status $status = await $chip->read_status; read_raw ( $adc_P, $adc_T, $adc_H ) = await $chip->read_raw; Returns three integers containing the raw ADC reading values from the sensor. This method is mostly for testing or internal purposes only. For converted sensor readings in real-world units you want to use "read_sensor". read_sensor ( $pressure, $temperature, $humidity ) = await $chip->read_sensor; Returns the sensor readings appropriately converted into units of Pascals for pressure, degrees Celcius for temperature, and percentage relative for humidity. AUTHOR Paul Evans <leonerd@leonerd.org.uk>