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
refactor snet support #508
base: main
Are you sure you want to change the base?
Conversation
I am not sure why the tests are failing, as it seems, they are not related to the changes I made. |
I think the tests are failing because the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that the main change is the addition of a MailboxTelemetry
telemetry packet, as an alternative option to ADCSTelemetry
and EPSTelemetry
. This could be achieved without rewriting this much code, and at the moment I don't see a reason that justifies this rewrite. Can you clarify?
b0cd572
to
e26a62c
Compare
@daniestevez I think I addressed most of your comments and requests for changes, could you please give it a check again? This time, I added an Adapter for the |
MemData32 = MemData32Adapter(BitsInteger(256)) | ||
|
||
MailboxReceiveTelemetry = Struct( | ||
'SysTime' / BitsInteger(32), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why BitsInteger(32)
instead of something like Int32sb
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no strong reason why, I have being using Bits*
mostly, but Int32sb
works too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They are not interchangeable. BitsInteger
is supposed to operate on a bitwise context, while Int32sb
operates on bytes.
>>> Int32sb.build(2)
b'\x00\x00\x00\x02'
>>> BitsInteger(32).build(2)
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00'
28e30a8
to
0ad6cc1
Compare
By the way, can you share how you're testing this code? The fact that |
This fixes a typo in the SNET Deframer GRC block. The fix is extracted from #508.
As part of a university project, I got access to more information related to SNET satellites, this adds and introduces changes in telemetry to get closer to the specification of SNET.