fb7ba7c52b
iec60870: fix vectorize
2022-07-27 15:56:32 +02:00
56e8918196
Final code-style tweaks
2022-07-27 15:46:17 +02:00
Philipp Jungkamp
f54ad3c6fa
Remove superfluous empty line
2022-07-27 12:34:29 +00:00
Philipp Jungkamp
e82a8dde36
Update License headers
2022-07-27 11:31:35 +00:00
Philipp Jungkamp
6c117b812f
Fix switch-case statement code style
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
73b42d85ab
IEC104: Expose apci config options
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
d3f31e47f0
move member initializers from header to contructor
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
fe68debbe0
Allow to interpret duplicate IOAs a sequence
...
If `duplicate_ioa_is_sequence` is enabled in the `out` section of the
node config, a duplicate ioa will be increased. This only works for
subsequently defined signals with the same IOA.
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
9cbb96ddb5
treat missing ioa as increase of previous one
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
5be220a857
remove unnecessary braces on short if statements
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
2bea88043d
fix code formatting
...
Remove "this->" and add spaces behind commata.
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
7e10188c2d
Allow sending multiple ASDUs for a sample
...
ASDUs have a limited capacity, this creates multiple ASDUs if a single
one is not able to hold all sample values.
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
d97beaf2d1
Wait for all messages to be send when stopping
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
58a9ed94f6
Change server mode to single redundancy
...
Single redundancy implies a single queue of messages which buffers
messages until a client connects. In contrast to the previous multiple
redundancy group mode, this mode can only accept one client at a time.
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
90886dcc8f
Cleanup config parsing and pointer style
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
11b84bc2b9
Fix out of bounds vector access
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
3e787eeb85
Minor cleanup
...
- Move lambde `fill_asdu` to dedicated function SlaveNode::fillASDU.
- Remove "-slave" suffix from node name so it does not mess up logging
and help message.
- Expose queue sizes settings in config
2022-07-27 11:14:55 +00:00
Ubuntu
44203fa77c
node-iec60870: Satisfy cppcheck
...
Rename `SlaveNode::out` to `SlaveNode::output`, because base class
`Node` and derived class `SlaveNode` both defined a member `out`.
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
19be7d8f4f
minor fixes
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
8164ce7693
Remove wrong NodeFactory::Flags::SUPPORTS_READ from the iec60870 slave node
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
c635f112e3
some style improvements
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
54037c89e5
use correct constant for matching the qualifier of interrogation
...
the cause of transmission and qualifier of interrogation share the numeric meanings,
e.g the QOI for "station" equals the COT for "interrogated by station".
Thus the previous code was not wrong, but still confusing to the reader.
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
e9a12362d7
integrate with example flege-deployment
...
Features:
- respond with last value when interrogated
- log connection events
- allow IEC60870-5 TypeIDs in the config file (as "asdu_type_id")
Fixes:
- wrong handling of MeasuredValueNormalized
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
6dc75b8408
initial support for iec60870-5-104-slave node
...
This allows sending periodic signals using the new node.
The node does not yet support...
...proper logging of ASDUs.
...providing data on Global Interrogation.
...buffering setValue commands to read values which have been sent to slave.
...clockSync commands, what would the proper handling be?
2022-07-27 11:14:55 +00:00
Philipp Jungkamp
adb70138c8
start iec60870 node + sample to ASDU conversion
2022-07-27 11:14:55 +00:00
b94746effb
relicense VILLASnode to Apache 2.0
2022-07-04 18:23:57 +02:00
5feb82e7a3
openapi: add missing OpenAPI docs
2022-04-05 17:32:37 +02:00
d0da86ae3f
example: add missing files for example
2022-04-01 18:06:28 +02:00
17b83cb4e1
example: port example node-type to C++
2022-04-01 18:06:28 +02:00
79f930301f
api: fix cppcheck warnings
2022-03-29 21:30:53 +02:00
56fa561493
api: implement first version of universal data-exchange API
2022-03-28 18:06:47 +02:00
f09f91a9e2
fix cppcheck warnings
2022-03-28 16:26:41 +02:00
7d6a6ea265
mqtt: add OpenAPI docs
2022-03-28 11:10:49 +02:00
5cdce16d3f
remove empty lines and file beginnings
2022-03-15 09:29:20 -04:00
11a25f6fb7
update mail address
2022-03-15 09:29:20 -04:00
17ac92aa21
update copyright year
2022-03-15 09:28:57 -04:00
ae1b064b5a
remove broken support for Darwin/macOS
2022-03-14 19:37:29 -04:00
d72b19c2ec
go: fix cppcheck warnings
2022-03-14 17:31:11 -04:00
fd1996bf21
fix file headers
2022-03-14 16:34:12 -04:00
fa398a2cf7
go: finish Go node-type
2022-03-14 15:32:20 -04:00
c21d282d93
go: started working on WebRTC node
2022-03-07 08:37:14 -05:00
db67c468bc
go: add first version of Golang node-type support
2022-03-07 08:37:14 -05:00
98c21c3945
loopback: add missing call to Node::prepare()
2022-03-07 08:08:29 -05:00
b402048082
add support for plugin sub-registries
2022-03-04 03:47:46 -05:00
977b65ae2d
improve log output for signal lists
2022-02-24 08:02:20 -05:00
dfcafed20a
several fixes for new opal format
2022-02-24 08:02:19 -05:00
a9d1584180
websocket: improve handling of pending connections (opening/closing)
2022-01-11 09:19:54 -05:00
8cf6414295
redis: minor stylistic improvements and fixes
2022-01-11 09:19:54 -05:00
6c735f4b18
redis: fix timeouts
2022-01-11 09:19:54 -05:00
04f3a77ec0
mqtt: use threaded libmosquitto interface
2022-01-11 09:19:54 -05:00