1
0
mirror of https://github.com/node-red/node-red-nodes.git synced 2023-10-10 13:36:58 +02:00
Commit Graph

1186 Commits

Author SHA1 Message Date
Dave Conway-Jones
8f83e471b8
let snmp nodes specify optional :port
to close #462
2018-07-17 09:41:52 +01:00
iurly
27a1038993 Serial request (#426)
* serial: simplify serialPool.get

serialPool.get() has a lot of arguments.
Just pass the whole serialConfig object instead.
Also introduce early termination to remove one level of indentation.
(Just set your diff tool to ignore all whitespace changes to see
how very little this patch changes)

* serial: move splitting logic onto serialPool

All SerialIn and SerialOut nodes for a given port
share the same splitting logic as it is indeed
set by the common configuration node.

Move the code from SerialIn into serialPool so that
it can be reused by the serial request node.
Notice how the 'data' event will no longer carry
single bytes, but the whole payload instead.

Also move the output encoding logic into serialPool.

* serial: add serial request node

Add a "serial request" node to handle simple request/response
protocols. This node allows for multiple instances, all
sharing the same underlying device.
Responses coming from the serial line will only be propagated
to the output of the node where the request was originally received
(contrary to the "serial in" nodes which all emit the data
received from the serial line).

Every request received as an input to the node, is transmitted
to the serial line, and a matching response must be received
before the next one can be transmitted.
Any input message received in the meantime is internally enqueued.

The node is essentially a merge of serial in and serial out.
It shares the same configuration with serial in and serial out
for any given port and will not affect the behavior of the
existing nodes.
This means you can use, alongside with the request node:
- as many serial in nodes as you want -- e.g. to "sniff"
- serial out to inject mailicious/tampering data onto the serial
  line, skipping the queueing mechanism

* serial request: provide some visual feedback on the node

add status indication:
- yellow "waiting" when a message is enqueued for sending
- green "OK" after an answer is received
- red "timeout" after a timeout occurs

More sofisticated output would include an indication of the number of messages
enqueued and the actual timeout remaining after sending.

* serial request: make default response timeout configurable

Notice it's a global setting (i.e. stored in the configuration node)
as opposed to per-node, but it can be overridden by setting msg.timeout.

* serial request: cosmetic changes

- added documentation about msg.port
- timeout field made wider so to accommodate default value of 10000ms
- replaced harcoded text with localizable strings for
  "waiting" and "timeout" messages

* serial: cleanup: remove node.tout

this was probably some leftover code from previous implementations.
Now all timeouts are handled within the connection objects.

* serial: cleanup: set obj.tout to null after clearing it

clearing a Timeout without setting it back to null *might* have
adverse effects on later code which would check its null-ity.
Let's just do it.

* serial: cosmetic: add some comments

* serial request: fix "split on timeout" case

In the case of "split on timeout" case, we're reusing the same
.tout for two different purposes:
1) to send a timeout message, in case no answer is received at all [request]
2) to split messages, after receiving the first character [in+request]

So in the case of serial request, checking whether .tout is already
set is no longer a valid condition for 2).
Let's just check whether i === 1, and clear the timeout set up by 1)
if it's already there.

* serial: add "split on silence" behavior

