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

Add (client only) support for rda3 #348

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from
Draft

Add (client only) support for rda3 #348

wants to merge 12 commits into from

Conversation

wirew0rm
Copy link
Member

@wirew0rm wirew0rm commented Jul 5, 2024

This adds support for RDA3, the protocol used by CMW/FESA based devices.

  • Fixes some quirks in the cmwlight serialiser that are needed to serialize the control messages:
    • support for maps
    • deserialise empty objects/maps
    • some minor bugs
    • add unittests with real world data to prevent regressions
  • Adds a lightweight zeromq STREAM based nameserver client to resolve rda3 device names
  • Add a cmwlight client implementation

There are still some open points, for now only get requests are handled completely, subscriptions generally work but need a bit more state-tracking to be reliable

  • finish the state machine
  • replace some fixed strings with the actual data (e.g. client information)
  • integrate the name server into the client.
  • general code cleanup

wirew0rm and others added 8 commits July 8, 2024 23:03
Implemented using the ZMQ NATIVE pattern s.t. it can use the same
pollers and zmq context as the client itself.

Signed-off-by: Alexander Krimm <[email protected]>
Signed-off-by: Alexander Krimm <[email protected]>
Support for nested Datastructures was not implemented correctly before
because only serialise + deserialise was checked but not the actual
serialised output.

Signed-off-by: Alexander Krimm <[email protected]>
Also allows fieldnames with starting with a numeric value by prefixing
them with ' x_'.

Signed-off-by: Alexander Krimm <[email protected]>
Signed-off-by: Alexander Krimm <[email protected]>
Signed-off-by: Alexander Krimm <[email protected]>
Signed-off-by: Alexander Krimm <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants