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

63 Commits

Author SHA1 Message Date
Dave Conway-Jones
31b56e5740
tidy up serial error messages 2021-03-11 21:24:35 +00:00
Dave Conway-Jones
ae95fecc8f
add error objects to all node.errors so they can be caught.
to close #767
2021-03-11 19:36:37 +00:00
Nathanaël Lécaudé
55de84772c
Ensure serial node has a default reconnect time (#733) 2021-01-13 10:13:46 +00:00
Dave Conway-Jones
3aab556d4a
bump serialport package for ja translations 2020-11-01 23:16:24 +00:00
1ft-seabass
4136b0f30f
Updated io\serialport\locales\ja\25-serial.json (#713) 2020-11-01 23:14:02 +00:00
Dave Conway-Jones
53ad00f165
bump serialport dependency, add ja translation for baudrate message, fix linting, bump package 2020-08-27 13:00:10 +01:00
Orfait
53f32ec521
[serialport] Allow baudrate change at run time (#675)
* Added baudrate change in serialport

* Added baudrate change to "serial request" (not only "serial out")

* Added doc
2020-08-27 09:20:09 +01:00
Dave Conway-Jones
a84658661d
fix comment 2020-06-15 15:31:44 +01:00
Dave Conway-Jones
24bd20ab21
Fix not triggering on waitfor character 2020-06-13 20:35:14 +01:00
Dave Conway-Jones
c79bcfbd0e
bump serialport lib 2020-05-08 15:45:29 +01:00
Dave Conway-Jones
a57de3d8f2
Fix serialport to not try to log error and tell user instead
to close #637
2020-03-27 11:36:18 +00:00
Dave Conway-Jones
676ba58210
slight tidy to serialport PR and bump version
adds flags for fixing DSR, DTR, RTS, CTS
2019-12-04 15:06:40 +00:00
d-tamm
ae2d601b22 Add flow control switches to serialport (#579)
* Fix alignment of baud rate setting.

* Add flow control flags DTR and RTS.

* Add flags for flow control RTS and DTR.

* Add pin states for flow control flags

* Change pinstates to linestates

* Remove help text about DTR/RTS defaulting to low.

* Collect flow control setting into one single command.

* Add curly braces.

* Add more curly braces.

* Add CTS and DSR settings. Add default none option. Change settings layout for flow control.
2019-12-04 14:03:58 +00:00
Dave Conway-Jones
23f584268a
Fix serialport so can't report false addchar 2019-12-01 17:55:08 +00:00
Dave Conway-Jones
0bef668028
fix button class and serial.list promise 2019-11-13 18:43:43 +00:00
Dave Conway-Jones
3ed1e72481
Bump serialport node to latest serialport lib 2019-11-13 13:31:41 +00:00
Dave Conway-Jones
aa2965f000
move serialport to new netwrok category (for 1.0) 2019-09-30 09:46:48 +01:00
Dave Conway-Jones
a266d372b2
Serial port only report close error once 2019-09-09 23:05:10 +01:00
Dave Conway-Jones
1f0aa6908c
serialport addchar whenever needed - not only in char mode 2019-08-30 14:47:24 +01:00
Dave Conway-Jones
b0c8b0f2c6
fix serialport additional char in request mode 2019-08-30 13:02:21 +01:00
Dave Conway-Jones
e20cf97fce
A whole bunch of whitespace linting - no functional changes 2019-08-11 13:37:15 +01:00
Dave Conway-Jones
344d2bfdde
Fix serialport split on hex char
to close #541
2019-05-13 13:01:36 +01:00
Dave Conway-Jones
d40f433332
remove extraneous debug messages from serialport 2019-04-11 16:33:17 +01:00
Dave Conway-Jones
0b11d68c02
Let serialport wiatfor a char before starting output 2019-04-04 22:20:21 +01:00
Dave Conway-Jones
b91f61d56f
Add serialport request node to readme (docs only) 2019-03-06 17:45:45 +00:00
Dave Conway-Jones
602586ad82
Bump serialport to latest 0.7 2019-02-12 13:31:06 +00:00
Dave Conway-Jones
73a7b2bc41
bump serialport version 2018-08-11 14:06:25 +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
76a221919a
Update Readme to remove NMA node
and add 2018 to serialport copyright
2018-06-13 22:13: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
dca9dfccc1
bump serial port and arduino nodes 2018-05-09 22:04:29 +01:00
Dave Conway-Jones
0253f67882
Add msg.port to serial port input node 2018-03-01 18:21:22 +00:00
Dave Conway-Jones
127fb6ac0c
clarify serial port timeout doc info 2018-02-19 19:21:52 +00:00
Dave Conway-Jones
17886b7296
don't add time value to output when not asked for
to Close #399
2018-01-28 17:00:48 +00:00
Dave Conway-Jones
51124f456d
bump serial package 2017-12-18 18:32:51 +00:00
1ft-seabass
98dd2b858f Update 25-serial.json (#381)
For serial.label.serial , I adapted the name to the current jp translate rule.
2017-12-18 18:31:50 +00:00
Dave Conway-Jones
8c0c7ee272
bump serial port package 2017-11-23 20:58:56 +00:00
1ft-seabass
d11e8d5b15 Update ja 25-serial.json (#377)
* Add English messages of serialport node
2017-11-23 21:58:10 +01:00
Dave Conway-Jones
388ad11b72
Upgrade to latest underlying npm to support node8.x LTS 2017-11-04 17:12:48 +00:00
Dave Conway-Jones
f6e71bf962
"revert" serial port and base64 nodes forwards....
undo buffer syntax updates
2017-06-30 19:52:20 +01:00
Dave Conway-Jones
6c3c16f210
update "core" extra nodes to use newer Buffer syntax 2017-06-24 13:53:22 +01:00
Dave Conway-Jones
316a2fd272 Re-lint a load of nodes 2017-01-29 17:45:44 +00:00
Dave Conway-Jones
dcd2ede2c4 bump serial port package 2017-01-09 20:53:43 +00:00
Dave Conway-Jones
a7247e898a Update licenses and packages for all nodes 2016-11-06 20:26:19 +00:00
Dave Conway-Jones
36e834fdf1 bump serial port to 4.0.3 library 2016-10-13 14:12:08 +01:00
Dave Conway-Jones
0321bf8150 add a v0.3 serial port to help with node5/6 2016-05-26 19:41:47 +01:00
Dave Conway-Jones
49b9277c26 Bump underlying serial port nam version 2016-04-14 09:17:40 +01:00
Dave Conway-Jones
68bd4cc036 Add "other" baud rates to serialport
to Close #194
Uses typed widget so needs NR 0.13.4.
2016-04-01 08:55:58 +01:00
Dave Conway-Jones
eff8327971 Info/Doc style updates to core/pi nodes 2016-03-02 13:27:52 +00:00
Dave Conway-Jones
dd250a77bc core to Pi node-red-nodes info updates
to be more consistent style
2016-02-12 13:14:12 +00:00