This repository has been archived by the owner on Mar 17, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 479
UPstreaming a new port #654
Merged
Merged
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
7d287f9
Add section on accepting boards
hamishwillee 9aad894
Update text to be more friendly
hamishwillee c19081f
Fixes due to feedback from Ramon
hamishwillee 2e5be0f
Add link to support forums
hamishwillee 846a6f9
Update board acceptance following feedback
hamishwillee File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -80,3 +80,32 @@ It is generally recommended to connect RC via separate RX and TX pins to the mic | |
If however RX and TX are connected together, the UART has to be put into singlewire mode to prevent any contention. | ||
This is done via board config and manifest files. | ||
One example is [px4fmu-v5](https://github.com/PX4/Firmware/blob/master/src/drivers/boards/px4fmu-v5/manifest.c). | ||
|
||
|
||
## Accepting a Board into PX4 Codelines | ||
|
||
Manufacturers may wish to contribute board ports to the PX4 project codeline in order more closely align with the project. | ||
hamishwillee marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
We encourage board manufacturers to aim for full compatibility with the [FMU spec](https://pixhawk.org/). | ||
With full compatibility you benefit from the ongoing day-to-day development of PX4, but have none of the maintenance costs that come from supporting deviations from the specification. | ||
|
||
> **Tip** Manufacturers should carefully consider the cost of maintenance before deviating from the specification | ||
(the cost to the manufacturer is proportional to the level of divergence). | ||
|
||
It's also important to note that the PX4 dev team has a responsibility to release safe software, and as such we require any board manufacturer to commit any resources necessary to keep their port up-to-date, and in a working state. | ||
|
||
We welcome any individual or company that is willing to follow our [Code of Conduct](../contribute/README.md#code-of-conduct) and work with the Dev Team to provide a safe and fulfilling PX4 experience to their customers. | ||
|
||
Every officially supported board benefits from: | ||
* Your port available in the PX4 repository | ||
* Automatic firmware builds that are accessible from *QGroundControl* | ||
* Compatibility with the rest of the ecosystem | ||
* Automated checks via CI - safety remains paramount to this community. | ||
* [Flight testing](../test_and_ci/test_flights.md) | ||
|
||
In summary, if you want to have your board officially supported in PX4: | ||
* Your hardware must be available in the market (i.e. it can be purchased by any developer without restriction). | ||
* Hardware must be made available to the PX4 Dev Team so that they can validate the port (contact [[email protected]](mailto:[email protected]) for guidance on where to ship hardware for testing). | ||
* The board must pass full [test suite](../test_and_ci/README.md) and [flight testing](../test_and_ci/test_flights.md). | ||
|
||
**The PX4 project reserves the right to refuse acceptance of new ports (or remove current ports) for failure to meet the requirements set by the project.** |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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'm not sure about the word "Codelines", I've been thinking about this and I think we should call it "Officially supported hardware", "How to get your port officially supported", where "official support" means:
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.
OK, how about (reorganised):
Officially Supported Hardware
The PX4 project supports and maintains the FMU standard reference hardware and any boards that are compatible with the standard.
This includes the Pixhawk-series (see the user guide for a full list of officially supported hardware).
Every officially supported board benefits from:
We encourage board manufacturers to aim for full compatibility with the FMU spec.
With full compatibility you benefit from the ongoing day-to-day development of PX4, but have none of the maintenance costs that come from supporting deviations from the specification.
We welcome any individual or company to submit their port for inclusion in our supported hardware, provided they are willing to follow our Code of Conduct and work with the Dev Team to provide a safe and fulfilling PX4 experience to their customers.
It's also important to note that the PX4 dev team has a responsibility to release safe software, and as such we require any board manufacturer to commit any resources necessary to keep their port up-to-date, and in a working state.
If you want to have your board officially supported in PX4:
The PX4 project reserves the right to refuse acceptance of new ports (or remove current ports) for failure to meet the requirements set by the project.
You can reach out to the core developer team and community on the official Forums and Chat.
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.
@hamishwillee
I do not know how to parse this sentence.
"Port: is an overloaded term in CS. The act of porting PX4 to new hardware is a "PX4 Port" to XYZ HW or a Port of PX4 to XYZ hardware.
Typically a Board Support Packages (BSP) is created to facilitate porting. PX4 does not use that term, but in essence that is what it is.
Is this what you are saying: Board Support source code available in the PX4 repository ?
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.
@davids5 Actually that was Ramon's text, but I interpret it as "PX4 Port available in the PX4 repository" and have changed appropriately above.
Is it otherwise OK?
@mrpollo And is it OK for you. If so I can merge this into the PR and merge the PR. (Ie what else to happen?)
Note that some of this might need to be moved around/reused in future. The reason being that if we explain base porting in the context of the different types of porting you might want to do (ie what lets you remain compatible) then we may need to explain the benefits of compatibility earlier. We will see.
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.
lets merge his 👍