From e7d32ae0e62dad2e4578f08413889a95d41672fb Mon Sep 17 00:00:00 2001 From: Corey Frang Date: Wed, 26 Aug 2015 15:21:35 -0400 Subject: [PATCH 1/2] Complete test conversion for analog controllers and aref --- lib/temperature.js | 7 +-- test/temperature.js | 126 ++++++++++++++++++++------------------------ 2 files changed, 58 insertions(+), 75 deletions(-) diff --git a/lib/temperature.js b/lib/temperature.js index 9b0fd8489..481b91697 100644 --- a/lib/temperature.js +++ b/lib/temperature.js @@ -301,8 +301,6 @@ var Controllers = { var adcres = 1023; // Beta parameter var beta = 3975; - // 0°C = CELSIUS_TO_KELVIN K - var kelvin = CELSIUS_TO_KELVIN; // 10 kOhm (sensor resistance) var rb = 10000; // Ginf = 1/Rinf @@ -311,7 +309,7 @@ var Controllers = { var tempr = 298.15; var rthermistor = (adcres - raw) * rb / raw; - var tempc = 1 / (Math.log(rthermistor / rb) / beta + 1 / tempr) - kelvin; + var tempc = 1 / (Math.log(rthermistor / rb) / beta + 1 / tempr) - CELSIUS_TO_KELVIN; return tempc; } @@ -325,14 +323,13 @@ var Controllers = { value: function(raw) { var adcres = 1023; var beta = 3950; - var kelvin = CELSIUS_TO_KELVIN; var rb = 10000; // 10 kOhm var ginf = 120.6685; // Ginf = 1/Rinf var rthermistor = rb * (adcres / raw - 1); var tempc = beta / (Math.log(rthermistor * ginf)); - return tempc - kelvin; + return tempc - CELSIUS_TO_KELVIN; } } }, diff --git a/test/temperature.js b/test/temperature.js index 4433b026d..9b745e4cf 100644 --- a/test/temperature.js +++ b/test/temperature.js @@ -311,6 +311,62 @@ exports["Temperature -- ANALOG"] = { K: 296 }), }, + + GROOVE: { + setUp: function(done) { + this.temperature = new Temperature({ + controller: "GROVE", + pin: "A0", + freq: 100, + board: this.board + }); + + done(); + }, + shape: testShape, + aref: makeTestAnalogConversion({ + aref: 3.3, + raw: 659, + C: 39, + F: 102, + K: 312, + }), + + data: makeTestAnalogConversion({ + raw: 659, + C: 39, + F: 102, + K: 312, + }), + }, + + TINKERKIT: { + setUp: function(done) { + this.temperature = new Temperature({ + controller: "TINKERKIT", + pin: "A0", + freq: 100, + board: this.board + }); + + done(); + }, + + aref: makeTestAnalogConversion({ + aref: 3.3, + raw: 810, + C: 39, + F: 102, + K: 312, + }), + + data: makeTestAnalogConversion({ + raw: 810, + C: 39, + F: 102, + K: 312, + }), + }, }; function createDS18B20(pin, address) { @@ -547,76 +603,6 @@ exports["Temperature -- MPU6050"] = { } }; - -exports["Temperature -- GROVE"] = { - - setUp: function(done) { - this.analogRead = this.sandbox.spy(MockFirmata.prototype, "analogRead"); - this.temperature = new Temperature({ - controller: "GROVE", - pin: "A0", - freq: 100, - board: this.board - }); - - done(); - }, - - data: function(test) { - var raw = this.analogRead.args[0][1], - spy = this.sandbox.spy(); - - test.expect(4); - this.temperature.on("data", spy); - - raw(659); - - this.clock.tick(100); - - test.ok(spy.calledOnce); - test.equals(Math.round(spy.args[0][1].celsius), 39); - test.equals(Math.round(spy.args[0][1].fahrenheit), 102); - test.equals(Math.round(spy.args[0][1].kelvin), 312); - - test.done(); - } -}; - -exports["Temperature -- TINKERKIT"] = { - - setUp: function(done) { - this.analogRead = this.sandbox.spy(MockFirmata.prototype, "analogRead"); - this.temperature = new Temperature({ - controller: "TINKERKIT", - pin: "A0", - freq: 100, - board: this.board - }); - - done(); - }, - - data: function(test) { - - var raw = this.analogRead.args[0][1], - spy = this.sandbox.spy(); - - test.expect(4); - this.temperature.on("data", spy); - - raw(810); - - this.clock.tick(100); - - test.ok(spy.calledOnce); - test.equals(Math.round(spy.args[0][1].celsius), 39); - test.equals(Math.round(spy.args[0][1].fahrenheit), 102); - test.equals(Math.round(spy.args[0][1].kelvin), 312); - - test.done(); - } -}; - exports["Temperature -- MPL115A2"] = { setUp: function(done) { From a19f7b806ab77ed70f4c7fe8137d5bf4f889adc4 Mon Sep 17 00:00:00 2001 From: Corey Frang Date: Wed, 26 Aug 2015 15:43:56 -0400 Subject: [PATCH 2/2] Fix typo on controller name --- test/temperature.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/temperature.js b/test/temperature.js index 9b745e4cf..7019360a8 100644 --- a/test/temperature.js +++ b/test/temperature.js @@ -312,7 +312,7 @@ exports["Temperature -- ANALOG"] = { }), }, - GROOVE: { + GROVE: { setUp: function(done) { this.temperature = new Temperature({ controller: "GROVE",