-
Notifications
You must be signed in to change notification settings - Fork 3
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
Showcase of Components. #1
Conversation
Message Layer is still under development.
98543b3
to
3de8021
Compare
Very nice first step, thank you! It will take sometime until I can take a look through (I know you're not looking for a detailed review at this point). In the meantime I will try to get CI set up so that we can run some checks against this. |
I was not even looking for a rough review, just for a help, how an implementation might look like. Obviously I'm glad for feedback, when you look at the code (especially those general things like filenames and structure). |
Alles klar! |
In fact, yesterday I added tests according to the leco specifications (in the leco pr) and found a mistake (which is still in this PR). I reworked the Coordinator according to the specs (including tests) before creating this PR. |
I added an Actor (still called "Controller" in my implementation) and the Data Protocol Proxy Server and a Data Protocol Publisher. I consider this PR as a showcase of my current code and do not intend to merge this PR at all. For serious review processes (intended for merging), I will use individual PRs. |
Coordinator sign-in/out improved. Tests expanded. Heartbeat handling improved and tested.
Now the communication is done via jsonrpc messages. |
I think, effectively, you have become the primary dev of pyleco. I don't know when I would find the time to review a 7k lines beast of a PR meaningfully. @bklebel how about you? |
I agree. I would very much like to work together on this code, and contribute a significant part, but quite frankly, my responsibilities in our research group have changed a bit, so that I cannot implement pyleco in our lab right now and supplant the backend of CryostatGUI with it right now, even if I would much prefer to do so over some other responsibilities. However, only doing this would really enable me (right now) to contribute meaningfully, since then I would really have the time to look into it. I really like what you built here @bmoneke, so for now, also from my side, feel free to merge, and and I very much hope I can contribute more in the future. |
Ok. My idea is, to merge it in small parts. |
Okay, that sounds like a good way to proceed, I'm up for it. |
a97bb38
to
b25d420
Compare
Superseded by #10 due do branch name change. |
This is a showcase how some Components could be implemented (I use them in my lab). Merging will take place in smaller PRs.
This is a working version of Coordinator and some utils according to pymeasure/leco-protocol#38
As the message Layer is still under development, I used json with a list of commands, each command is again a list with a command type and optionally more information. For example a set command and an acknowledgement (I have a StrEnum for the command type):
I can also upload an Actor and more, but they are not as polished as the Coordinator (but they do their job in the lab).