Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

Document PX4 layers for 1.9.0 #727

Open
hamishwillee opened this issue Jan 31, 2019 · 0 comments
Open

Document PX4 layers for 1.9.0 #727

hamishwillee opened this issue Jan 31, 2019 · 0 comments

Comments

@hamishwillee
Copy link
Collaborator

hamishwillee commented Jan 31, 2019

Put under here: Concepts · PX4 Developer Guide

Discussion on this is here: PX4/PX4-Autopilot#11232 (comment) and PX4/PX4-Autopilot#11232 (comment)

Overview from Firmware 11232

As part of an ongoing effort to structure this project in well defined layers I'd like to consider renaming the top level platforms directory. This came up during the dev call yesterday to remove potential confusion with src/platforms and better establish what these layers are, or at least should be.

Next I'd like to establish src/platforms (renamed -> src/platform) as the "PX4 platform" layer.

Highlevel PX4 layers

  • PX4 Modules (src/modules)
    • uORB pub/sub and parameters
    • controllers, estimators, state machines, mavlink, etc
  • PX4 Drivers (src/drivers)
    • modules that access hardware
    • sensors, outputs, etc
    • platform agnostic drivers
  • PX4 Libraries (src/lib)
    • used by modules and drivers
    • have access to uORB, parameters, etc
    • non-px4 libraries also exist that aren't allowed to use anything in the px4 platform (px4_add_library vs add_library)
  • PX4 platform layer (src/platform)
    • uORB, parameters, hrt, work queue, task creation, px4 logging
    • defines everything in the PX4 platform layer, and implements all generic code. Depends on a significant amount of OS specific code (does it make sense for that to live under the top level os/)?
  • PX4 OS support layer (os/)
    • nuttx, posix (probably linux separately), qurt
    • contains non-px4 drivers
    • should not use anything in the PX4 platform layer (parameters, logging, hrt, etc).

The original intention was to relayer everything such that the OS specific layer could be cleanly extracted into a separate repository. An alternative would be merging the OS support layer with the platform layer.

@hamishwillee hamishwillee changed the title Document PX4 layers for 1.0.0 Document PX4 layers for 1.9.0 Jan 31, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant