Skip to content

Rewrite repo layout and add latency-driven auto-level flight stack#295

Draft
jgoppert wants to merge 6 commits into
mainfrom
cerebri2
Draft

Rewrite repo layout and add latency-driven auto-level flight stack#295
jgoppert wants to merge 6 commits into
mainfrom
cerebri2

Conversation

@jgoppert
Copy link
Copy Markdown
Member

@jgoppert jgoppert commented Mar 29, 2026

Summary

This is a significant rewrite that reorganizes the
repository around the rdd2/
platform and introduces the new latency-driven
flight-control stack.

For the migration it might be better to not merge these histories and keep the previous repo layout as a historical branch.

Migration of existing boards and platforms is not complete. There is no safety switch, be careful if you fly this, switch A is arming (all the way down to arm, middle/up disarm), switch b up is acro, switch B middle is auto level

The change imports generated estimator and PID
code, adds ACRO and AUTO_LEVEL
flight modes in the hot path, moves the project to
an rdd2-scoped platform
layout, and stages native-sim SITL around
FlatBuffer-based topics and
driver-layer simulation.

What changed

  • move the active vehicle/platform implementation
    under rdd2/ with its own
    CMakeLists.txt, Kconfig, README, spec/,
    and west.yml
  • add the new hot-path flight stack:
    attitude estimation, rate control, attitude
    control, flight modes, RC input,
    control I/O, motor output, and shell/debug
    support
  • import generated estimator and PID code under
    rdd2/src/generated
  • add native-sim SITL transport plus simulated
    IMU, RC, and DSHOT drivers
  • move DSHOT-related bindings and driver ownership
    under rdd2/
  • bump the FlatBuffer message/schema usage to
    carry flight-mode and attitude
    fields

Breaking changes / removals

  • remove the old top-level app-centric layout,
    including legacy app/*
    applications and the previous app/rdd2 path
  • remove the old shared top-level support layout
    such as lib/core,
    legacy tests, and outdated helper scripts that
    no longer fit the new
    structure
  • remove the root west.yml; the manifest now
    lives at rdd2/west.yml
  • narrow the repo around the rdd2 vehicle/
    platform path and its associated
    specifications

Review guidance

  • review this as a rewrite/migration, not an
    incremental refactor
  • start with rdd2/spec/ and rdd2/README.md for
    intended architecture and
    scope
  • then review rdd2/src/ for control-path
    behavior and rdd2/drivers/ plus
    rdd2/subsys/sitl/ for integration and
    simulation changes

Import the generated estimator and PID code from PR #294 under
rdd2/src/generated, add ACRO and AUTO_LEVEL flight control in the current
hot-path architecture, and move the repository to a CEP-0002-style platform
layout under rdd2/.

This also drops tracked generated build artifacts, moves the manifest to
rdd2/west.yml, and bumps synapse_msgs_fbs to the schema revision that carries
flight mode and attitude fields.

Co-authored-by: Alex Kmetko <akmetko04@gmail.com>
Co-authored-by: Pradyunn Kale <kalepradyunn@gmail.com>
Signed-off-by: James Goppert <james.goppert@gmail.com>
@jgoppert jgoppert marked this pull request as draft March 29, 2026 18:09
Signed-off-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: James Goppert <james.goppert@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant