Skip to content

Integrate Mahony attitude filter into Rev2 firmware - #307

Open
bjornhbengtsson wants to merge 2 commits into
feature/gravity-compensated-accelerationfrom
feature/mahony-attitude-integration
Open

Integrate Mahony attitude filter into Rev2 firmware#307
bjornhbengtsson wants to merge 2 commits into
feature/gravity-compensated-accelerationfrom
feature/mahony-attitude-integration

Conversation

@bjornhbengtsson

Copy link
Copy Markdown
Contributor

Description

Updates the Rev2 flight-computer firmware build configuration to include the Mahony attitude filter added in the mod repository.

Changes include:

  • Added mod/mahony/mahony.c to the Rev2 firmware source list
  • Added mod/mahony to the compiler include paths so mahony.h is available
  • Updated the mod submodule reference to include the Mahony implementation and sensor-state integration

Assisted by ChatGPT 5.6

Dependency

Depends on SunDevilRocketry/mod#142 (comment)

This PR is based on feature/gravity-compensated-acceleration so that it follows the same dependency order as the corresponding mod changes.

Testing

  • Rev2 firmware builds successfully with arm-none-eabi-gcc
  • mod/mahony/mahony.c compiles into build/mahony.o
  • Mahony object is included in the final firmware link
  • Generated appa.elf, appa.hex, and appa.bin
  • Working tree remains clean after the build

Other

Leave any additional notes here

Reviewer Checklist

Standards

  • Follows FCF Architectural Standards
  • Follows SDR Coding Standards
  • Code complexity/function Size is minimized
  • Code is testable
  • Code is readable and commented properly
  • License terms are respected

Accuracy

  • Code implements the correct requirement (a.k.a. does the right thing)
  • Code is logically correct (a.k.a. does the thing right)

Error Handling

  • Potentially unsafe functions return a status code
  • Error returns properly handled
  • Fail-fast errors are only thrown when unsafe to continue software execution
  • Debug errors are thrown for exceptions where execution should still continue (to be noticed during development)

Memory

  • Stack allocated memory is scoped correctly
  • Heap allocated memory is not used
  • Statically/Globally allocated memory is minimized except when necessary
  • Pointers are used correctly
  • Concurrent access has been considered (especially by/from interrupt service routines)

Performance

  • Rate limiters are respected
  • Busy waiting is avoided in performance sensitive code
  • "Delay" calls are not used in performance sensitive code
  • If performance is negatively impacted, a justification is provided and the impact is quantified

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