code: def pressure(self):
          
          self._read_temperature()
  
          # Algorithm from the BME280 driver
          # https://github.com/BoschSensortec/BME280_driver/blob/master/bme280.c
          adc = self._read24(_BME280_REGISTER_PRESSUREDATA) / 16  # lowest 4 bits get dropped
          var1 = float(self._t_fine) / 2.0 - 64000.0
          var2 = var1 * var1 * self._pressure_calib[5] / 32768.0
          var2 = var2 + var1 * self._pressure_calib[4] * 2.0
          var2 = var2 / 4.0 + self._pressure_calib[3] * 65536.0
          var3 = self._pressure_calib[2] * var1 * var1 / 524288.0
          var1 = (var3 + self._pressure_calib[1] * var1) / 524288.0
          var1 = (1.0 + var1 / 32768.0) * self._pressure_calib[0]
          if var1 == 0:
              return 0
          if var1:
              pressure = 1048576.0 - adc
              pressure = ((pressure - var2 / 4096.0) * 6250.0) / var1
              var1 = self._pressure_calib[8] * pressure * pressure / 2147483648.0
              var2 = pressure * self._pressure_calib[7] / 32768.0
              pressure = pressure + (var1 + var2 + self._pressure_calib[6]) / 16.0
  
              pressure /= 100
              if pressure < _BME280_PRESSURE_MIN_HPA:
                  return _BME280_PRESSURE_MIN_HPA
              if pressure > _BME280_PRESSURE_MAX_HPA:
                  return _BME280_PRESSURE_MAX_HPA
              return pressure
          else:
              return _BME280_PRESSURE_MIN_HPA
docs: The compensated pressure in hectoPascals.
          returns None if pressure measurement is disabled