function readTempC() { const buffer = new Buffer(BUFFER_SIZE); var t = i2c1.readI2cBlockSync(MCP9808_I2CADDR_DEFAULT, MCP9808_REG_AMBIENT_TEMP, BUFFER_SIZE, buffer); t = buffer[0]; t <<= 8; t |= buffer[1]; var temp = t & 0x0FFF; temp /= 16.0; if (t & 0x1000) temp -= 256; return temp; }
i2cBus.open(1, function(err){ if(err){ console.log("i2c error: "+err ) } else { console.log("I2C OPEN") } })
function () { var rawTemp; console.log("wake up MCP9808.... "); shutdown_wake(0); var c = readTempC(); var f = c * 9.0 / 5.0 + 32; console.log("Temp: " + c + "*C"); console.log("Temp: " + f + "*F"); setTimeout(function() { console.log("Shutdown MCP9808.... "); shutdown_wake(1); i2c1.closeSync(); }, 250); }()
i2c.open(1, function (err) { if (err) { throw err; } i2c1.i2cFuncs(function (err, i2cFuncs) { if (err) { throw err; } console.log('Functionalities implemented by /dev/i2c-1:'); console.log('I2C ' + boolToYesNo(i2cFuncs.i2c)); console.log('SMBus Quick Command ' + boolToYesNo(i2cFuncs.smbusQuick)); console.log('SMBus Send Byte ' + boolToYesNo(i2cFuncs.smbusSendByte)); console.log('SMBus Receive Byte ' + boolToYesNo(i2cFuncs.smbusReceiveByte)); console.log('SMBus Write Byte ' + boolToYesNo(i2cFuncs.smbusWriteByte)); console.log('SMBus Read Byte ' + boolToYesNo(i2cFuncs.smbusReadByte)); console.log('SMBus Write Word ' + boolToYesNo(i2cFuncs.smbusWriteWord)); console.log('SMBus Read Word ' + boolToYesNo(i2cFuncs.smbusReadWord)); console.log('SMBus Process Call ' + boolToYesNo(i2cFuncs.smbusProcCall)); console.log('SMBus Block Write ' + boolToYesNo(i2cFuncs.smbusWriteBlock)); console.log('SMBus Block Read ' + boolToYesNo(i2cFuncs.smbusReadBlock)); console.log('SMBus Block Process Call ' + boolToYesNo(i2cFuncs.smbusBlockProcCall)); console.log('SMBus PEC ' + boolToYesNo(i2cFuncs.smbusPec)); console.log('I2C Block Write ' + boolToYesNo(i2cFuncs.smbusWriteI2cBlock)); console.log('I2C Block Read ' + boolToYesNo(i2cFuncs.smbusReadI2cBlock)); }); })
function shutdown_wake(sw_ID) { var conf_shutdown; const buffer = new Buffer(BUFFER_SIZE); var conf_register = i2c1.readI2cBlockSync(MCP9808_I2CADDR_DEFAULT, MCP9808_REG_CONFIG, BUFFER_SIZE, buffer); if (sw_ID == 1) { conf_shutdown = conf_register | MCP9808_REG_CONFIG_SHUTDOWN; i2c1.i2cWriteSync(MCP9808_I2CADDR_DEFAULT, 2, new Buffer([MCP9808_REG_CONFIG, conf_shutdown])); } if (sw_ID == 0) { conf_shutdown = conf_register ^ MCP9808_REG_CONFIG_SHUTDOWN; i2c1.i2cWriteSync(MCP9808_I2CADDR_DEFAULT, 2, new Buffer([MCP9808_REG_CONFIG, conf_shutdown])); } }
i2c1 = i2c.openSync(1); // Will require a closeSync readCalibrationData(); };
i2c1 = i2c.openSync(1); // Will require a closeSync this.setAllPWM(0, 0); if (verbose) {