add a fourth logic to split incoming data into messages.
The existing "split on timeout" logic starts the timeout upon
reception of the first character.
This might lead to unwanted behavior if for instance Node-RED is
restarted, as data might accumulate into OS buffers (see #410).
A different logic might be to only emit a message when enough time
has passed, without any new data being received (line silent), a.k.a.
interbyte timeout.
2018-07-09 11:14:08 +01:00
Dave Conway-Jones
b4fca36ab6
let python sub processes use python3 2018-07-07 19:24:35 +01:00
Dave Conway-Jones
88f7f52f99
Add pullup option to Arduino digital input
to Close #455
2018-06-27 21:36:06 +01:00
Dave Conway-Jones
76a221919a
Update Readme to remove NMA node
and add 2018 to serialport copyright
2018-06-13 22:13:22 +01:00
Dave Conway-Jones
044d008e65
bump neopixel node version for npm
to go with pr #453
2018-06-13 22:12:33 +01:00
cymplecy
c511cf6ae7 Change DMA from 5 to 10 (#453)
I mentioned this a while ago
Following changes to Pi firmware/kernel, the DMA channel 5 is not reliable for use anymore.  Other repositories have changed to use channel 10.  https://github.com/jgarff/rpi_ws281x/pull/266/commits

 I've been running 3 of my Pi on DMA 10 (1 new Pi3B+ and 2 older PiZeros running Jessie) for 2 months now without any issues so I'm making this pull request now
2018-06-13 22:09:55 +01:00
Nick O'Leary
1c1b53425f
Fix tweet with image 2018-06-08 12:55:19 +01:00
Nick O'Leary
aaf93ab587
Handle upgrade from old to new twitter node better 2018-06-07 12:07:01 +01:00
Nick O'Leary
235831b464
Major update to twitter node for auth changes 2018-06-07 11:25:25 +01:00
Andrew Allen
e91f3704fc fix twilio global credentials (#288) 2018-06-02 13:44:04 +01:00
Dave Conway-Jones
a21e952d93
Deprecate NMA node prior to deletion 2018-06-02 13:41:22 +01:00
Dave Conway-Jones
997458c78e
Fix serial port add char logic
to close #450
2018-06-02 13:24:57 +01:00
Dave Conway-Jones
4d0360d94a
add done to sqlite close 2018-05-30 11:17:15 +01:00
Dave Conway-Jones
6b2b0738cb
bump sense hat package 2018-05-30 11:16:38 +01:00
Dave Conway-Jones
40c62db47b
bump levels node reqs 2018-05-30 11:15:11 +01:00
juggledad
318a75c41b Update the 'Node Help' for the pi-sense-hat node (#447)
*  Update the 'Node Help'

Expanded the explanation for using multiple commands.
Provided examples for Rotate, Flip and Display.

Added examples for rotate, flip and screen brightness and added line to multiple messages explaination.

changed the Flip format from 'R' to 'F'
2018-05-30 11:12:26 +01:00
Nick O'Leary
38e469464f
Add deprecation warnings to twitter node 2018-05-25 13:16:34 +01:00
Kazuhito Yokoi
6ebe49cd70 Fix space bug in Japanese node's information (#445) 2018-05-24 10:24:58 +01:00
Dave Conway-Jones
989c7147cb
lint catch es6 escapes in core nodes
to fix twitter node and sqlite node
2018-05-18 18:40:14 +01:00
Dave Conway-Jones
44b4f44988
update Issue template to point at discourse 2018-05-18 13:47:42 +01:00
Dave Conway-Jones
a3d4f01587
clean up arduino node readme. Add hint re rate limit or rbe. 2018-05-13 17:26:32 +01:00
Dave Conway-Jones
dca9dfccc1
bump serial port and arduino nodes 2018-05-09 22:04:29 +01:00
Dave Conway-Jones
5b69ab66aa
make daemon node kill/term/int selectable 2018-05-09 09:42:51 +01:00
Dave Conway-Jones
31cee79545
fix typo in intel readme 2018-05-07 09:40:42 +01:00
Dave Conway-Jones
805b53535a
make Node-red a dev rep 2018-05-04 19:11:49 +01:00
Dave Conway-Jones
77ecd76867
tidy package.json 2018-05-03 23:01:52 +01:00
Dave Conway-Jones
5d5e82c37b
clean out travis.yml 2018-05-03 22:51:07 +01:00
Dave Conway-Jones
a03b060c9a
mixup tests for ninon v5 2018-05-02 13:53:04 +01:00
Dave Conway-Jones
ba158a7745
revert sinon update 2018-05-02 12:21:26 +01:00
Dave Conway-Jones
34a1351edc
tidy overall readme 2018-05-02 10:11:49 +01:00
Dave Conway-Jones
d89f5c6be0
update some other dependencies 2018-05-01 22:39:05 +01:00
Dave Conway-Jones
ae6cfcec2d
update readme for email node 2018-05-01 22:06:54 +01:00
Christopher Hiller
360d71f84b upgrade nodemailer; closes #439 (#440)
* upgrade nodemailer
- update documentation(s)
- add/update `package-lock.json`(s)
- add `engines` field(s)
* remove Node.js v4 from build matrix
* bump major version of node-red-node-email to v1.0.0
2018-05-01 21:31:22 +01:00
Dave Conway-Jones
2e8ec73ef0
Readme typo
remove package-lock.json
2018-05-01 18:00:43 +01:00
Dave Conway-Jones
722a5121ae
Delete package-lock.json 2018-05-01 17:57:55 +01:00
Dave Conway-Jones
05f41f3df8
bump version thanks to Mike adding helper
update readme slightly
2018-05-01 17:45:07 +01:00
Mike Blackstock
f275ea0bac use new test-helper add test to package.json (#441)
* use new test-helper add test to package.json

* try to fix travis build with new test helper

* install coveralls globally

* work around travis issue with adding node_modules/.bin in PATH
2018-05-01 17:33:05 +01:00
Dave Conway-Jones
5e0874ab44
Add stoppable to dev deps 2018-04-29 22:16:18 +01:00
Dave Conway-Jones
6a28ecfbc2
Fixup Base64 node and add better tests
Revert correct <-> behaviour, make encoding info clearer, added type
checking - to close #401 and close #437
2018-04-29 17:36:18 +01:00
Dave Conway-Jones
5019f68c9c
let Arduino node only send changes of values as stated in docs. 2018-04-29 17:36:18 +01:00
Nick O'Leary
e57e2545d6
Add github templates 2018-04-19 13:19:52 +01:00
Dave Conway-Jones
8f17072176
fix unicorn hat command check 2018-04-18 17:45:19 +01:00
Nick O'Leary
f033a383b9
Ensure email refresh interval doesn't exceed setInterval limit 2018-04-16 13:35:05 +01:00
Dave Conway-Jones
5358b29255
fix broken neopixel merge 2018-04-15 17:59:30 +01:00
Dave Conway-Jones
acc2dc1a14
Allow a bunch of Pi nodes to be visible but not active when used not on a Pi 2018-04-15 11:24:56 +01:00
cymplecy
ace67b0154 Neopixel node:Remove node.warn message and update README.md (#433) 2018-04-15 11:09:32 +01:00
cymplecy
0f55fc160e Add Gamma flag and Brightness control to node-red-node-pi-neopixel (#431) 2018-04-14 23:17:12 +01:00
Dave Conway-Jones
025f97206f
tidy some labels 2018-04-14 22:43:14 +01:00
borpin
99b83ea4bd io/emoncms - Modify HTTP Timeout (#430)
* Modify HTTP timeout

Increase the HTTP Timeout values from 1000 to 6000.
Modify error message.
2018-04-10 12:19:41 +01:00