1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00
Commit graph

1136 commits

Author SHA1 Message Date
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
c6fe0201da websocket: use std::list for connections 2022-01-11 09:19:54 -05:00
7d6a1031eb websocket: add websocket_init() 2022-01-11 09:19:54 -05:00
c170ac096f websocket: add new option to wait until all client connections are established 2022-01-11 09:19:54 -05:00