{"version":3,"sources":["jsdelivr-header.js","/npm/@chirimen/bme280@1.0.3/index.js"],"names":[],"mappings":"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","file":"/npm/@chirimen/bme280@1.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/@chirimen/bme280@1.0.3/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BME280 = factory());\n}(this, (function () { 'use strict';\n\n\t// BME280 driver for CHIRIMEN WebI2C\n\t// ported from https://github.com/SWITCHSCIENCE/BME280/blob/master/Python27/bme280_sample.py\n\t// by Satoru Takagi\n\n\tvar BME280 = function(i2cPort,slaveAddress){\n\t\tthis.digT = [];\n\t\tthis.digP = [];\n\t\tthis.digH = [];\n\t\tthis.t_fine = 0;\n\t\tthis.i2cPort = i2cPort;\n\t\tthis.i2cSlave = null;\n\t\tif (slaveAddress){\n\t\t\tthis.slaveAddress = slaveAddress;\n\t\t} else {\n\t\t\tthis.slaveAddress = 0x77;\n\t\t}\n\t};\n\n\tBME280.prototype = {\n\t\tinit: async function(){\n\t\t\tthis.i2cSlave = await this.i2cPort.open(this.slaveAddress);\n\t\t\tawait this.setup();\n\t\t\tawait this.getCalibParam();\n\t\t},\n\t\tread: async function(){\n\t\t\tif ( this.i2cSlave  == null ){\n\t\t\t\tthrow Error(\"i2cSlave Address does'nt yet open!\");\n\t\t\t}\n\t\t\tvar MSB = await this.i2cSlave.read8(0x00);\n\t\t\tvar LSB = await this.i2cSlave.read8(0x01);\n\t\t\tvar data = ((MSB << 8) + LSB)/128.0;\n\t\t\treturn(data);\n\t\t},\n\t\tgetCalibParam: async function(){\n\t\t\tvar calib = [];\n\t\t\tvar dat;\n\t\t\tfor (let ra = 0x88; ra <= 0x88 + 24; ra++){\n\t\t\t\tdat = await this.i2cSlave.read8(ra);\n\t\t\t\tcalib.push(dat);\n\t\t\t}\n\t\t\tfor (let ra = 0xE1; ra <= 0xE1 + 7; ra++){\n\t\t\t\tdat = await this.i2cSlave.read8(ra);\n\t\t\t\tcalib.push(dat);\n\t\t\t}\n\t\t\tvar digT = this.digT;\n\t\t\tvar digP = this.digP;\n\t\t\tvar digH = this.digH;\n\t\t\tvar getSVal = this.getSVal;\n\t\t\tdigT.push((calib[1] << 8) | calib[0]); // uint\n\t\t\tdigT.push(getSVal((calib[3] << 8) | calib[2]));\n\t\t\tdigT.push(getSVal((calib[5] << 8) | calib[4]));\n\t\t\tdigP.push((calib[7] << 8) | calib[6]); // uint\n\t\t\tdigP.push(getSVal((calib[9] << 8) | calib[8]));\n\t\t\tdigP.push(getSVal((calib[11]<< 8) | calib[10]));\n\t\t\tdigP.push(getSVal((calib[13]<< 8) | calib[12]));\n\t\t\tdigP.push(getSVal((calib[15]<< 8) | calib[14]));\n\t\t\tdigP.push(getSVal((calib[17]<< 8) | calib[16]));\n\t\t\tdigP.push(getSVal((calib[19]<< 8) | calib[18]));\n\t\t\tdigP.push(getSVal((calib[21]<< 8) | calib[20]));\n\t\t\tdigP.push(getSVal((calib[23]<< 8) | calib[22]));\n\t\t\tdigH.push(getSVal( calib[24] ));\n\t\t\tdigH.push(getSVal((calib[26]<< 8) | calib[25]));\n\t\t\tdigH.push(getSVal( calib[27] ));\n\t\t\tdigH.push(getSVal((calib[28]<< 4) | (0x0F & calib[29])));\n\t\t\tdigH.push(getSVal((calib[30]<< 4) | ((calib[29] >> 4) & 0x0F)));\n\t\t\tdigH.push(getSVal( calib[31] ));\n\t\t},\n\t\tgetSVal: function (val) {\n\t\t\treturn new Int16Array([val])[0];\n\t\t},\n\t\tsetup: async function(){\n\t\t\tvar osrs_t = 1; //Temperature oversampling x 1\n\t\t\tvar osrs_p = 1; //Pressure oversampling x 1\n\t\t\tvar osrs_h = 1; //Humidity oversampling x 1\n\t\t\tvar mode   = 3; //Normal mode\n\t\t\tvar t_sb   = 5; //Tstandby 1000ms\n\t\t\tvar filter = 0; //Filter off\n\t\t\tvar spi3w_en = 0; //3-wire SPI Disable\n\n\t\t\tvar ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | mode;\n\t\t\tvar config_reg    = (t_sb << 5) | (filter << 2) | spi3w_en;\n\t\t\tvar ctrl_hum_reg  = osrs_h;\n\n\t\t\tawait this.i2cSlave.write8(0xF2,ctrl_hum_reg);\n\t\t\tawait this.i2cSlave.write8(0xF4,ctrl_meas_reg);\n\t\t\tawait this.i2cSlave.write8(0xF5,config_reg);\n\t\t},\n\t\tcompensate_P: function(adc_P){\n\t\t\tvar t_fine = this.t_fine;\n\t\t\tvar digP = this.digP;\n\n\t\t\tvar v1 = (t_fine / 2.0) - 64000.0;\n\t\t\tvar v2 = (((v1 / 4.0) * (v1 / 4.0)) / 2048) * digP[5];\n\t\t\tv2 = v2 + ((v1 * digP[4]) * 2.0);\n\t\t\tv2 = (v2 / 4.0) + (digP[3] * 65536.0);\n\t\t\tv1 = (((digP[2] * (((v1 / 4.0) * (v1 / 4.0)) / 8192)) / 8)  + ((digP[1] * v1) / 2.0)) / 262144;\n\t\t\tv1 = ((32768 + v1) * digP[0]) / 32768;\n\n\t\t\tif (v1 == 0){\n\t\t\t\treturn (0);\n\t\t\t}\n\t\t\tvar pressure = ((1048576 - adc_P) - (v2 / 4096)) * 3125;\n\t\t\tif (pressure < 0x80000000){\n\t\t\t\tpressure = (pressure * 2.0) / v1;\n\t\t\t} else {\n\t\t\t\tpressure = (pressure / v1) * 2;\n\t\t\t}\n\t\t\tv1 = (digP[8] * (((pressure / 8.0) * (pressure / 8.0)) / 8192.0)) / 4096;\n\t\t\tv2 = ((pressure / 4.0) * digP[7]) / 8192.0;\n\t\t\tpressure = pressure + ((v1 + v2 + digP[6]) / 16.0)  ;\n\t\t\treturn (pressure);\n\t\t},\n\t\tcompensate_T: function(adc_T){\n\t\t\tvar  t_fine = this.t_fine;\n\t\t\tvar digT = this.digT;\n\t\t\tvar v1 = (adc_T / 16384.0 - digT[0] / 1024.0) * digT[1];\n\t\t\tvar v2 = (adc_T / 131072.0 - digT[0] / 8192.0) * (adc_T / 131072.0 - digT[0] / 8192.0) * digT[2];\n\t\t\tt_fine = v1 + v2;\n\t\t\tvar temperature = t_fine / 5120.0;\n\t\t\treturn (temperature);\n\t\t},\n\t\tcompensate_H: function(adc_H){\n\t\t\tvar  t_fine = this.t_fine;\n\t\t\tvar digH = this.digH;\n\t\t\tvar var_h = t_fine - 76800.0;\n\t\t\tif (var_h != 0){\n\t\t\t\tvar_h = (adc_H - (digH[3] * 64.0 + digH[4]/16384.0 * var_h)) * (digH[1] / 65536.0 * (1.0 + digH[5] / 67108864.0 * var_h * (1.0 + digH[2] / 67108864.0 * var_h)));\n\t\t\t} else {\n\t\t\t\treturn (0);\n\t\t\t}\n\t\t\tvar_h = var_h * (1.0 - digH[0] * var_h / 524288.0);\n\t\t\tif (var_h > 100.0){\n\t\t\t\tvar_h = 100.0;\n\t\t\t} else if ( var_h < 0.0){\n\t\t\t\tvar_h = 0.0;\n\t\t\t}\n\t\t\treturn ( var_h );\n\t\t},\n\t\treadData: async function(){\n\t\t\tvar data = [];\n\t\t\tvar dat;\n\t\t\tfor ( var ra =0xF7 ; ra<= 0xF7+8; ra++){\n\t\t\t\tdat = await this.i2cSlave.read8(ra);\n\t\t\t\tdata.push(dat);\n\t\t\t}\n\t\t\tvar pres_raw = (data[0] << 12) | (data[1] << 4) | (data[2] >> 4);\n\t\t\tvar temp_raw = (data[3] << 12) | (data[4] << 4) | (data[5] >> 4);\n\t\t\tvar hum_raw  = (data[6] << 8)  |  data[7];\n\t\t\tvar temperature = this.compensate_T(temp_raw);\n\t\t\tvar pressure = this.compensate_P(pres_raw);\n\t\t\tvar humidity = this.compensate_H(hum_raw);\n\t\t\treturn {\n\t\t\t\ttemperature: temperature,\n\t\t\t\tpressure: pressure/100,\n\t\t\t\thumidity: humidity\n\t\t\t}\n\t\t}\n\t};\n\n\treturn BME280;\n\n})));\n"]}