Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated configurability #3

Merged
merged 11 commits into from
Feb 28, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Created by https://www.gitignore.io

### Node ###
# Logs
logs
*.log

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
node_modules
30 changes: 27 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,40 @@ board.readDHT(22, 13).then( (ret) ->
).done()
```

### readDST()

Read a Dallas DS18B20 sensor
### readDstSensors (pin)

Returns all Dallas temp sensors on [pin]

```CoffeeScript
board.readDstSensors(12).then( (ret) ->
console.log ret.sensors
).done()
```


### readDstSensor (pin, address)

Reads a sensor with [address] on [pin].

```CoffeeScript
board.readDST().then( (ret) ->
board.readDstSensor(12, '12312312333').then( (ret) ->
console.log ret.temperature
).done()
```


### readDstAll (pin)

Reads all sensors connected to [pin]

```CoffeeScript
board.readDstAll(12).then( (ret) ->
console.log ret.temperatures
).done()
```


### rfControlStartReceiving(pin)

```CoffeeScript
Expand Down
29 changes: 27 additions & 2 deletions lib/board.js
Original file line number Diff line number Diff line change
Expand Up @@ -207,17 +207,42 @@ Board = (function(_super) {
});
};

Board.prototype.readDST = function() {
Board.prototype.readDstSensors = function(pin) {
var promise, reading;
reading = this.writeAndWait("DST \n");
reading = this.writeAndWait("DST " + pin + " sensors\n");
promise = reading.then(function(args) {
args.shift();
return {
sensors: args
};
});
return promise;
};

Board.prototype.readDstSensor = function(pin, address) {
var promise, reading;
reading = this.writeAndWait("DST " + pin + " " + address + "\n");
promise = reading.then(function(args) {
console.log("readDstSensor: ", args);
return {
temperature: parseFloat(args)
};
});
return promise;
};

Board.prototype.readDstAll = function(pin) {
var promise, reading;
reading = this.writeAndWait("DST " + pin + " all\n");
promise = reading.then(function(args) {
console.log("readDstAll args: ", args);
return {
temperature: parseFloat(args[0])
};
});
return promise;
};

Board.prototype.rfControlStartReceiving = function(pin) {
assert(typeof pin === "number", "pin should be a number");
return this.writeAndWait("RF receive " + pin + "\n");
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "homeduino",
"version": "0.0.31",
"version": "0.0.32",
"description": "Node.js library for interfacing with the homeduino ardunio library",
"main": "index.js",
"files": [
Expand All @@ -22,6 +22,7 @@
"url": "git://github.com/pimatic/homeduinojs.git"
},
"author": "Oliver Schneider <oliverschneider89+sweetpi@gmail.com>",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "author" is one person. "contributors" is an array of people.

https://docs.npmjs.com/files/package.json#people-fields-author-contributors

Could you please add your name to contributors instead?
Please leave the issue and main url as it wars.

"contributors" : ["Ronald Steen <ronald.steen@gmail.com>"],
"license": "GPLv3",
"bugs": {
"url": "https://github.com/pimatic/homeduinojs/issues"
Expand Down
31 changes: 25 additions & 6 deletions src/board.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -146,17 +146,36 @@ class Board extends events.EventEmitter
humidity: parseFloat(args[1])
})


readDST: () ->
reading = @writeAndWait("DST \n")

#DST [pin] sensors -> gets all sensor addresses on that pin
readDstSensors: (pin)->
reading = @writeAndWait("DST #{pin} sensors\n")
promise = reading
.then( (args) ->
#console.log "readDST args: ", args
#console.log "readDstSensors: ", args
args.shift()
{
temperature: parseFloat(args)
sensors: args
})
return promise

#DST [pin] [address] -> single temperature C
readDstSensor: (pin, address)->
reading = @writeAndWait("DST #{pin} #{address}\n")
promise = reading
.then( (args) ->
{
temperature: parseFloat(args)
})
return promise

#DST [pin] all -> all temperatures on that pin.
readDstAll: (pin) ->
reading = @writeAndWait("DST #{pin} all\n")
promise = reading
.then( (args) ->
{
temperature: parseFloat(args[0])
})
return promise

rfControlStartReceiving: (pin) ->
Expand Down