-
-
Notifications
You must be signed in to change notification settings - Fork 12
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
Final fixes for #70 (I think) #88
Conversation
Let me know if I missed any.
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.
3.7.5 (incl. 3.7.5.1) not updated.
Fun thing: 3.8.3.4 was updated in #70 correctly, and then it was un-updated again in #87. I'm not even sure what are we doing here. This is epic. Can you please update it again?
The examples in 4.2.3 require further updates. I propose we just drop them completely. Too much work.
I looked at them again and they actually seem valuable because they explain the frame composition. Here is what needs updating. Heartbeat
The above was obtained with the following command:
Hello world
The command for the above:
Node info requestThe node info request/response demo requires no modifications. For reference, it can be reproduced by running the PyUAVCAN demo application with Natural array
(0x5C == 92) The command for the above is:
|
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.
3.7.5[.1], 3.8.3.4 still need updating. Do you want to merge this one and update them later or do you prefer to do everything in this PR?
Also updating latex tooling to fix new requirements for port forwarding in the docker container.
What's left to do in 3.8.3.4? |
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.
Great.
3.7.5.1 is fixed (with one remaining issue) but 3.7.5 requires updating (the example in the blue box; although it can be simplified if desired).
3.8.3.4, as I wrote above, was accidentally changed twice. If you look at the boolean flags you will see that they need to be ordered the other way around because we changed the bit order; here's the correct order:
<...>
uint8 FLAG_COOLING_SYSTEM_B_ACTIVE = 1
uint8 FLAG_COOLING_SYSTEM_A_ACTIVE = 2
uint8 FLAG_PSU_MALFUNCTION = 32
<...>
<...>
bool flag_cooling_system_a_active # bit 0
bool flag_cooling_system_b_active # bit 1
bool flag_psu_malfunction # bit 2
<...>
You'll note that you've given B_ACTIVE = 1 and A_ACTIVE = 2 so the correct order would be
unless you didn't mean for B to be 1 and A to be 2? I found that choice curious myself but I suspected there was some reason I didn't get. |
You are right. The inverted order made sense before we switched the bit order because you will see that after we replaced the bit mask with separate bit fields the order is such that A comes before B. Now, with the little-endian bit order, it's best to swap them, although I wouldn't say that it's critically important. |
Let me know if I missed any.