-
Notifications
You must be signed in to change notification settings - Fork 99
Create new "Unmanaged" board for allowing external (Ethernet at first) boards #3065
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
Create new "Unmanaged" board for allowing external (Ethernet at first) boards #3065
Conversation
5f52998
to
c1c27b0
Compare
Can we move this after 1.4 release ? |
sure, no rush on this one |
c1c27b0
to
8e3eb60
Compare
9c3be8e
to
0e03d22
Compare
Reviewer's Guide by SourceryThis pull request introduces an 'Unmanaged' board option to the autopilot system, enabling the use of external boards, primarily connected via Ethernet. It includes changes to the frontend to allow configuration of the master endpoint for the unmanaged board, as well as backend changes to handle the new board type and manage its master endpoint. Sequence diagram for starting an Unmanaged boardsequenceDiagram
participant Frontend
participant AutopilotManager
participant BoardDetector
participant MavlinkManager
Frontend->>AutopilotManager: start_ardupilot()
AutopilotManager->>AutopilotManager: start_unmanaged_board(flight_controller)
AutopilotManager->>AutopilotManager: get_unmanaged_board_master_endpoint()
AutopilotManager->>MavlinkManager: start_mavlink_manager(master_endpoint)
MavlinkManager-->>AutopilotManager:
AutopilotManager-->>Frontend:
Updated class diagram for Platform and PlatformTypeclassDiagram
class Platform {
+Unmanaged
}
class PlatformType {
+Unmanaged
}
Platform -- PlatformType : has a
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
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.
Hey @Williangalvani - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider adding a Platform.Unmanaged case to the Platform.type property to avoid the need for a dictionary lookup.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
@Williangalvani Can connect my IP based autopilot now, thanks! |
I'm very keen to get this in so that users can easily connect to autopilots via ethernet |
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.
I think we would also need to change this to the following to avoid Unmanaged
being picked by default when not explicitly selected.
real_boards = [board for board in boards if board.type not in [PlatformType.SITL, PlatformType.Unmanaged]]
23a7e05
to
8255b78
Compare
9fbcafd
to
3b527fa
Compare
Co-authored-by: João Mário Lago <58235456+joaomariolago@users.noreply.github.com>
3b527fa
to
9992570
Compare
1aeb592
to
f1b6ed5
Compare
1.5.0-beta.3 is available |
Wow!! thanks so much!! |
This can be tested by switching to the Unmanaged board and launching sim_vehicle with an endpoint to blueos:
sim_vehicle.py -v ArduSub -L RATBeach --frame=vectored_6dof --out=udp:192.168.2.2:14550
Summary by Sourcery
Add support for an "Unmanaged" board type to allow external (Ethernet) boards to be connected and configured through the system
New Features:
Enhancements:
Chores: