-
Notifications
You must be signed in to change notification settings - Fork 26
[RSDK-7310] Update the board interface #231
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
[RSDK-7310] Update the board interface #231
Conversation
martha-johnston
left a comment
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.
as always, thanks for leaving such a detailed description, it was super helpful
acmorrow
left a comment
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.
Reviewing only build stuff here, I'll leave the actual SDK change to other reviewers, though since they are almost entirely removals it basically looks fine to me.
stuqdog
left a comment
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.
Generally looks good to me! It seems we're pulling in a lot of new code though, is it possible to filter some of that down?
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.
Take another look: the extra build dependencies are pruned down to just:
- app/mltraining/v1/ml_training.pb.* (dependency added in viamrobotics/api#470), and
- google/rpc/status.pb.* mentioned in ml_training.pb.*
I'm still unsure how this PR should interact with #230, to get the latest .proto files over here. Any advice?
|
Github's CI cannot build this because it requires a more recent version of the compiled .proto files from the api repo than what's currently in |
|
Okay, I've rebased and changed the target branch. Let's see how this looks... |
16e4193 to
ea086e0
Compare
|
Rebased to get rid of merge conflicts. If the CI checks pass, I'm going to merge this... |
This turned out to be two problems combined! 1) update the SDK to use a more recent version of the protobufs in the API repo, and then 2) remove the
StatusRPC from the boards. The PR isn't quite done: I'm unsure how this should interact with #230, which is where the compiled version of the updated protos is. but the rest I think is ready for a look.Updating the protobufs was harder than I expected: viamrobotics/api#470 (unrelated to boards) added a new type that had not been used previously, which meant that getting it to work required updating CMakeLists.txt to include the Google libraries for the new type.
Changes to boards:
get_statusdoesn't exist any more. You can get the standard status from a component the same way you would for a motor, but there isn't a special board-specific one any more.get_analog_namesandget_digital_interrupt_namescan't easily be implemented any more. They don't exist in the Flutter and TypeScript SDKs, and are hopefully being removed from the Go and Python SDKs soon (they have a purpose on the server side, but no obvious use on the client side, so probably shouldn't be in these SDKs). So, I removed them.get_analog_readersandget_digital_interrupts, as they're not present in the Go SDK and would be very hard to implement without the old status.Everything compiles against a recent version of the API repo, but not against the protobufs copied into this repo itself. How should that be accomplished?