{"version":3,"sources":["jsdelivr-header.js","/npm/@chirimen/ahtx0@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCNA,SAAW,EAAQ,GACC,iBAAZ,SAA0C,oBAAX,OAAyB,OAAO,QAAU,IAC9D,mBAAX,QAAyB,OAAO,IAAM,OAAO,IACnD,EAA+B,oBAAf,WAA6B,WAAa,GAAU,MAAa,MAAQ,GAC1F,CAJD,CAIG,MAAM,WAAe,aASvB,MAAM,EAAS,GAAO,IAAI,SAAS,GAAY,WAAW,EAAS,KAEnE,IAAI,EAAQ,SAAU,EAAS,GACzB,IACJ,EAAe,IAEhB,KAAK,QAAU,EACf,KAAK,SAAW,KAChB,KAAK,aAAe,CACrB,EAiCA,OA/BA,EAAM,UAAY,CACjB,KAAM,iBACL,KAAK,eAAiB,KAAK,QAAQ,KAAK,KAAK,oBACvC,KAAK,SAAS,WAAW,CAAC,YAC1B,EAAM,IACZ,UACO,KAAK,SAAS,WAAW,CAAC,IAAM,EAAM,GAC7C,CAAE,MAAO,SAEF,KAAK,SAAS,WAAW,CAAC,IAAM,EAAM,GAC7C,CACA,OAA4C,QAA5B,KAAK,SAAS,cAC/B,EACA,SAAU,iBAET,UADM,KAAK,SAAS,WAAW,CAAC,IAAM,GAAM,IACF,UAA5B,KAAK,SAAS,kBACrB,EAAM,IAEb,IAAI,QAAc,KAAK,SAAS,UAAU,GACtC,GAAqB,GAAX,EAAM,KAAa,GAAO,EAAM,IAAM,EAAK,EAAM,GAC/D,EAAiB,IAAR,EAAiB,QAAW,GACrC,IAAI,EAAY,EAAM,IAAM,GAAO,EAAM,IAAM,EAAM,EAAM,IAAM,EAGjE,MAAO,CACN,SAHD,EAAuB,IAAX,EAAkB,QAI7B,YAAa,EAEf,GAGM,CAEP","file":"/npm/@chirimen/ahtx0@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/@chirimen/ahtx0@1.0.0/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.AHTx0 = factory());\n})(this, (function () { 'use strict';\n\n\t// @ts-check\n\t// AHT10,20 driver for CHIRIMEN raspberry pi3\n\t// Temperature and Humidity I2C Sensor\n\t// based on https://github.com/adafruit/Adafruit_CircuitPython_AHTx0/blob/main/adafruit_ahtx0.py\n\t// Programmed by Satoru Takagi\n\n\t/** @param {number} ms Delay for a number of milliseconds. */\n\tconst sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n\n\tvar AHTx0 = function (i2cPort, slaveAddress) {\n\t\tif (!slaveAddress) {\n\t\t\tslaveAddress = 0x38;\n\t\t}\n\t\tthis.i2cPort = i2cPort;\n\t\tthis.i2cSlave = null;\n\t\tthis.slaveAddress = slaveAddress;\n\t};\n\n\tAHTx0.prototype = {\n\t\tinit: async function () {\n\t\t\tthis.i2cSlave = await this.i2cPort.open(this.slaveAddress);\n\t\t\tawait this.i2cSlave.writeBytes([0xba]); // softreset\n\t\t\tawait sleep(30); // wait for measurement?\n\t\t\ttry {\n\t\t\t\tawait this.i2cSlave.writeBytes([0xe1, 0x08, 0x00]); // calibrate AHT10\n\t\t\t} catch (e) {\n\t\t\t\t// console.log(\"Try AHT20 calibrate\");\n\t\t\t\tawait this.i2cSlave.writeBytes([0xbe, 0x08, 0x00]); // calibrate AHT20\n\t\t\t}\n\t\t\twhile (!((await this.i2cSlave.readByte()) & 0x08)) {}\n\t\t},\n\t\treadData: async function () {\n\t\t\tawait this.i2cSlave.writeBytes([0xac, 0x33, 0x00]); // read\n\t\t\twhile ((await this.i2cSlave.readByte()) & 0x80) {\n\t\t\t\tawait sleep(10);\n\t\t\t}\n\t\t\tvar mdata = await this.i2cSlave.readBytes(6); // prev data..\n\t\t\tvar cTemp = ((mdata[3] & 0xf) << 16) | (mdata[4] << 8) | mdata[5];\n\t\t\tcTemp = (cTemp * 200.0) / 0x100000 - 50;\n\t\t\tvar humidity = (mdata[1] << 12) | (mdata[2] << 4) | (mdata[3] >> 4);\n\t\t\thumidity = (humidity * 100) / 0x100000;\n\n\t\t\treturn {\n\t\t\t\thumidity: humidity,\n\t\t\t\ttemperature: cTemp,\n\t\t\t};\n\t\t},\n\t};\n\n\treturn AHTx0;\n\n}));\n"]}