{"version":3,"sources":["jsdelivr-header.js","/npm/@chirimen/tcs34725@1.0.3/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCNC,SAAU,EAAQ,GACC,iBAAZ,SAA0C,oBAAX,OAAyB,OAAO,QAAU,IAC9D,mBAAX,QAAyB,OAAO,IAAM,OAAO,IACnD,EAA+B,oBAAf,WAA6B,WAAa,GAAU,MAAa,SAAW,GAC9F,CAJA,CAIE,MAAM,WAAe,aAQtB,MAAM,EAAQ,GAAM,IAAI,SAAQ,GAAW,WAAW,EAAS,KAE/D,IAAI,EAAW,SAAS,EAAQ,GAC1B,IACJ,EAAe,IAEhB,KAAK,QAAU,EACf,KAAK,SAAW,KAChB,KAAK,aAAe,EAIpB,KAAK,aAAe,IACpB,KAAK,iBAAmB,EACxB,KAAK,gBAAkB,EACvB,KAAK,eAAiB,EACtB,KAAK,eAAiB,EACtB,KAAK,aAAe,GACpB,KAAK,gBAAkB,GACvB,KAAK,kBAAoB,GACzB,KAAK,mBAAqB,GAC1B,KAAK,iBAAmB,GACxB,KAAK,gBAAkB,GACvB,KAAK,gBAAkB,GACvB,KAAK,gBAAkB,GACvB,KAAK,gBAAkB,GACvB,KAAK,aAAe,GACpB,KAAK,YAAc,EACnB,KAAK,YAAc,EACnB,KAAK,YAAc,EACnB,KAAK,OAAS,CAAC,EAAG,EAAG,GAAI,IACzB,KAAK,QAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAExE,EAiGA,OA7FA,EAAS,UAAY,CACpB,KAAM,iBACL,KAAK,eAAiB,KAAK,QAAQ,KAAK,KAAK,cAC7C,KAAK,SAAU,EACf,KAAK,iBAAiB,IACvB,EAEA,OAAQ,eAAe,GACtB,GAAa,MAAT,EACH,OAAO,KAAK,QAEb,GAAI,KAAK,SAAW,EAApB,CAGA,KAAK,QAAU,EACf,IAAI,QAAe,KAAK,SAAS,MAAM,KAAK,iBAAmB,KAAK,cAChE,SACG,KAAK,SAAS,OAAO,KAAK,iBAAmB,KAAK,aAAc,EAAS,KAAK,aACpF,EAAM,SACA,KAAK,SAAS,OAAO,KAAK,iBAAmB,KAAK,aAAc,EAAS,KAAK,YAAc,KAAK,oBAEjG,KAAK,SAAS,OAAO,KAAK,iBAAmB,KAAK,aAAc,IAAW,KAAK,YAAc,KAAK,aAR1G,CAUD,EACA,UAAW,iBACV,aAAe,KAAK,SAAS,MAAM,KAAK,mBAAqB,KAAK,aACnE,EACA,iBAAkB,eAAe,GAChC,IAAK,EACJ,OAAO,KAAK,kBAER,GAAS,MACb,EAAQ,MACG,GAAS,MACpB,EAAQ,KAET,IAAI,EAAS,KAAK,MAAM,EAAQ,KAChC,KAAK,kBAA6B,IAAT,EACzB,KAAK,SAAS,OAAO,KAAK,gBAAkB,KAAK,aAAc,IAAM,EACtE,EACA,KAAM,eAAe,GACpB,IAAK,EACJ,OAAQ,KAAK,aAAa,KAAK,SAAS,MAAM,KAAK,kBAAoB,KAAK,eAI7E,IADA,IAAI,GAAQ,EACF,EAAI,EAAI,EAAI,KAAK,OAAO,OAAS,IAC1C,GAAK,GAAS,KAAK,OAAO,GAAI,CAC7B,EAAQ,EACR,KACD,CAED,IAAc,GAAV,EAEH,OADA,QAAQ,MAAM,gCACP,QAEA,KAAK,SAAS,OAAO,KAAK,kBAAoB,KAAK,aAAc,EAC1E,EACA,OAAQ,iBAED,OAAa,QADL,KAAK,SAAS,MAAM,KAAK,iBAAmB,KAAK,aAEhE,EACA,KAAM,eAAe,GACpB,IAAI,QAAmB,KAAK,SAE5B,UADM,KAAK,QAAO,GACU,SAAf,KAAK,UACjB,EAAM,KAAK,MAAM,KAAK,kBAAoB,KAE3C,IAAI,QAAU,KAAK,SAAS,OAAO,KAAK,gBAAkB,KAAK,cAC3D,QAAU,KAAK,SAAS,OAAO,KAAK,gBAAkB,KAAK,cAC3D,QAAU,KAAK,SAAS,OAAO,KAAK,gBAAkB,KAAK,cAC3D,QAAU,KAAK,SAAS,OAAO,KAAK,gBAAkB,KAAK,cAE/D,aADM,KAAK,OAAO,GACb,EAGG,KAAK,qBAAqB,EAAG,EAAG,EAAG,GAFnC,CAAE,IAAG,IAAG,IAAG,IAIpB,EACA,qBAAsB,SAAU,EAAG,EAAG,GACrC,IAAI,GAAK,OAAU,EAAI,QAAU,GAAK,OAAU,EAC5C,GAAK,OAAU,EAAI,QAAU,GAAK,OAAU,EAE5C,EAAI,EAAI,IADH,OAAU,EAAI,OAAU,EAAK,OAAU,GAE5C,GAAK,EAAI,EAAI,OAAW,MAAS,EAAI,GAEzC,MAAO,CACN,YAFS,IAAQ,GAAG,EAAI,KAAS,GAAG,EAAI,OAAS,EAAI,QAGrD,IAAK,EAEP,GAGM,CAEP","file":"/npm/@chirimen/tcs34725@1.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/@chirimen/tcs34725@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.TCS34725 = factory());\n}(this, (function () { 'use strict';\n\n\t// TCS34725 driver for CHIRIMEN raspberry pi3\n\t// Temperature and Humidity I2C Sensor\n\t// based on https://github.com/adafruit/micropython-adafruit-tcs34725/blob/master/tcs34725.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 TCS34725 = function(i2cPort,slaveAddress){\n\t\tif (!slaveAddress){\n\t\t\tslaveAddress = 0x29;\n\t\t}\n\t\tthis.i2cPort = i2cPort;\n\t\tthis.i2cSlave = null;\n\t\tthis.slaveAddress = slaveAddress;\n\n\n\n\t\tthis._COMMAND_BIT = (0x80);\n\t\tthis._REGISTER_ENABLE = (0x00);\n\t\tthis._REGISTER_ATIME = (0x01);\n\t\tthis._REGISTER_AILT = (0x04);\n\t\tthis._REGISTER_AIHT = (0x06);\n\t\tthis._REGISTER_ID = (0x12);\n\t\tthis._REGISTER_APERS = (0x0c);\n\t\tthis._REGISTER_CONTROL = (0x0f);\n\t\tthis._REGISTER_SENSORID = (0x12);\n\t\tthis._REGISTER_STATUS = (0x13);\n\t\tthis._REGISTER_CDATA = (0x14);\n\t\tthis._REGISTER_RDATA = (0x16);\n\t\tthis._REGISTER_GDATA = (0x18);\n\t\tthis._REGISTER_BDATA = (0x1a);\n\t\tthis._ENABLE_AIEN = (0x10);\n\t\tthis._ENABLE_WEN = (0x08);\n\t\tthis._ENABLE_AEN = (0x02);\n\t\tthis._ENABLE_PON = (0x01);\n\t\tthis._GAINS = [1, 4, 16, 60];\n\t\tthis._CYCLES = [0, 1, 2, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60];\n\n\t};\n\n\t// 工事中・・・\n\n\tTCS34725.prototype = {\n\t\tinit: async function () {\n\t\t\tthis.i2cSlave = await this.i2cPort.open(this.slaveAddress);\n\t\t\tthis._active = false;\n\t\t\tthis.integration_time(2.4);\n\t\t},\n\n\t\tactive: async function(value){\n\t\t\tif (value == undefined ){\n\t\t\t\treturn this._active;\n\t\t\t}\n\t\t\tif (this._active == value){\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._active = value;\n\t\t\tvar enable = await this.i2cSlave.read8(this._REGISTER_ENABLE | this._COMMAND_BIT);\n\t\t\tif (value){\n\t\t\t\tawait this.i2cSlave.write8(this._REGISTER_ENABLE | this._COMMAND_BIT, enable | this._ENABLE_PON);\n\t\t\t\tsleep(3);\n\t\t\t\tawait this.i2cSlave.write8(this._REGISTER_ENABLE | this._COMMAND_BIT, enable | this._ENABLE_PON | this._ENABLE_AEN);\n\t\t\t} else {\n\t\t\t\tawait this.i2cSlave.write8(this._REGISTER_ENABLE | this._COMMAND_BIT, enable & ~(this._ENABLE_PON | this._ENABLE_AEN));\n\t\t\t}\n\t\t},\n\t\tsensor_id: async function(){\n\t\t\treturn ( await this.i2cSlave.read8(this._REGISTER_SENSORID | this._COMMAND_BIT) );\n\t\t},\n\t\tintegration_time: async function(value){\n\t\t\tif (!value){\n\t\t\t\treturn this._integration_time;\n\t\t\t}\n\t\t\tif ( value >= 614.4 ){\n\t\t\t\tvalue = 614.4;\n\t\t\t} else if ( value <= 2.4 ){\n\t\t\t\tvalue = 2.4;\n\t\t\t}\n\t\t\tvar cycles = Math.floor(value / 2.4);\n\t\t\tthis._integration_time = cycles * 2.4;\n\t\t\tthis.i2cSlave.write8(this._REGISTER_ATIME | this._COMMAND_BIT, 256 - cycles);\n\t\t},\n\t\tgain: async function(value){\n\t\t\tif (!value){\n\t\t\t\treturn (this._GAINS[await this.i2cSlave.read8(this._REGISTER_CONTROL | this._COMMAND_BIT)]);\n\t\t\t}\n\n\t\t\tvar index= -1;\n\t\t\tfor ( var i = 0 ; i < this._GAINS.length ; i++ ){\n\t\t\t\tif ( value == this._GAINS[i] ){\n\t\t\t\t\tindex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (index == -1) {\n\t\t\t\tconsole.error(\"gain must be 1, 4, 16 or 60\");\n\t\t\t\treturn false;\n\t\t\t}\n\t    await this.i2cSlave.write8(this._REGISTER_CONTROL | this._COMMAND_BIT, index);\n\t\t},\n\t\t_valid: async function(){\n\t\t\tvar v = await this.i2cSlave.read8(this._REGISTER_STATUS | this._COMMAND_BIT);\n\t        return ( v & 0x01);\n\t\t},\n\t\tread: async function(t_lux){\n\t\t\tvar was_active = await this.active();\n\t\t\tawait this.active(true);\n\t\t\twhile (await this._valid()==0){\n\t\t\t\tsleep(Math.floor(this._integration_time + 0.9));\n\t\t\t}\n\t\t\tvar r = await this.i2cSlave.read16(this._REGISTER_RDATA | this._COMMAND_BIT);\n\t\t\tvar g = await this.i2cSlave.read16(this._REGISTER_GDATA | this._COMMAND_BIT);\n\t\t\tvar b = await this.i2cSlave.read16(this._REGISTER_BDATA | this._COMMAND_BIT);\n\t\t\tvar c = await this.i2cSlave.read16(this._REGISTER_CDATA | this._COMMAND_BIT);\n\t\t\tawait this.active(was_active);\n\t\t\tif (!t_lux){\n\t\t\t\treturn { r, g, b, c };\n\t\t\t} else {\n\t\t\t\treturn this._temperature_and_lux(r, g, b, c);\n\t\t\t}\n\t\t},\n\t\t_temperature_and_lux: function (r, g, b) {\n\t\t\tvar x = -0.14282 * r + 1.54924 * g + -0.95641 * b;\n\t\t\tvar y = -0.32466 * r + 1.57837 * g + -0.73191 * b;\n\t\t\tvar z = -0.68202 * r + 0.77073 * g +  0.56332 * b;\n\t\t\tvar d = x + y + z;\n\t\t\tvar n = (x / d - 0.3320) / (0.1858 - y / d);\n\t\t\tvar cct = 449.0 * n**3 + 3525.0 * n**2 + 6823.3 * n + 5520.33;\n\t\t\treturn {\n\t\t\t\ttemperature:cct,\n\t\t\t\tlux: y\n\t\t\t};\n\t\t},\n\t};\n\n\treturn TCS34725;\n\n})));\n"]}